Mac Security Camera Viewer Software for iDVR-PRO CCTV DVRs

The new IDVR Pro video surveillance DVRs areMac compatible. Macintosh users can log in to view their security cameras remotely viaweb browser or via the Mac DVR viewer software. In this video, I'll demonstrate the live remotecamera viewing capability from a Mac using the DVR viewer software that is included. First thing I'm going to …

UW Bothell Master of Science in Cyber Security Engineering

[Michael]Cyber security is a part of our critical infrastructure.

It permeates everything, even if we’re notaware of it.

[Geethapriya]There is such a huge demand for cyber security professionals all over the country and allover the world.

There are all these critical infrastructures that's identified by the government,and every infrastructure – health care sector, industrial sector, banking sector, every energypower grid – every sector needs security professionals.

[Michael]This program fills a critical need in our nation for cyber security professionals, andI think that we’ve developed a curriculum here that is unique for the Pacific Northwestand quite likely for the entire West coast.

[Geethapriya]The curriculum here at UW Bothell in Cyber Security Engineering focuses on three differentthings: protection, detection and correction.

[Brent]The curriculum is really designed to cover a large number of aspects of cyber security.

There's elements of public policy and legal aspects that we cover.

There's a very strongtechnical component where we talk about, you know, how, we talk about network security,cryptography – all the really hard technical sides of it.

[Geethapriya]So the program here, Cyber Security Engineering, has a significant focus on what we call asecure development life cycle, so, or what's called as SDL, so which means from the timeyou start a product, whatever it is – software or any kind of development – from its initiationphase to the termination phase, there is security addressed at every step of it.

[Michael]Our master’s degree culminates in a capstone experience where students will be developing,going through the entire secure development life cycle and developing a real project.

And that project may be something that coordinates with faculty research or it may be somethingthat is a real project brought from industry for them to work on.

[Brent]And so, one of the advantages of doing this is you're putting something on your resumeor your CV that nobody else is going to have.

[Michael]UW Bothell CSS has a set of faculty who are at the forefront of the computing profession.

We have faculty who are from research labs, government labs, industry, who have been steepedin academia for a long period of time and are doing cutting-edge research in a widerange of fields –– including a wide range of fields that hinge on cyber security.

Alongwith our colleagues at the Seattle and Tacoma campuses, we’re working to develop the Universityof Washington to be the premier center for cyber security education in the American West.

Source: Youtube

Introducing Kaspersky Security for Mobile – 2014 – Mobile Device Management (MDM) Software

Transcript | Introducing Kaspersky Securityfor Mobile >>Introduction: Thank you for watching Kaspersky Lab’s video on Security for Mobile >>Text: Introducing Kaspersky Security for Mobile >>Tom Fitzpatrick: Mobile devices have transformedthe way we work and live.

>>Tom Fitzpatrick: And the average personnow uses three or more devices when they're out and about! >>Tom Fitzpatrick: Unfortunately, though,they have also extended the necessary security perimeter beyond your office and out intothe airport lounges and coffee shops of the world.

>>Tom Fitzpatrick: This, along with the BringYour Own Device trend, is creating new and complex security challenges for administratorslike you.

>>Tom Fitzpatrick: Case in point how manyof your employees consider your security polices when they're choosing a mobile devices? >>Tom Fitzpatrick: Probably not many! >>Tom Fitzpatrick: When employees are using mobile devices the business of course sees increased productivity, cost-efficiency andflexibility.

>>Tom Fitzpatrick: But you see something else another attack vector another opportunity for data loss and another bunch of devicesto manage.

>>Tom Fitzpatrick: Suddenly BYOD and mobility has become your problem.

>>Tom Fitzpatrick: Kaspersky Security forMobile combines a mobile security agent with mobile device management capabilities.

>>Tom Fitzpatrick: It gives you increasedvisibility and deeper security for mobile endpoints without the complexity of separate solutions.

>>Tom Fitzpatrick: The key features include support for both tablets and smartphones MDM for the administrator including over the airprovisioning and agent-based mobile security for the device.

>>Text: Mobile device management (MDM) >>Tom Fitzpatrick: MDM allows administrators to securely configure and deploy smartphones and tablets in a similar way to PCs, laptopsand other IT assets.

>>Tom Fitzpatrick: You can extend your wired security strategy and policies to your mobile devices, where ever they happen to be.

>>Tom Fitzpatrick: As the administrator, using our integrated console you can automate management and control tasks such as device configuration software updates and backup and restore.

