more or less features from the graph theory and even
the extraction process depending on the context of
the classification. We compared DaDiDroid to Ma-
MaDroid (Mariconti et al., 2017), a Markov chain
modeling tool for Android apps, showing that beside
achieving similar high results on common datasets,
DaDiDroid is much more resilient to changes in the
datasets and especially to obfuscation techniques. In
the future we plan to improve DaDiDroid by comple-
menting features derived from dynamic runtime anal-
ysis of apps.
REFERENCES
Aafer, Y., Du, W., and Yin, H. (2013). Droidapiminer: Min-
ing api-level features for robust malware detection in
android. In ICSPCS. Springer.
Andoni, A. and Indyk, P. (2008). Near-optimal hashing al-
gorithms for approximate nearest neighbor in high di-
mensions. Communications of the ACM.
Archive (2019). Playdrone apk’s : Free software : Free
download, borrow and streaming : Internet archive.
https://archive.org/details/playdrone-apks.
Arp, D., Spreitzenbarth, M., Hubner, M., Gascon, H.,
Rieck, K., and Siemens, C. (2014). Drebin: Effec-
tive and explainable detection of android malware in
your pocket. In NDSS.
Arzt, S., Rasthofer, S., Fritz, C., Bodden, E., Bartel, A.,
Klein, J., Le Traon, Y., Octeau, D., and McDaniel, P.
(2014). Flowdroid: Precise context, flow, field, object-
sensitive and lifecycle-aware taint analysis for android
apps. In PLDI. ACM.
Breiman, L. (2001). Random forests. Machine Learning.
Burguera, I., Zurutuza, U., and Nadjm-Tehrani, S. (2011).
Crowdroid: behavior-based malware detection system
for android. In WSPSMD, pages 15–26. ACM.
Chen, S., Xue, M., Tang, Z., Xu, L., and Zhu, H. (2016).
Stormdroid: A streaminglized machine learning-
based system for detecting android malware. In CCS.
Continella, A., Fratantonio, Y., Lindorfer, M., Puccetti,
A., Zand, A., Kruegel, C., and Vigna, G. (2017).
Obfuscation-resilient privacy leak detection for mo-
bile apps through differential analysis. In NDSS.
Cover, T. M. and Thomas, J. A. (2012). Elements of infor-
mation theory. John Wiley & Sons.
Dong, S., Li, M., Diao, W., Liu, X., Liu, J., Li, Z.,
Xu, F., Chen, K., Wang, X., and Zhang, K. (2018).
Understanding android obfuscation techniques: A
large-scale investigation in the wild. arXiv preprint
arXiv:1801.01633.
Enck, W., Gilbert, P., Han, S., Tendulkar, V., Chun, B.-G.,
Cox, L. P., Jung, J., McDaniel, P., and Sheth, A. N.
(2014). Taintdroid: an information-flow tracking sys-
tem for realtime privacy monitoring on smartphones.
In TOCS.
Garcia, J., Hammad, M., Pedrood, B., Bagheri-Khaligh,
A., and Malek, S. (2015). Obfuscation-resilient, ef-
ficient, and accurate detection and family identifica-
tion of android malware. Department of Computer
Science, George Mason University, Tech. Rep.
Girault, E. (2019). Google Play Unofficial Python API.
https://github.com/egirault/googleplay-api.
Google (2019a). Google Play Store. https://
play.google.com.
Google (2019b). Package Index (APIv26) — Android
Developers. https://developer.android.com/reference/
packages.html.
Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann,
P., and Witten, I. H. (2009). The weka data mining
software: an update. ACM SIGKDD Explorations.
Hornyack, P., Han, S., Jung, J., Schechter, S., and Wether-
all, D. (2011). These aren’t the droids you’re looking
for: Retrofitting android to protect data from imperi-
ous applications. In CCS.
Ikram, M., Vallina-Rodriguez, N., Seneviratne, S., Kaafar,
M. A., and Paxson, V. (2016). An analysis of the
privacy and security risks of android vpn permission-
enabled apps. In IMC.
Kohavi, R. and Sommerfield, D. (1995). Feature Subset
Selection Using the Wrapper Method: Overfitting and
Dynamic Search Space Topology. In KDD.
Lindorfer, M., Neugschwandtner, M., and Platzer, C.
(2015). Marvin: Efficient and comprehensive mobile
app classification through static and dynamic analysis.
In COMPSAC.
Mann, C. and Starostin, A. (2012). A framework for static
detection of privacy leaks in android applications. In
ASAC.
Mariconti, E., Onwuzurike, L., Andriotis, P., De Cristo-
faro, E., Ross, G., and Stringhini, G. (2017). Ma-
MaDroid: Detecting Android Malware by Building
Markov Chains of Behavioral Models. In NDSS.
McAfee (2017). McAfee Labs Threat Report.
https://www.mcafee.com/au/resources/reports/rp-
quarterly-threats-sept-2017.pdf.
M
¨
uller, K.-R., Mika, S., R
¨
atsch, G., Tsuda, K., and
Sch
¨
olkopf, B. (2001). An Introduction to Kernel-
based Learning Algorithms. IEEE ToNE, 12(2).
Sch
¨
olkopf, B., Platt, J. C., Shawe-Taylor, J. C., Smola, A. J.,
and Williamson, R. C. (2001). Estimating the support
of a high-dimensional distribution. Neural Computa-
tion.
Schulz, P. (2012). Code protection in android. In Rheinische
Friedrich-Wilhelms-Universitat Bonn, Germany.
Shafiq, Z. and Liu, A. (2017). A graph theoretic approach
to fast and accurate malware detection. In IFIP Net-
working.
Vall
´
ee-Rai, R., Co, P., Gagnon, E., Hendren, L., Lam, P.,
and Sundaresan, V. (1999). Soot - a java bytecode
optimization framework. In CASCON.
Viennot, N. (2014). Github-nviennot/playdrone: Google
play crawler.
VirusTotal (2019). VirusTotal. https://www.virustotal.com.
Zhang, M., Duan, Y., Yin, H., and Zhao, Z. (2014).
Semantics-aware android malware classification using
weighted contextual api dependency graphs. In CCS.
DaDiDroid: An Obfuscation Resilient Tool for Detecting Android Malware via Weighted Directed Call Graph Modelling
219