Skip to main content
Erschienen in: Empirical Software Engineering 1/2021

01.01.2021

Scalable online vetting of Android apps for measuring declared SDK versions and their consistency with API calls

verfasst von: Daoyuan Wu, Debin Gao, David Lo

Erschienen in: Empirical Software Engineering | Ausgabe 1/2021

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Android has been the most popular smartphone system with multiple platform versions active in the market. To manage the application’s compatibility with one or more platform versions, Android allows apps to declare the supported platform SDK versions in their manifest files. In this paper, we conduct a systematic study of this modern software mechanism. Our objective is to measure the current practice of declared SDK versions (which we term as DSDK versions afterwards) in real apps, and the (in)consistency between DSDK versions and their host apps’ API calls. To successfully analyze a modern dataset of 22,687 popular apps (with an average app size of 25MB), we design a scalable approach that operates on the Android bytecode level and employs a lightweight bytecode search for app analysis. This approach achieves a good performance suitable for online vetting in app markets, requiring only around 5 seconds to process an app on average. Besides shedding light on the characteristics of DSDK in the wild, our study quantitatively measures two side effects of inappropriate DSDK versions: (i) around 35% apps under-set the minimum DSDK versions and could incur runtime crashes, but fortunately, only 11.3% apps could crash on Android 6.0 and above; (ii) around 2% apps, due to under-claiming the targeted DSDK versions, are potentially exploitable by remote code execution, and half of them invoke the vulnerable API via embedded third-party libraries. These results indicate the importance and difficulty of declaring correct DSDK, and our work can help developers fulfill this goal.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Fußnoten
1
The latest Android version at the time of our writing is Android 9 (API level 28).
 
4
An app is unique if its package name, instead of SHA1/256, is different from other apps.
 