>>Tom Fitzpatrick: You can define policiesin a granular, flexible way, right down to the device itself.

>>Tom Fitzpatrick: For example, jailbrokenor otherwise compromised devices can be blocked from your network, remotely locked, or even wiped.

>>Tom Fitzpatrick: You'll also receive a notification whenever one of these devices tries to connect, so you can track down rogue devices.

>>Tom Fitzpatrick: And with over the air provisioning, you can configure and control devices remotely, simply by sending a text message or an email.

>>Tom Fitzpatrick: From there, users are directed to a captive portal where your applications and your preconfigured settings are downloaded.

>>Tom Fitzpatrick: This means you don't have to physically handle the device to provision and control it.

>>Text: BYOD made easy >>Tom Fitzpatrick: Because mobility and BYOD can create a gaping hole in your security posture, you should apply tough restrictions on all devices including those that are employee owned.

>>Tom Fitzpatrick: One such technology that you should plan on implementing is Containerization.

>>Tom Fitzpatrick: It's a simple solutionthat completely separates personal and business content on a device.

>>Tom Fitzpatrick: If the phone gets lost,the administrator can enable a remote lock or delete the business content.

>>Tom Fitzpatrick: This is important if theemployee leaves the company and wishes to take their own device with them.

>>Tom Fitzpatrick: For additional security,Kaspersky makes it easy to enable the encryption of sensitive data within the container, which reduces the impact of a lost or stolen device.

>>Text: Kaspersky Lab's Mobile Device Managementand Mobile security >>Tom Fitzpatrick: Because MDM is a managed component of the Kaspersky Security Center, you won't need additional training to beginsecuring your mobile deployments.

>>Tom Fitzpatrick: And because our award-winning anti-malware technology sits at the core you can rest assured that your devices are protected from an ever-growing number of mobile threats.

>>Tom Fitzpatrick: There are plenty of otherfeatures that Kaspersky Security for Mobile enables, such as GPS find, forced passwords, and SIM watch, which will notify you if a SIM card has been changed.

>>Tom Fitzpatrick: By simplifying and automating the secure configuration of multiple devices you're not only reduce your administrativeburden, but you're also supporting better mobile security practices.

>>Text: Kaspersky >>Text: Get started now: Free 30 Day Trial>>Text: Register at kas.

Pr/business-trial >>Text: Join the conversation #securebiz.

Source: Youtube

Networking Security Intro – Georgia Tech – Software Defined Networking

To see how see how a DNS cache poisoning attack works, consider a network where a stub resolver issues a query to its recursive resolver, and the recursive resolver in turn sends that A record query to the start of authority for that domain.

Now, in an ideal world, the authoritative name server for that domain Would reply with the correct IP address.

If an attacker guesses that a recursive resolver might eventually need to issue a query for say, www.



The attacker can simply reply with multiple, specially crafted.

Replies each with different id's.

Although this query has some query id, the attacker doesn't need to see that query because the attacker can simply flood the recursive resolver with a bunch of bogus replies and one of them, in this case the response with id3 will match.

As long as this bogus response reaches the recursive resolver before the legitimate response does, the recursive resolver will accept this bogus message.

And worse, it caches the bogus message.

And DNS, unfortunately, has no way to expunge.

A message once it has been cached.

So now this reclusive resolver will continue to send bogus A record responses for any query for this particular domain name until that entry expires from the cache.

Now there's several defenses against DNS cache poisoning, and we've already seen one, which is the query ID.

But of course, the query ID can be guessed.

The next defense is to randomize the ID so rather than having a resolver, end queries where the ID's increment in sequence, the resolver can pick a random ID.

This makes the ID tougher to guess, but still, the query ID is only 16 bits, which still makes it possible for an attacker to flood the recursive resolver with many possible responses.

And, it's likely that, with relatively few responses, One of these bogus responses will match the ID for the real query.

Due to the birthday paradox, the success probability for achieving a collision between the query ID of the query ,and of the response actually only requires sending hundreds of replies, not a complete 32,000.

Due to the birthday paradox, The probability that such an attack will succeed, using only a few hundreds of replies, is relatively close to one.

The attacker does not need to send replies with all two to the 16th possible IDs.

The success of a DNS cache poisoning attack not only depends on the ability to reply to a query with a correct matching ID, but it also depends on winning this race.

That is, the attacker must reply to that query before the legitimate authoritative name server replies.

If the bad guy, or the attacker, loses the race, then the attacker has to wait for that correct cached entry to expire, before trying again, however the attacker can generate his own DNS query.

For example, he could query one.


Com, two.


Com and so forth.

Each one of these bogus queries will generate a new race.

And eventually the attacker will win one of these races for an A record query.

But who cares? Nobody necessarily cares to own one.


Com, or google.


The attacker really wants to own the entire zone.

Well the trick here is that instead of just simply responding with A records in the bogus replies.

The attacker can also respond with NS records for the entire zone of google.


So by creating one of these races, using an A record query, and then responding not only with the A record response, but also with the authoritative of the NS record,for the entire zone.

The attacker can in fact own the entire zone.

This idea of generating extreme of A record queries to generate a bunch of races and then stuffing the A record responses for each of these with a bogus authoritative NS record for the entire zone.

Is what's called the Kaminsky Attack, after Dan Kaminsky, who discovered the attack.

The defenses of picking a query ID and randomizing the ID, help, but remember the randomization is only 16 bits, so let's think about other possible defenses.

Source: Youtube

Need for Network Security – Georgia Tech – Software Defined Networking

In addition to having query ID and randomization of that ID, the resolver can randomize the source port on which it sends the query, thereby adding an additional 16 bits of entropy to the ID that's associated with the query.

Unfortunately, picking a random source port can be resource intensive and also a network address translator or a NAT, could derandomize the port.

Another defense is called the 0x20 or the zero x20 encoding, which is based on the intuition that DNS matching and resolution is entirely case insensitive.

So capitalization of individual letters in the domain name do not affect the answer that the resolver will return.

This 0x20 bit, or the bit that affects whether a particular character is capitalized or in lower case can also be used to introduce additional entropy.

When generating a response to a query such as this one, the query is copied from the DNS query into the response exactly as it was in the query.

The mixed pattern of upper and lower case letters thus constitutes a channel.

If the resolver and the authoritative server can agree on a shared key, then the resolver and the authoritative are the only ones who know the appropriate pattern of upper and lower case letters for a particular domain name.

Because no attacker would know the appropriate combination of upper and lower case letters for a particular domain.

It becomes even more difficult for the attacker to inject a bogus reply, because not only would the attacker have to guess the ID, but the attacker would also have to guess the capitalization sequence for any particular domain name.

Source: Youtube

Routing Security – Georgia Tech – Software Defined Networking

The first worm was designed by Robert Morris, Jr.

in 1988.

The worm itself had no malicious payload but, it ended up bogging down the machines that it infected by spawning new processes uncontrollably and exhausting resources.

And at the time it was released, it affect ten percent of all Internet hosts.

It spread, through three different propagation vectors.

The worm tried to crack passwords ,using a small dictionary and a publicly readable password file and also targeted hosts.

That were already listed in a trusted host file, on the machine that was already infected.

This ability to perform remote execution was one way, that the worm was allowed to spread.

The second way that it spread ,was in a buffer overflow vulnerability, In the finger demon.

This was a standard buffer overflow exploid.

And ,if you don't know about buffer overflows, I would urge you to take a computer security coarse.

But essentially, this is a very common attack that makes remote exploits possible, effectively resulting in the ability to run arbitrary code.

At the root level privilege.

The third way that worm spread, was via the debug command in send mail, which is a mail sending service.

In early send mail versions, it was possible to execute a command on a remote machine by sending an SMTP message.

The worm used this, capability to spread automatically.

A key theme that we'll see In the design of other worms, is this use of multiple vectors.

Now any particular worm, may end up using, a different set of vectors depending on the remote vulnerabilities that it's trying to exploit.

But the idea that any worm should be able to exploit multiple weaknesses in a system gives it more ways to spread.

And often also speeds up the propagation of the worm.

This worm design also followed the following general approach, which we see showing up over and over again in worm designs.

First, the worm needs to scan other hosts to find potentially vulnerable hosts.

In the second step, it needs to spread.

By infecting, other vulnerable hosts.

And in the third step, it needs to remain undiscoverable and undiscovered so that it can continue to operate and spread without being removed from systems.

Source: Youtube

DNS Security Quiz Answer – Georgia Tech – Software Defined Networking

Let's talk about how to infer denial of service activity using a technique called backscatter.

The idea behind backscatter is that when an attacker spoofs a source IP address, say on a TCP SYN flood attack, that the replies to that initial TCP SYN from the victim will go to the location of the source IP address.

