Learn about vulnerabilities and prevention methods for unintended data leakage on mobile devices. Protect sensitive information from extraction via malware, modified apps, or forensic tools.
Unintended data leakage occurs when a developer inadvertently places sensitive information or data in a location on the mobile device that is easily accessible by other apps on the device. This vulnerability may result in the extraction of the app's sensitive information via mobile malware, modified apps, or forensic tools. It can lead to privacy violations, PCI violations, reputational damage, or fraud.
Unintended data leakage (formerly side-channel data leakage) includes vulnerabilities from the OS, frameworks, compiler environment, new hardware, etc. without a developer's knowledge. It is most commonly seen in undocumented or under-documented internal processes such as caching data, key-presses, logging, and buffers. To prevent unintended data leakage, it is important to threat model your OS, platforms, and frameworks and identify defaults to apply mitigating controls.
To prevent unintended data leakage, you should threat model your OS, platforms, and frameworks, and understand how they handle features such as URL caching, keyboard press caching, copy/paste buffer caching, application backgrounding, logging, HTML5 data storage, browser cookie objects, and analytics data sent to 3rd parties. By identifying defaults and applying mitigating controls, you can avoid unintended data leakage.
iOS: Attack scenarios in iOS include URL caching, keyboard press caching, copy/paste buffer caching, application backgrounding, logging, HTML5 data storage, browser cookie objects, and analytics data sent to 3rd parties.
Android: Attack scenarios in Android include URL caching, keyboard press caching, copy/paste buffer caching, application backgrounding, logging, HTML5 data storage, browser cookie objects, and analytics data sent to 3rd parties.