Literatur
Zurück zum Zitat Allix K, Bissyandė T. F., Klein J, Traon Y (2016) AndroZoo: Collecting millions of Android apps for the research community. In: Proceedings of the MSR Allix K, Bissyandė T. F., Klein J, Traon Y (2016) AndroZoo: Collecting millions of Android apps for the research community. In: Proceedings of the MSR
Zurück zum Zitat Almeida M, Bilal M, Blackburn J, Papagiannaki K (2016) An empirical study of Android alarm usage for application scheduling. In: Proceedings of the Springer PAM Almeida M, Bilal M, Blackburn J, Papagiannaki K (2016) An empirical study of Android alarm usage for application scheduling. In: Proceedings of the Springer PAM
Zurück zum Zitat Arzt S, Rasthofer S, Fritz C, Bodden E, Bartel A, Klein J, Traon Y, Octeau D, McDaniel P (2014) Flowdroid: Precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for android apps. In: ACM PLDI Arzt S, Rasthofer S, Fritz C, Bodden E, Bartel A, Klein J, Traon Y, Octeau D, McDaniel P (2014) Flowdroid: Precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for android apps. In: ACM PLDI
Zurück zum Zitat Au K, Zhou Y, Huang Z, Lie D (2012) PScout: Analyzing the Android permission specification. In: Proceedings of the ACM CCS Au K, Zhou Y, Huang Z, Lie D (2012) PScout: Analyzing the Android permission specification. In: Proceedings of the ACM CCS
Zurück zum Zitat Avdiienko V, Kuznetsov K, Gorla A, Zeller A, Arzt S, Rasthofer S, Bodden E (2015) Mining apps for abnormal usage of sensitive data. In: Proceedings of the ACM ICSE Avdiienko V, Kuznetsov K, Gorla A, Zeller A, Arzt S, Rasthofer S, Bodden E (2015) Mining apps for abnormal usage of sensitive data. In: Proceedings of the ACM ICSE
Zurück zum Zitat Backes M, Bugiel S, Derr E (2016) Reliable third-party library detection in Android and its security applications. In: Proceedings of the ACM CCS Backes M, Bugiel S, Derr E (2016) Reliable third-party library detection in Android and its security applications. In: Proceedings of the ACM CCS
Zurück zum Zitat Backes M, Bugiel S, Derr E, McDaniel P, Octeau D (2016) Weisgerber, S.: On Demystifying the Android Application Framework: Re-Visiting Android Permission Specification Analysis. In: Proceedings of the USENIX Security Backes M, Bugiel S, Derr E, McDaniel P, Octeau D (2016) Weisgerber, S.: On Demystifying the Android Application Framework: Re-Visiting Android Permission Specification Analysis. In: Proceedings of the USENIX Security
Zurück zum Zitat Bonett R, Kafle K, Moran K, Nadkarni A, Poshyvanyk D (2018) Discovering flaws in security-focused static analysis tools for Android using systematic mutation. In: Proceedings of the USENIX Security Bonett R, Kafle K, Moran K, Nadkarni A, Poshyvanyk D (2018) Discovering flaws in security-focused static analysis tools for Android using systematic mutation. In: Proceedings of the USENIX Security
Zurück zum Zitat Brito G, Hora A, Valente MT, Robbes R (2016) Do developers deprecate APIs with replacement messages? a large-scale analysis on Java systems. In: Proceedings of the IEEE SANER Brito G, Hora A, Valente MT, Robbes R (2016) Do developers deprecate APIs with replacement messages? a large-scale analysis on Java systems. In: Proceedings of the IEEE SANER
Zurück zum Zitat Calzavara S, Grishchenko I, Maffei M (2016) HornDroid: Practical and sound static analysis of Android applications by SMT solving. In: Proceedings of the IEEE EuroS&P Calzavara S, Grishchenko I, Maffei M (2016) HornDroid: Practical and sound static analysis of Android applications by SMT solving. In: Proceedings of the IEEE EuroS&P
Zurück zum Zitat Felt A, Chin E, Hanna S, Song D, Wagner D (2011) Android permissions demystified. In: Proceedings of the ACM CCS Felt A, Chin E, Hanna S, Song D, Wagner D (2011) Android permissions demystified. In: Proceedings of the ACM CCS
Zurück zum Zitat Gordon MI, Kim D, Perkins J, Gilham L, Nguyen N, Rinard M (2015) Information-flow analysis of Android applications in DroidSafe. In: Proceedings of the ISOC NDSS Gordon MI, Kim D, Perkins J, Gilham L, Nguyen N, Rinard M (2015) Information-flow analysis of Android applications in DroidSafe. In: Proceedings of the ISOC NDSS
Zurück zum Zitat Grace M, Zhou Y, Wang Z, Jiang X (2012) Systematic detection of capability leaks in stock Android smartphones. In: Proceedings of the ISOC NDSS Grace M, Zhou Y, Wang Z, Jiang X (2012) Systematic detection of capability leaks in stock Android smartphones. In: Proceedings of the ISOC NDSS
Zurück zum Zitat Grace M, Zhou Y, Zhang Q, Zou S, Jiang X (2012) Riskranker: Scalable and accurate zero-day Android malware detection. In: Proceedings of the ACM MobiSys Grace M, Zhou Y, Zhang Q, Zou S, Jiang X (2012) Riskranker: Scalable and accurate zero-day Android malware detection. In: Proceedings of the ACM MobiSys
Zurück zum Zitat He D, Li L, Wang L, Zheng H, Li G, Xue J (2018) Understanding and detecting evolution-induced compatibility issues in Android apps. In: Proceedings of the ACM ASE He D, Li L, Wang L, Zheng H, Li G, Xue J (2018) Understanding and detecting evolution-induced compatibility issues in Android apps. In: Proceedings of the ACM ASE
Zurück zum Zitat Jia Y, Chen Q, Lin Y, Kong C, Mao Z (2017) Open doors for Bob and Mallory: Open port usage in Android apps and security implications. In: Proceedings of the IEEE EuroS&P Jia Y, Chen Q, Lin Y, Kong C, Mao Z (2017) Open doors for Bob and Mallory: Open port usage in Android apps and security implications. In: Proceedings of the IEEE EuroS&P
Zurück zum Zitat Lei L, He Y, Sun K, Jing J, Wang Y, Li Q, Weng J (2017) Vulnerable Implicit Service: A Revisit. In: Proceedings of the ACM CCS Lei L, He Y, Sun K, Jing J, Wang Y, Li Q, Weng J (2017) Vulnerable Implicit Service: A Revisit. In: Proceedings of the ACM CCS
Zurück zum Zitat Li L, Bissyandé TF, Traon Y, Klein J (2016) Accessing inaccessible Android APIs: An empirical study. In: Proceedings of the IEEE ICSME Li L, Bissyandé TF, Traon Y, Klein J (2016) Accessing inaccessible Android APIs: An empirical study. In: Proceedings of the IEEE ICSME
Zurück zum Zitat Li L, Bissyandé T. F., Wang H, Klein J (2018) CiD: Automating the detection of API-related compatibility issues in Android apps. In: Proceedings of the ACM ISSTA Li L, Bissyandé T. F., Wang H, Klein J (2018) CiD: Automating the detection of API-related compatibility issues in Android apps. In: Proceedings of the ACM ISSTA
Zurück zum Zitat Li M, Wang W, Wang P, Wang S, Wu D, Liu J, Xue R, Huo W (2017) LibD: Scalable and precise third-party library detection in Android markets. In: Proceedings of the ACM ICSE Li M, Wang W, Wang P, Wang S, Wu D, Liu J, Xue R, Huo W (2017) LibD: Scalable and precise third-party library detection in Android markets. In: Proceedings of the ACM ICSE
Zurück zum Zitat Linares-Vásquez M, Bavota G, Bernal-Cárdenas C, Penta MD, Oliveto R, Poshyvanyk D (2013) API change and fault proneness: A threat to the success of Android apps. In: Proceedings of the ACM FSE Linares-Vásquez M, Bavota G, Bernal-Cárdenas C, Penta MD, Oliveto R, Poshyvanyk D (2013) API change and fault proneness: A threat to the success of Android apps. In: Proceedings of the ACM FSE
Zurück zum Zitat Mariconti E, Onwuzurike L, Andriotis P, Cristofaro ED, Ross G, Stringhini G (2017) MaMaDroid: Detecting Android malware by building markov chains of behavioral models. In: Proceedings of the ISOC NDSS Mariconti E, Onwuzurike L, Andriotis P, Cristofaro ED, Ross G, Stringhini G (2017) MaMaDroid: Detecting Android malware by building markov chains of behavioral models. In: Proceedings of the ISOC NDSS
Zurück zum Zitat McDonnell T, Ray B, Kim M (2013) An empirical study of API stability and adoption in the Android ecosystem. In: Proceedings of the IEEE ICSM McDonnell T, Ray B, Kim M (2013) An empirical study of API stability and adoption in the Android ecosystem. In: Proceedings of the IEEE ICSM
Zurück zum Zitat McIlroy S, Ali N, Hassan AE (2016) Fresh apps: an empirical study of frequently-updated mobile apps in the Google play store. Empir Softw Eng 21(3) McIlroy S, Ali N, Hassan AE (2016) Fresh apps: an empirical study of frequently-updated mobile apps in the Google play store. Empir Softw Eng 21(3)
Zurück zum Zitat Mutchler P, Safaei Y, Doupe A, Mitchell J (2016) Target fragmentation in Android apps. In: Proceedings of the IEEE mobile security technologies (MoST) Mutchler P, Safaei Y, Doupe A, Mitchell J (2016) Target fragmentation in Android apps. In: Proceedings of the IEEE mobile security technologies (MoST)
Zurück zum Zitat Octeau D, Jha S, McDaniel P (2012) Retargeting Android applications to Java bytecode. In: Proceedings of the ACM FSE Octeau D, Jha S, McDaniel P (2012) Retargeting Android applications to Java bytecode. In: Proceedings of the ACM FSE
Zurück zum Zitat Pan X, Wang X, Duan Y, Wang X, Yin H (2017) Dark hazard: Learning-based, large-scale discovery of hidden sensitive operations in Android apps. In: Proceedings of the ISOC NDSS Pan X, Wang X, Duan Y, Wang X, Yin H (2017) Dark hazard: Learning-based, large-scale discovery of hidden sensitive operations in Android apps. In: Proceedings of the ISOC NDSS
Zurück zum Zitat Scalabrino S, Bavota G, Linares-Vȧsquez M, Lanza M, Oliveto R, Data-driven solutions to detect API compatibility issues in android: an empirical study (2019). In: Proceedings of the MSR Scalabrino S, Bavota G, Linares-Vȧsquez M, Lanza M, Oliveto R, Data-driven solutions to detect API compatibility issues in android: an empirical study (2019). In: Proceedings of the MSR
Zurück zum Zitat Shao Y, Ott J, Jia YJ, Qian Z, Mao ZM (2016) The misuse of Android Unix domain sockets and security implications. In: Proceedings of the ACM CCS Shao Y, Ott J, Jia YJ, Qian Z, Mao ZM (2016) The misuse of Android Unix domain sockets and security implications. In: Proceedings of the ACM CCS
Zurück zum Zitat Tiwari A, Prakash J, Groß S, Hammer C (2020) A large scale analysis of android — web hybridization. J Syst Softw 170 Tiwari A, Prakash J, Groß S, Hammer C (2020) A large scale analysis of android — web hybridization. J Syst Softw 170
Zurück zum Zitat Wei F, Roy S, Ou X (2014) Robby: Amandroid: A precise and general inter-component data flow analysis framework for security vetting of Android apps. In: Proceedings of the ACM CCS Wei F, Roy S, Ou X (2014) Robby: Amandroid: A precise and general inter-component data flow analysis framework for security vetting of Android apps. In: Proceedings of the ACM CCS
Zurück zum Zitat Wei L, Liu Y, Cheung SC (2016) Taming Android fragmentation: Characterizing and detecting compatibility issues for Android apps. In: Proceedings of the ACM ASE Wei L, Liu Y, Cheung SC (2016) Taming Android fragmentation: Characterizing and detecting compatibility issues for Android apps. In: Proceedings of the ACM ASE
Zurück zum Zitat Wei T, Zhang Y, Xue H, Zheng M, Ren C, Song D (2014) Sidewinder targeted attack against android in the golden age of ad libraries. In: Black Hat USA Wei T, Zhang Y, Xue H, Zheng M, Ren C, Song D (2014) Sidewinder targeted attack against android in the golden age of ad libraries. In: Black Hat USA
Zurück zum Zitat Wu D, Chang RKC (2014) Analyzing Android browser apps for file:// vulnerabilities. In: Proceedings of the springer information security conference (ISC) Wu D, Chang RKC (2014) Analyzing Android browser apps for file:// vulnerabilities. In: Proceedings of the springer information security conference (ISC)
Zurück zum Zitat Wu D, Chang RKC (2015) Indirect file leaks in mobile applications. In: Proceedings of the IEEE mobile security technologies (MoST) Wu D, Chang RKC (2015) Indirect file leaks in mobile applications. In: Proceedings of the IEEE mobile security technologies (MoST)
Zurück zum Zitat Wu D, Chang RKC, Li W, Cheng EKT, Gao D (2017) MopEye: Opportunistic monitoring of per-app mobile network performance. In: Proceedings of the USENIX annual technical conference Wu D, Chang RKC, Li W, Cheng EKT, Gao D (2017) MopEye: Opportunistic monitoring of per-app mobile network performance. In: Proceedings of the USENIX annual technical conference
Zurück zum Zitat Wu D, Cheng Y, Gao D, Li Y, Deng RH (2018) SCLib: A practical and lightweight defense against component hijacking in Android applications. In: Proceedings of the ACM conference on data and applications security and privacy (CODASPY) Wu D, Cheng Y, Gao D, Li Y, Deng RH (2018) SCLib: A practical and lightweight defense against component hijacking in Android applications. In: Proceedings of the ACM conference on data and applications security and privacy (CODASPY)
Zurück zum Zitat Wu D, Gao D, Chang RKC, He E, Cheng EKT, Deng RH (2019) Understanding open ports in Android applications: Discovery, diagnosis, and security assessment. In: Proceedings of the ISOC NDSS Wu D, Gao D, Chang RKC, He E, Cheng EKT, Deng RH (2019) Understanding open ports in Android applications: Discovery, diagnosis, and security assessment. In: Proceedings of the ISOC NDSS
Zurück zum Zitat Wu D, Liu X, Xu J, Lo D, Gao D (2017) Measuring the declared SDK versions and their consistency with API calls in Android apps. In: Proceedings of the Springer international conference on wireless algorithms, systems, and applications (WASA) Wu D, Liu X, Xu J, Lo D, Gao D (2017) Measuring the declared SDK versions and their consistency with API calls in Android apps. In: Proceedings of the Springer international conference on wireless algorithms, systems, and applications (WASA)
Zurück zum Zitat Wu D, Luo X, Chang RKC (2014) A sink-driven approach to detecting exposed component vulnerabilities in android apps. arXiv:1405.6282 Wu D, Luo X, Chang RKC (2014) A sink-driven approach to detecting exposed component vulnerabilities in android apps. arXiv:1405.​6282
Zurück zum Zitat Yang W, Xiao X, Andow B, Li S, Xie T, Enck W (2015) AppContext: Differentiating malicious and benign mobile app behaviors using context. In: Proceedings of the ACM ICSE Yang W, Xiao X, Andow B, Li S, Xie T, Enck W (2015) AppContext: Differentiating malicious and benign mobile app behaviors using context. In: Proceedings of the ACM ICSE
Zurück zum Zitat Zhou Y, Jiang X (2013) Detecting passive content leaks and pollution in Android applications. In: Proceedings of the ISOC NDSS Zhou Y, Jiang X (2013) Detecting passive content leaks and pollution in Android applications. In: Proceedings of the ISOC NDSS
Metadaten
Titel
Scalable online vetting of Android apps for measuring declared SDK versions and their consistency with API calls
verfasst von
Daoyuan Wu
Debin Gao
David Lo
Publikationsdatum
01.01.2021
Verlag
Springer US
Erschienen in
Empirical Software Engineering / Ausgabe 1/2021
Print ISSN: 1382-3256
Elektronische ISSN: 1573-7616
DOI
https://doi.org/10.1007/s10664-020-09897-6

Weitere Artikel der Ausgabe 1/2021

Empirical Software Engineering 1/2021 Zur Ausgabe

Premium Partner