Attack of The Clones: Detecting Cloned Applications On Android Markets
Attack of The Clones: Detecting Cloned Applications On Android Markets
Jonathan Crussell1,2, Clint Gibler1, and Hao Chen1 1 University of California, Davis 2 Sandia National Labs Source: ESORICS 2012
Outline
Introduction Background Threat Model Clone Detection Approaches and Related Work Methodology Evaluation Case Studies Discussion Conclusion
Introduction
Much of the user experience of Android relies on third-party apps. Android has numerous marketplaces. Protect users from malicious apps. Protect developers from plagiarists.
Introduction
Developers can charge directly for their apps. Offer free apps that are ad-supported or contain in-game billing. Some apps have two version. Paid app cracked & release for free Free app cloned & change ad libraries
Introduction
Background
Android Markets Android Application Structure
Non Goals
Find cloning in native code. Determine which applications are the victims and which are clones.
Related Work
Androguard, DEXCD and DroidMOSS. All these approaches are structure based or structure based approximations. None of these tools use any semantic information to aid in detecting plagiarism.
Methodology
Constructing PDGs
dex2jar: Convert both apps code from the DEX format to a JAR. WALA: Construct PDGs for each method in every class of the applications. Only data dependency edges: More robust against statement reordering, insertion and deletion.
Subgraph Isomorphism
Find a mapping between nodes in and nodes in . Subgraph isomorphism is NPComplete. VF2 algorithm.
Evaluation
75,000 free apps from 13 Android markets. Randomly selected 9,400 pairs from the potential clones. Hadoop: parallelize DNADroid. HDFS: share data across a small cluster. The average throughput of DNADroid on this small cluster is 0.71 application pairs per minute.
Filter Performance
Filter Performance
Case Studies
Benign Cloning
DNADroid found 30 pairs that both have a 100% similarity score. Translation.
Discussion
False Positive
Since it is a serious allegation to claim an application is a clone, we design DNADroid to have a very low false positive rate.
False Negative
Cloned applications often have similar attributes as the original. (?) There exist advanced program transformations that can evade PDGbased clone detection.
Performance
DNADroid are more expensive but result in fewer false positives and false negatives.
Conclusion
DNADroid is a tool for finding clones on a large scale. We evaluated DNADroid on applications crawled from 13 Android markets. Identified at least 141 apps that have been cloned An additional 310 apps that were cracked with AntiLVL We describe five case studies DNADroid has a very low false positive rate DNADroid is an effective tool.