This replies to forged attack messages are called" backscatter".

Now the interesting thing about backscatter is that if we can assume that the source IP addresses are selected by the attacker at random, and we could set up a portion of the network where we could monitor this back scatter traffic, coming back as SYN-ACK replies to forged source IP addresses.

If we assume that these source IP addresses are picked uniformly at random, then the amount of traffic that we see as back scatter.

Represents exactly a fraction that's proportional to the size of the overall attack.

So for example, if we monitor N IP addresses and we see M attack packets, then we expect to see here N over two to the 32 of the total back scatter packets and hence of the total attack rate.

If we want to compute the total attack rate, we simply invert this fraction.

So for example, in this case, if our telescope were a slash eight, or two to the 24th IP addresses, we would simply multiply our observed attack rate x by two to the 32 divided by two to the 24 or 255.

Source: Youtube

IST451 Software Security and Trusted Systems

This presentation is on chapter ten in thebook, on software security and trusted systems.

The book begins by defining a buffer overflow.

A buffer overflow is a process that stores data in a buffer outside the memory the programmeraside for it.

If you guys have any experience with programming with C++, Java, or whatever,the case may be you guys are already familiar with the buffers, just this memory is beingallocated.

So a buffer overflow is where you are putting data in that buffer but it isactually outside of the memory that the programmers set aside for.

When this happens extra datawill then overwrite the adjacent memory which then can result in erratic program behavior.

A traditional way to understand this is computer security and programming, when a buffer overflowis overrun, it's an anomaly where it processes stored data and the buffer outside the storedmemory the programmer set aside for, the extra data, because it is being overwritten, theexcess data is now overwriting adjacent memory, which may contain other data including programvariables and program full control data.

Consequently as I have already explained this can resultin erratic program behavior including memory access errors, incorrect errors, or results,program termination, like a crash, or a breach of system security.

This is what we are goingto focus on, this is one way hackers get into a system, by using the buffer overflow.

Sothe very easy way to understand this is understanding that a buffer overflow is a condition in aprogram, written by a function that attempts to copy more data into the buffer then itcan hold.

So I think that is a pretty good, so hopefully I've explained what a bufferover flow is well, it is really difficult to get through this chapter without fullyunderstanding this first concept.

So I want to show you how this works in code.

So againif you guys already have a background in coding this will make a lot of sense to you guys.

So on the left hand side you see me code, this is just traditional C code, I have abuffer that is set to the size of 90 bytes, and I am going to print that buffer so theway this works if this is executed it is going to prompt the user to type something, andthen it is going to allocate a buffer to temporarily hold that user input, the user will then typein some data, the program copies user input to the buffer, and then the program will readand print the data in the buffer to the screen.

So this seems rather smooth, no issues here,if the user stays within that allocated space of 90 bytes, but what if the user enters datathat is more then 90 bytes? Well what is going to happen is the program can crash the erroror worse, and this is what buffer overflow is.

So this diagram shows you how this works,it is really important to understand where the input space is and what I am calling theoutput space is, this is where the program communicates to the user, and this is howa hacker can exploit your system.

So at the top is the input space, this is where youallocate the space for your buffer, then at the bottom in the red is your return address,this is when a function of procedures call, in the system it will say data, here.

So whena function ends, it is going to read the return address and let the program return to whereit left off, and depending upon how it operates, depending upon the program it can't show thedata results to the user.

Alright so lets say I have "hello," and I am the user andI put "hello" into the system as you guys can see, it is all good because of the factthat I have more allocated space then the space required for this string "hello.

" Nowin this particular case I put in the stream that exceeds my buffer, and as you can seeI have stuff being held red, and in this output space, the bottom, the local stack is beingoverwritten and the saved frame pointer, and most importantly the return address.

So nowwhat is going to happen when it returns, or when the return address is completed or itis off the stack, it jumps to that address and it starts executing instruction from thereturn address.

So what the attack, what he or she is doing is they have overwritten thereturn address with a pointer to the stack buffer which now contains attacker supplydata.

In an actual stack buffer overflow exploit the string is not having a's it would be shellcode, and we will talk about shell code shortly.

So the shell code that is suitable to theplatform and the desired function.

So if this program has special privileges like if theuser was a super user then the attacker can use this vulnerability to regain super userprivileges on the affected machine.

The attack can also modify internal variable values todisplace some bugs.

SO let me just walk you guys through this so this is clear.

If thea's just represent a's and it was nothing significant then it would still be a problembut your system hasn't been hacked.

Those a's are actually code and it exceeds the allocatedspace so the return address is pointing back to those instructions.

This is how this shellcode is executed by your program.

So shell code is malicious code, it spawns a shellor command prompt in a system, I'm pretty sure you guys all know what a shell code commandprompt is.

This is how hacker's interface into the system.

So it is really importantthat your security policies must prevent overflows to avoid execution of shell code for hackers.

This is the first part of software security, and in my opinion it probably should be it'sown separate course offering because this is very evolved and it is very important.

I want to just hit some of the high notes here, as we continue to get through this semester.

Though now it is important for us, now that we know what a buffer overflow is and howhackers use it to enter your system the question is, well how do we defend against those bufferoverflows? The first way is through compile-time defenses and the second was is run-time defenses.

There are several options with compile-time defense, again if you guys know what programmingis then you know what a compiler is and what compile time, and the difference between runtime or execution time.

So if you want to look at a compile-time to prevent buffer overflowsthe first thing you have to consider the programming languages.

You want to have your variabletype with strong notions.

You also want your compilers enforce range checks automaticallyon all of your variables.

Now of course with this cost there are draw backs to this method.

It results in longer compile times, requires more resources, it also results in longerrun times, your code is further abstracted while doing this.

So again it is an effectivetechnique.

To ward of from having you software exploited, but at the same time the exploitswould be longer compile times then the run times.

The other option is to practice safecoding techniques.

Now this is easier said then done of course but there are a lot of,today most organizations have software development and software engineering practices, and ina lot of cases, I know that when I was in the industry, not all the jobs I had, at leastsome of the programming jobs I had we would program in dyads, so there would be two people.

Usually one person is coding the specs, so this dyad team is given a project and theyare supposed to code up something, and the specks define how the code operates.

One personis going to handle that while the other person is writing air checks and air codes to makesure that the code operates as it should.

Then what we would do after that, once everythingit was good to go we had to submit it to our project manager, and he would run his ownset of tests, his own battery tests to make sure things look good.

He would actually reviewthe code as well, we had documentation procedures.

So it was a very involved process, much differentthen your old school programmer who just sits at a computer in his house and just codesaway.

Now a days most organizations rely on some type of team work when it comes to coding.

But then again still easier said then done because you sacrifice a lot of time in doingthis.

Another technique is using operating systems that are very safe, the one I mentionedhere is the UNIX-like OS, it is considered to be the safest operating system availableonly one remote hole discovered in eight years, 2006, that is pretty safe.

Another policyis, you don't want code for success, you want to always code for ways that things go wrong.

Again this isn't a class where to teach you how to code or how to code properly, hopefullyif you guys are programmers or have programming experience you guys already know some techniques,so I don't want to spend too much time on it now.

I do have some background in the software,one of my first jobs as a programmer and this is way back in the late 90's I was given anassignment to add some code to some of these projects, and this was C code, and every Cfile already had the error messages and the error handling already completed.

So theyalready took care of that first.

Now of course I don't know if that technique makes me practiceas much as it probably should, if you guys are leaders of your own organization I woulddefinitely try to encourage that, because that really helps steer the project in theright way and helps to avoid bugs.

Another technique is graceful failures you alwaysdo something sensible when the unexpected occurs, and never assume the user will dothe right or the expected thing.

I thin if you guys have any background in coding youguys definitely understand that last thing.

The user will always find a way to essentiallyscrew up your code.

So it is always best to make sure that you expect that and you developyou code.

Compile-Time Defenses use language extensions and use of safe libraries.

In doingthis you can actually have range checks to determine the size of the buffer, howeverthe drawback with this is it can not be done for dynamic buffers.

So you can also use librarieswith safer versions.

If you have legacy systems this is going to be a little more difficultand maybe in some cases impossible or at least feasible.

Because old libraries can be problematic,you don't really is depended upon in order for it to function properly so you have tobe very careful with that.

You can always make new libraries but then you are goingto have to rewrite your source code, or scan it, that's very time consuming and you don'treally need all the unintended consequences.

Another solution is to create patches usingdynamic libraries and this is what you see a lot nowadays it doesn't require recompile.

Now we go to run-time defenses.

Most of the compile-time defenses require, other thenthe last one we talked about you to recompile your code.

Now run-time defenses are deployableas an OS update, so any time you guys have to update Windows or Linux, and I am not thatfamiliar with MAC's but I am pretty sure they have the update for that.

