ApkDiff: Matching Android App Versions Based on Class Structure


연구 분야: Analysis



학회: Checkmate '22: Proceedings of the 2022 ACM Workshop on Research on offensive and defensive techniques in the context of Man At The End (MATE) attacks


초록

Reverse engineering an application requires attackers to invest time and effort doing manual and automatic analyses. When a new version of the application is released, this investment could be lost completely, if all the analyses had to be re-done. The gained insights into how an application functions might be transferred from one version to the next, however, if the versions do not differ too much. Diffing tools are thus valuable to reverse engineers attempting to transfer their knowledge across versions, as well as to defenders trying to assess this attack vector, and whether or how much a new version has to be diversified. While such diffing tools exist and are in widespread use for binary applications, they are in short supply for Android apps. This paper presents ApkDiff, a tool for diffing Android apps based on the semantic features of the class structure. To evaluate our tool we selected 20 popular financial apps available in the Google Play Store, and tracked their version updates over eight months. We found that on average 79% of all classes had a unique match across version updates. When we consider only classes for which we detect explicit obfuscations being applied (by applying heuristics on their identifiers), we still find that we can find a match for 56% of the classes (ranging from 23% to 85%), suggesting that these obfuscated apps are not resilient to our matching strategies. Our results suggest that ApkDiff provides a valuable approach to diffing Android apps.


Author Profile
Robbe de Ghein

Unaffiliated Ghent Belgium

Belgium
Author Profile
Bert Abrath

Ghent University Ghent Belgium

Belgium
Author Profile
Bjorn de Sutter

Ghent University Ghent Belgium

Belgium

📄 논문 정보

발행 연도 2022년
인용수 3
출판 국가 Belgium
사이트 ACM
좋아요 수 0

연관 논문 목록 (157건)