16
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

Life after App Uninstallation: Are the Data Still Alive?

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Life after App Uninstallation: Are the Data Still Alive?

LifeafterAppUninstallation:AretheDataStillAlive?DataResidueAttacksonAndroid

XiaoZhang,Kailiang Ying,Yousra Aafer,Zhenshen Qiu,andWenliang Du

Page 2: Life after App Uninstallation: Are the Data Still Alive?

AppLife

Installation Interaction Uninstallation

Page 3: Life after App Uninstallation: Are the Data Still Alive?

But,whatif…

ArethereanydataleftafterapplicationuninstallationonAndroid?

Android App UninstallationWindows Residue

Page 4: Life after App Uninstallation: Are the Data Still Alive?

InDetails

Installation Interaction Uninstallation

ArethedatastillaliveafterapplicationuninstallationonAndroid?

AppXYZ (UID=10050)

/data/data/com.XYZ

/Android/data/com.XYZ

account.db |settings.db |packages.xml …

<10050,perms>|Clip data| token …

sharedfiles

/Android/data/com.XYZ

account.db |settings.db |packages.xml …

<10050,perms>|Clip data| token…

sharedfiles

AppXYZ (UID=10050)

/data/data/com.XYZ

FRAMEWORK

AppXYZ (UID=10050)

/data/data/com.XYZ

/Android/data/com.XYZ

/data/system/|/system/|/sys/|…

<10050,perms>

APPLICATION

SDCard

Page 5: Life after App Uninstallation: Are the Data Still Alive?

Whatcangowrong?

ArethedatastillaliveinAndroidsystemservicesafterapplicationuninstallation?

Page 6: Life after App Uninstallation: Are the Data Still Alive?

Methodology

ProtectionExamination Exploit

AttemptsDamage

Measurement

AttackDesignSystem Service

CollectionCandidateDatabase

ResidueInstances

FilteringManualAnalysis

Data Residue Harvest Damage Evaluation

Feedback

CandidateService

Savingdatatofiles,databases?Or

Savingdatainmemory?

Datacleanup(flaw)?

DataResidue

Yes

No

Vulnerabilityexploits

Page 7: Life after App Uninstallation: Are the Data Still Alive?

Findings

• 7securityvulnerabilitiesacknowledgedbyGooglewithMediumpriority

Page 8: Life after App Uninstallation: Are the Data Still Alive?

SampleExploits- I• CredentialStealing

Page 9: Life after App Uninstallation: Are the Data Still Alive?

SampleExploits- II• SettingsImpersonating

Android Framework

SpellCheckerModule

Page 10: Life after App Uninstallation: Are the Data Still Alive?

SampleExploits- II• SettingsImpersonating

Android Framework

Spell Checker Module

Page 11: Life after App Uninstallation: Are the Data Still Alive?

EvenMore…

Detailsareavailableat:https://sites.google.com/site/droidnotsecure/

Page 12: Life after App Uninstallation: Are the Data Still Alive?

Evaluation

• 2,373apps• 10devices

• 8Androidversions• 3playstores

Page 13: Life after App Uninstallation: Are the Data Still Alive?

FundamentalCauses

• DataResidueInstances<->MandatoryDesignPrincipleinBackend

• Exploits<->Signature-basedFrontend

Page 14: Life after App Uninstallation: Are the Data Still Alive?

Limitation• ManualAnalysis

• StaticAnalysis– AppLevel– Intelligence

• DynamicAnalysis– AppLevel– ExploitConditions

privateclass TextServicesMonitor extendsPackageMonitor {@OverridepublicvoidonSomePackagesChanged() {synchronized(mSpellCheckerMap){buildSpellCheckerMapLocked(mContext, mSpellCheckerList,

mSpellCheckerMap);//TODO:UpdateforeachlocaleSpellCheckerInfo sci =getCurrentSpellChecker(null);if(sci ==null) return;finalStringpackageName =sci.getPackageName();finalint change=isPackageDisappearing(packageName);if(//Packagedisappearing

change==PACKAGE_PERMANENT_CHANGE||change==PACKAGE_TEMPORARY_CHANGE

//Packagemodified||isPackageModified(packageName)) {

sci=findAvailSpellCheckerLocked(null, packageName);if(sci !=null) {setCurrentSpellCheckerLocked(sci.getId());

}}

}}

}

Page 15: Life after App Uninstallation: Are the Data Still Alive?

Conclusion

• DataResidueVulnerability• SystematicStudy• ComprehensiveEvaluation

• Triggermoreresearchefforts

Page 16: Life after App Uninstallation: Are the Data Still Alive?

Questions?

[email protected]://sites.google.com/site/droidnotsecure/