Anytime you updatethe OS you are using run-time defenses.

There are several options with this.

So one wayis called executable address space protection, this is where you block the processing theexecutable code on the stack.

So you are going to block the j.



compilers, the C nestedfunctions, Linux signal handlers which would all require special provisions of that nature.

Another run-time defense is address space randomization this is where your address spaceis randomized, so your buffer, your return space is randomized, and because you are doingit, it forces the attacker to guess the location of the buffer in memory, which is really difficultto do.

The next this is guard pages, so this is putting in unwriteable memory between elementsof the stack frame.

So this completes the presentation for chapter ten, again thesetechniques are all available and again in a different course offering you we go intomore detail about what that looks like.

The purpose of this is to just understand whatoptions you guys have to defend against buffer overflows.

Source: Youtube

Why Use Open Source Software? | Security | Zimbra

Really, Commercial Open Source software isabout transparency at the end of the day.

That transparency improves the quality ofthe software which actually ends up improving the security.

This is good because developers,businesses, IT users can actually go in and look at the code, make sure there's nothingin there they don't want to pay for, make sure there aren't any skeleton keys or backdoors as they usually call.

And make sure that patches or upgrades thatare supposed to fix the problem actually fix the problem.

To compare community driven opensource with a commercial open source with community, it's just a development community,they may or may not be wanting to invest time and what you're wanting because you've customfit something to your solutions or your infrastructure.

And with a commercial vendor behind this youactually get the benefit of their value add, their support, and their products to ensurethat the software is ready for market.

We actually did a survey with the Ponemon Institute and one of the things we found was that over half of the IT professionals thatresponded, thought that commercial open source led to better security for applications andit reduced the risks associating with those applications.

And overall it just improvedthe integrity and trust worthiness of those applications.

Commercial vendor they realget the opportunity to take that community transparency that's demanded by an open sourceproduct and layer on additional value through their means, and they can make sure that issuesare handled immediately, quickly.

So I've talked enough today about commercial opensource.

If you want to know more, subscribe to ourYouTube channel or click the link.

Source: Youtube

Omadi Mobile Management: Security Guard Software Overview |

A lot of people in security do thingspretty old school and that's cool.

I love my 8 track by as much as the nextguy, but pencil on paper? Come on! And if you are using a software,how many? One for billing, one for scheduling and don'tforget the ones for tour verification reporting.

It's crazy! There has to be a bettersolution.

There it's it's called Omadi.

It's afully customizable mobile management system.

My company can manage everythingthey do with one application.

And for my job I get touse this nifty mobile app.

Everything I need is right here on myphone.

It's cloud-based so you can access itfrom anywhere.

It even works if I don't I reception.

How secure is the information? That's a fair question.

Everything saved in Omadi is encrypted.

Each user has unique username and password so any changes and revisions are tracked.

So ifI make a change my boss knows it's coming from me.

Rightnow you might be saying well that's all well and good but soundscomplicated don't.

Don't worry, Omadi's got you covered there too.

The app issimple and easy to use and believe me I'm no Einstein.

The forms feel familiarbecause they're your forms digitized.

A lot of the information even auto fills soyour guards will get it down in no time.

Hang on a second.

This guy looks suspicious.

Hey you freeze! We got a runner! Better document this.

Smile! Now Ijust need to add in my John Hancock and done.

Everything updates in real time keeping everyone informed.

It's that easy.

Notonly are they clean and easy to read my boss and our clients automatically get sent a notification about the report with pictures and everything.

Did I mention it's all automated and updated in real time? GPS.

Now this is a cool feature.

My phone's GPS is a great way to keeptrack of my foot patrols.

For even more accurate GPS tracking, I have this little guy which has been pre-programmed my car.

Just plug it in.

and we're good to go.

Our clients love thisinformation as a visual for the great work we do for them.

Now you're probably thinking, a productthis awesome must cost an arm and a leg.

Well you're wrong.

Omadi's sales wizards did a bunch crazymath and figured out that I'll need to increase my productivity by 1.

6 percent.

And Omadi pays for itself.

I did that with the last form I filled out.

Stop paying for softwares that don't communicate with one another.

My handwriting looks like angry chickensscratching on paper.

Now everything I write is legible.

Get Omadi Mobile Management.

It will revolutionize the way you dobusiness.

Trust me, you're going to love it.

It's the future of security.

Source: Youtube