Projects per year
Abstract
Many Android developers take advantage of third-party libraries and code snippets from public sources to add functionality to apps. Besides making development more productive, external code can also be harmful, introduce vulnerabilities, or raise critical privacy issues that threaten the security of sensitive user data and amplify an app's attack surface. Reliably recognizing such code fragments in Android applications is challenging due to the widespread use of obfuscation techniques and a variety of ways, how developers can express semantically similar program statements.
We propose a code recognition technique that is resilient against common code transformations and that excels in identifying code fragments and libraries in Android applications. Our method relies on obfuscation-resilient features from the Abstract Syntax Tree of methods and uses them in combination with invariant attributes from method signatures to derive well-characterizing fingerprints. To identify similar code, we elaborate an effective scoring metric that reliably compares fingerprints at method, class, and package level. We investigate how well our solution tackles obfuscated, shrunken, and optimized code by applying our technique to real-world applications. We thoroughly evaluate our solution and demonstrate its practical ability to fingerprint and recognize code with high precision and recall.
We propose a code recognition technique that is resilient against common code transformations and that excels in identifying code fragments and libraries in Android applications. Our method relies on obfuscation-resilient features from the Abstract Syntax Tree of methods and uses them in combination with invariant attributes from method signatures to derive well-characterizing fingerprints. To identify similar code, we elaborate an effective scoring metric that reliably compares fingerprints at method, class, and package level. We investigate how well our solution tackles obfuscated, shrunken, and optimized code by applying our technique to real-world applications. We thoroughly evaluate our solution and demonstrate its practical ability to fingerprint and recognize code with high precision and recall.
Original language | English |
---|---|
Title of host publication | 14th International Conference on Availability, Reliability and Security (ARES 2019) |
Place of Publication | New York |
Publisher | Association of Computing Machinery |
Number of pages | 10 |
ISBN (Print) | 978-1-4503-7164-3/19/08 |
DOIs | |
Publication status | Published - 2019 |
Event | 14th International Conference on Availability, Reliability and Security: ARES 2019 - University of Kent, Canterbury, United Kingdom Duration: 26 Aug 2019 → 29 Aug 2019 https://www.ares-conference.eu/ |
Conference
Conference | 14th International Conference on Availability, Reliability and Security |
---|---|
Abbreviated title | ARES 2019 |
Country/Territory | United Kingdom |
City | Canterbury |
Period | 26/08/19 → 29/08/19 |
Internet address |
Keywords
- Android
- Abstract Syntax Tree
- Fingerprinting
- Library Detection
- Code Similarity
- Code Recognition
- Obfuscation
Fingerprint
Dive into the research topics of 'Obfuscation-Resilient Code Recognition in Android Apps'. Together they form a unique fingerprint.Projects
- 1 Active
-
A-SIT - Secure Information Technology Center Austria
Stranacher, K., Dominikus, S., Leitold, H., Marsalek, A., Teufl, P., Bauer, W., Aigner, M. J., Rössler, T., Neuherz, E., Dietrich, K., Zefferer, T., Mangard, S., Payer, U., Orthacker, C., Lipp, P., Reiter, A., Knall, T., Bratko, H., Bonato, M., Suzic, B., Zwattendorfer, B., Kreuzhuber, S., Oswald, M. E., Tauber, A., Posch, R., Bratko, D., Feichtner, J., Ivkovic, M., Reimair, F., Wolkerstorfer, J. & Scheibelhofer, K.
21/05/99 → 6/08/20
Project: Research area