ViaLin: Path-Aware Dynamic Taint Analysis for Android

K Ahmed, Y Wang, M Lis, J Rubin - Proceedings of the 31st ACM Joint …, 2023 - dl.acm.org
Proceedings of the 31st ACM Joint European Software Engineering Conference …, 2023dl.acm.org
Dynamic taint analysis-a program analysis technique that checks whether information flows
between particular source and sink locations in the program, has numerous applications in
security, program comprehension, and software testing. Specifically, in mobile software, taint
analysis is often used to determine whether mobile apps contain stealthy behaviors that leak
user-sensitive information to unauthorized third-party servers. While a number of dynamic
taint analysis techniques for Android software have been recently proposed, none of them …
Dynamic taint analysis - a program analysis technique that checks whether information flows between particular source and sink locations in the program, has numerous applications in security, program comprehension, and software testing. Specifically, in mobile software, taint analysis is often used to determine whether mobile apps contain stealthy behaviors that leak user-sensitive information to unauthorized third-party servers. While a number of dynamic taint analysis techniques for Android software have been recently proposed, none of them are able to report the complete information propagation path, only reporting flow endpoints, i.e., sources and sinks of the detected information flows. This design optimizes for runtime performance and allows the techniques to run efficiently on a mobile device. Yet, it impedes the applicability and usefulness of the techniques: an analyst using the tool would need to manually identify information propagation paths, e.g., to determine whether information was properly handled before being released, which is a challenging task in large real-world applications.
In this paper, we address this problem by proposing a dynamic taint analysis technique that reports accurate taint propagation paths. We implement it in a tool, ViaLin, and evaluate it on a set of existing benchmark applications and on 16 large Android applications from the Google Play store. Our evaluation shows that ViaLin accurately detects taint flow paths while running on a mobile device with a reasonable time and memory overhead.
ACM Digital Library