life after app uninstallation are the data still alive
play

Life after App Uninstallation: Are the Data Still Alive? Data - PowerPoint PPT Presentation

Life after App Uninstallation: Are the Data Still Alive? Data Residue Attacks on Android Xiao Zhang, Kailiang Ying, Yousra Aafer, Zhenshen Qiu, and Wenliang Du App Life Installation Interaction Uninstallation But, what if Windows


  1. Life after App Uninstallation: Are the Data Still Alive? Data Residue Attacks on Android Xiao Zhang, Kailiang Ying, Yousra Aafer, Zhenshen Qiu, and Wenliang Du

  2. App Life Installation Interaction Uninstallation

  3. But, what if … Windows Residue Android App Uninstallation Are there any data left after application uninstallation on Android?

  4. In Details App XYZ (UID = 10050) App XYZ (UID = 10050) App XYZ (UID = 10050) APPLICATION /data/data/com.XYZ /data/data/com.XYZ /data/data/com.XYZ <10050, perms> <10050, perms> | Clip data | token … <10050, perms> | Clip data | token … FRAMEWORK /data/system/| /system/| /sys/ | … account.db | settings.db | packages.xml … account.db | settings.db | packages.xml … /Android/data/com.XY SDCard /Android/data/com.XY shared files /Android/data/com.XY shared Z Z Z files Installation Interaction Uninstallation Are the data still alive after application uninstallation on Android?

  5. What can go wrong? Are the data still alive in Android system services after application uninstallation?

  6. Methodology Feedback Manual Protection Attack Filtering Analysis Examination Design Exploit System Service Candidate Residue Damage Attempts Collection Database Instances Measurement Data Residue Harvest Damage Evaluation Saving data to files, databases? Or Saving data in memory? Yes exploits Data Candidate Vulnerability Residue Service No Data cleanup (flaw)?

  7. Findings 7 security vulnerabilities acknowledged by Google with Medium • priority

  8. Sample Exploits - I • Credential Stealing

  9. Sample Exploits - II • Settings Impersonating Spell Checker Module Android Framework

  10. Sample Exploits - II • Settings Impersonating Spell Checker Module Android Framework

  11. Even More … Details are available at: https://sites.google.com/site/droidnotsecure/

  12. Evaluation 8 Android versions • 2,373 apps • 3 play stores • 10 devices •

  13. Fundamental Causes • Data Residue Instances <-> Mandatory Design Principle in Backend • Exploits <-> Signature-based Frontend

  14. Limitation private class TextServicesMonitor extends PackageMonitor { • Manual Analysis @Override public void onSomePackagesChanged() { synchronized (mSpellCheckerMap) { buildSpellCheckerMapLocked(mContext, mSpellCheckerList, • Static Analysis mSpellCheckerMap); // TODO: Update for each locale – App Level SpellCheckerInfo sci = getCurrentSpellChecker(null); if (sci == null) return; – Intelligence final String packageName = sci.getPackageName(); final int change = isPackageDisappearing(packageName); if (// Package disappearing • Dynamic Analysis change == PACKAGE_PERMANENT_CHANGE || change == PACKAGE_TEMPORARY_CHANGE – App Level // Package modified || isPackageModified(packageName)) { – Exploit Conditions sci= findAvailSpellCheckerLocked(null, packageName); if (sci != null) { setCurrentSpellCheckerLocked(sci.getId()); } } } } }

  15. Conclusion • Data Residue Vulnerability • Systematic Study • Comprehensive Evaluation • Trigger more research efforts

  16. Questions? xzhang35@syr.edu https://sites.google.com/site/droidnotsecure/

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend