[MUSIC] Let's talk more in depth about this analogy that apps are people, and understand what that means from a security perspective. The first thing we can think about is, what are the attacks, if we assume that apps are people, and that's the analogy we're going to use for security. What are the attacks or things that people do maliciously against each other that we want to protect against? Well, the first thing that an app can do, and maybe it's common that people do, unfortunately, is they can lie to each other. So they can provide false information to each other. So one app that's interacting with another app or talking to it through IPC or Intense, can lie, and tell it something that's not true. So as an app developer, we have to be very concerned about checking data or input validation of the things that other apps are telling us. Another thing that malware can do, since it's a person interacting with our app, is it can steal from our app. So it can try to access information which is really the currency of apps. It can try to access that information that this app doesn't want exposed to the other app. And that information can help it to do something malicious directly to this app, or it might be the information that that app needs in order to attack somebody else. For example, to steal contacts from your app, so that it can spam them, and try to convince them to install the app, and also be infected, so they can try to steal from each other. Another thing that apps can do, which is also a sort of a form of lying, but they can try to manipulate each other by either lying, or more interestingly, going and telling one of that apps friends something that it would like that app to know in order to manipulate it. Because this app may trust another app more than it trusts a malware. So this malware doesn't necessarily have to directly manipulate you're app, it may use another intermediary to manipulate your app, another app that yours trust. So you have to be concerned, not only of your own security, but the security of the other apps that you talk to and trust. And it can also go and manipulate the user that's using your app by showing them a false gooey, or false information, and trying to convince them to do something to your app, that if the user does it, you'll accept it, but another app couldn't necessarily do it. So these are some interesting things, if we use this analogy of apps are people that we want to protect against. We don't want other apps to lie to us, or steal from us, or manipulate from us. Another thing that we don't want to do is we don't want to have our app inadvertently manipulated by another app into doing something on that other app's behalf that isn't a good thing. So for example, if you told me to rob a bank, hopefully, I won't do it. But if another app tells your app to go and access the Internet, it's a similar type of situation. Maybe that original app doesn't have access to the Internet, it really wants access to the Internet, and it knows that your app does. So maybe your app is the equivalent of the bank manager that has access to the vault. So if that malware, rather then directly accessing the vault, which it doesn't have access to, can get your app, which is the bank manager to access that vault, and give that information back to the malware, that's also just as good as getting access to it itself. So we have to protect our apps from being manipulated by other apps through lying, or stealing, or other means, in order to do things bad on behalf of another app. And we'll talk about specific types of attacks that fall into this model of lying, and stealing, and manipulation that malware uses to attack good apps.