B. Android: Android is a famous OS and is developed by Open Handset Alliance (led by Google) [6] to be a competitive mobile OS. One of its well-known facts, is that Android is an open source OS. Both [6,7] talked about the details of Android security features. The security features are: Application Permissions: An application permission is the allowing/disallowing a requesting of a mobile resource such as the camera, microphone or an operation.T here are four permissions levels and they are as follows:normal (not a dangerous one and considered as an application-level permission); dangerous (a more risky permission could access, without the asking the user to confirm; a sensitive data or damaging functions); signature (a permission can be granted only to other packages that are signed with the same signature); andsignature-or-system (a special type of signature permission that's existing to manipulate with the legacy permissions). Components Protection: Android OS is a componentbased OS and based on the interaction between four main component types (Activity, Service, Content Provider, and Broadcast Receiver) [6]. Those components are protected from accessed by potential malicious applications. This is described as a components
encapsulation by the authors in [7] and the components are classified as private and public by the authors in [6]. Signing applications: all applications in Android are archived as a package. Those packages should be signed using valid certificates. It seems that this is simple signing compared to the complicated one in iOS. There are some others security mechanisms relating to the hardware and to the programming language such as memory management unit and type safety. Memory Management Unit (MMU): is a hardware mechanism that prevents the application processes to access memory locations of the other applications memory locations and this is used by many OSs, Android is one of them. Type Safety: is a programming aspect that Android ensures to prevent the attacks which targets buffers and memory. Using programming language such as Java which is considered a type saved language and using an Android binder to communicate with different languages are aspects to ensure this mechanism. Lastly, Android OS inherits some security aspects from the Linux which is built from. Two basic mechanisms are inherited, the Portable Operating System interface (POSIX) which creates sand boxing to protect different applications from conflicting and interleaving with each other. The second aspect is the file access which is the well-known security access lists to manage the users and files accessing and preventing an illegal accessing. The Android is continuously updated by security mechanisms such DEP started from V2.3 and ASLR from V4