The Man-in-the-Disk Attack open’s a new attack surface that would allow an attacker to replace, or to manipulate the data that stored on the External Storage.
These attacks are possible when app use External Storage without performing proper validations. Man-in-the-Disk allows an attacker to perform a silent installation of malicious apps to the user’s phone, DoS attack over legitimate apps, code injection and it also cause applications to crash.
Check Point security Slava Makkaveev presented the DefCon security conference Sunday. “We have witnessed cases where an app was downloaded, updated or received data from the app provider’s server, which passed through the External Storage before being sent on to the app itself allows attackers to manipulate the data held in the External Storage before the app reads it again.”
With the Android OS, there are of two types of storage resources the Internal and the External storage.
The internal storage by default stores the internal app data which is properly organized and segregated the file system for each app and once the user uninstalls the apps the data will be removed.
The external space mostly the SD cards, it doesn’t have Android built-in Sandbox protection and the resource is shared across all the applications. The Android application developers documentation provides guidelines on how the external storage for apps to be managed. If the guidelines not followed it leads to Man-in-the-Disk Attack.
Man-in-the-Disk Attack Flow
Attackers convince the user to install a legitimate app that contains attackers script which in turn asks user permission for external storage, once the user granted permission the attacker monitor the data transfer between the user device and external storage.
By having the access to the data transfer attackers can overwrite the data, intercept traffic and even cause the application to crash. Attackers can even inject the code’s to escalate the privileges to access the camera, microphone, contacts, Gallery and other parts.
Slava Makkaveev tested the new attack surface with following applications Google Translate, Yandex Translate, Google Voice Typing, Google Text-to-Speech, Xiaomi Browser and other applications.
With the apps, Google Translate, Yandex Translate, and Google Voice Typing researchers failed to the valid integrity of the data that leads to application crash.
In the Xiaomi Browser app, the attack result’s in installing an alternative application instead of the legitimate update.
While it is clear that these design shortcomings leave Android users potentially vulnerable to cyber threats, app developers should follow the Android’s developers guidelines and to build the app by having security in mind says Slava Makkaveev.
Checkpoint published a blog post with Technical details on how Android Apps Exposed via External Storage.