GridDroid---An Effective and Efficient Approach for Android Repackaging Detection Based on Runtime Graphical User Interface
-
Abstract
Repackaging brings serious threats to Android ecosystem.Software birthmark techniques are typically applied to detect repackaged apps.Birthmarks based on apps' runtime graphical user interfaces (GUI) are effective, especially for obfuscated or encrypted apps.However, existing studies are time-consuming and not suitable for handling apps in large scale.In this paper, we propose an effective yet efficient dynamic GUI birthmark for Android apps.Briefly, we run an app with automatically generated GUI events and dump its layout after each event.We divide each dumped layout into a grid, count in each grid cell the vertices of boundary rectangles corresponding to widgets within the layout, and generate a feature vector to encode the layout.Similar layouts are merged at runtime, and finally we obtain a graph as the birthmark of the app.Given a pair of apps to be compared, we build a weighted bipartite graph from their birthmarks and apply a modified version of the maximum-weight-bipartite-matching algorithm to determine whether they form a repackaging pair (RP) or not. We implement the proposed technique in a prototype, GridDroid, and apply it to detect RPs in three datasets involving 527 apks. GridDroid reports only six false negatives and seven false positives, and it takes GridDroid merely 20 microseconds on average to compare a pair of birthmarks.
-
-