Android consists of an application framework, application libraries, and a Dalvik virtual machine-based runtime, all running on top of a Linux® kernel. By taking advantage of the Linux kernel, Android gets a number of operating system services, including the management of processes and memory, a network stack, drivers, a hardware abstraction layer, and, related to the topic of this article, security services.