{"title":"Practical Application-Level Dynamic Taint Analysis of Android Apps","authors":"J. Schütte, Alexander Kuechler, Dennis Titze","doi":"10.1109/Trustcom/BigDataSE/ICESS.2017.215","DOIUrl":null,"url":null,"abstract":"Dynamic taint analysis traces data flows in applications at runtime and allows detection and consequently prevention of flow-based vulnerabilities, such as data leaks or injection attacks. While dynamic taint analysis spanning all components of the stack is potentially more precise, it requires adaptations of components across the OS stack and thus does not allow to analyze applications in their real runtime environment. In this paper, we introduce a dynamic taint analysis framework for Android applications which injects a taint analysis directly into an application's bytecode and can thus operate on any stock Android platform. Our approach is more precise than previous ones, copes with flow-aware source and sink definitions, and propagates data flows across process boundaries, including propagation over file I/O and inter process communication. We explain how our framework performs with popular apps from the Google Play Store and show that it achieves a precision which is comparable to the most precise platform-level tainting framework.","PeriodicalId":170253,"journal":{"name":"2017 IEEE Trustcom/BigDataSE/ICESS","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 IEEE Trustcom/BigDataSE/ICESS","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/Trustcom/BigDataSE/ICESS.2017.215","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8
Abstract
Dynamic taint analysis traces data flows in applications at runtime and allows detection and consequently prevention of flow-based vulnerabilities, such as data leaks or injection attacks. While dynamic taint analysis spanning all components of the stack is potentially more precise, it requires adaptations of components across the OS stack and thus does not allow to analyze applications in their real runtime environment. In this paper, we introduce a dynamic taint analysis framework for Android applications which injects a taint analysis directly into an application's bytecode and can thus operate on any stock Android platform. Our approach is more precise than previous ones, copes with flow-aware source and sink definitions, and propagates data flows across process boundaries, including propagation over file I/O and inter process communication. We explain how our framework performs with popular apps from the Google Play Store and show that it achieves a precision which is comparable to the most precise platform-level tainting framework.
动态污染分析在运行时跟踪应用程序中的数据流,并允许检测和预防基于流的漏洞,例如数据泄漏或注入攻击。虽然跨越堆栈所有组件的动态污点分析可能更精确,但它需要跨操作系统堆栈调整组件,因此不允许在实际运行时环境中分析应用程序。在本文中,我们为Android应用程序引入了一个动态污染分析框架,它将污染分析直接注入到应用程序的字节码中,从而可以在任何现有的Android平台上运行。我们的方法比以前的方法更精确,处理流感知的源和接收定义,并跨进程边界传播数据流,包括通过文件I/O传播和进程间通信。我们解释了我们的框架是如何在Google Play Store的流行应用中执行的,并表明它达到了与最精确的平台级污染框架相媲美的精度。