The 21st century has seen proliferation of smartphones as much as, the sale of smartphones is going to cross the sale of desktop computers soon. It has also witnessed a huge number of malware attacks on desktop OS. As a smartphone user (or addict?) you may wonder – Can malware affect my smartphone as well?
Difference between a desktop OS and smartphone OS ?
Let’s try to look at this from the OS point of view. The main difference between a desktop OS and smartphone OS is, a smartphone OS expects every app to execute in a process sandbox. Which means, an app executes in a process which is isolated from other processes. Every app runs as a virtual machine (VM) and cannot access resources of other apps. This is first level of security hurdle for the malware attackers.
Thus smartphone OS are more secure as compared to desktop OS. However, open OS platforms like Android do allow two apps to run with same identity resulting in sharing of resources. This may be exploited as a vulnerability by a malware.
Here are reason why smartphone OS is susceptible for the malware attacks
- Mobile app certification.
- Privilege escalation (Jailbreaking, Rooting)
If at all an app wants to use some of the device features, OS features or user data, it can do so with the help of declaring permissions e.g. if an app wants to user’s contacts, it should declare it in its manifest file. Such permissions are available for using user’s location, camera, and wallet capability and so on.
At the time of installing the an app, all the permissions are to be granted by the user. If user selects ‘Accept’, then only app is installed. Maximum users do not verify these permissions as what they want is a free app and are least bothered about its detailed information. This is an open invitation for any malware. Most of the malwares declare unwanted permissions and get access to user data.
Mobile app certification
There is another security mechanism imposed by smartphone OS platforms and that is certification of the apps.
- Microsoft and Apple : Microsoft and Apple have strict certification requirements for their platforms Windows Phone and iOS respectively. An app undergoes rigorous checking to confirm if it is not malicious. It is also verified that app is using the permissions which are declared in the manifest. If an app fails to satisfy said requirements, it cannot be made available on app stores.
- Android platform : However, certification requirements is not mandatory for Android platform. Android asks author to sign the app for verification of his identity and allows such signed apps to go on Play Store or any third party app stores without any certification. Android phones also have a feature where you can install any unauthorized .apk file (binary installable file for Android platform) on your phone and it need not come from any app store. For Android platform, third party app stores are filled with many malicious apps or cracked versions of genuine apps.
Privilege escalation (Jailbreaking, Rooting)
Apart from all this, there is a concept called as ‘privilege escalation’ which most of the users perform for their phones.
- Rooting – Android devices
- Jailbreaking – iOS devices
Rooting gives administrative access to user on Android subsystems as result of which, users can install certain special apps which otherwise need elevated access. Users can even modify system level settings and use carriers which are otherwise forbidden. Jailbreaking refers to giving user access to install uncertified apps. Though both the techniques appear similar, they are not. And they increase chances of malware attacks.
So we can see here, as a desktop OS, even a smartphone OS is susceptible for the malware attack and as you might have guessed, Android OS is more prone to such attacks. Though there have been attempts to enhance its security features, it’s still the most unsecured smartphone OS till date.