Combining static analysis with probabilistic models to enable market-scale android inter-component analysis

被引:0
作者
Octeau D. [1 ,2 ]
Jha S. [1 ,3 ]
Dering M. [2 ]
McDaniel P. [2 ]
Bartel A. [4 ]
Li L. [5 ]
Klein J. [5 ]
Le Traon Y. [5 ]
机构
[1] Department of Computer Sciences, University of Wisconsin
[2] Department of Computer Science and Engineering, Pennsylvania State University
[3] EC SPRIDE, Technishe Universität Darmstadt
[4] Interdisciplinary Centre for Security, Reliability and Trust, University of Luxembourg
来源
ACM SIGPLAN Notices | 2016年 / 51卷 / 01期
关键词
Android ICC; Inter-component communication; Probabilistic program analysis; Static analysis;
D O I
10.1145/2837614.2837661
中图分类号
学科分类号
摘要
Static analysis has been successfully used in many areas, from verifying mission-critical software to malware detection. Unfortunately, static analysis often produces false positives, which require significant manual effort to resolve. In this paper, we show how to overlay a probabilistic model, trained using domain knowledge, on top of static analysis results, in order to triage static analysis results. We apply this idea to analyzing mobile applications. Android application components can communicate with each other, both within single applications and between different applications. Unfortunately, techniques to statically infer Inter-Component Communication (ICC) yield many potential inter-component and inter-Application links, most of which are false positives. At large scales, scrutinizing all potential links is simply not feasible. We therefore overlay a probabilistic model of ICC on top of static analysis results. Since computing the inter-component links is a prerequisite to inter-component analysis, we introduce a formalism for inferring ICC links based on set constraints. We design an efficient algorithm for performing link resolution. We compute all potential links in a corpus of 11,267 applications in 30 minutes and triage them using our probabilistic approach. We find that over 95.1% of all 636 million potential links are associated with probability values below 0.01 and are thus likely unfeasible links. Thus, it is possible to consider only a small subset of all links without significant loss of information. This work is the first significant step in making static inter-Application analysis more tractable, even at large scales. © 2016 ACM.
引用
收藏
页码:469 / 484
页数:15
相关论文
共 51 条
[1]  
Aiken A., Wimmers E.L., Solving systems of set constraints, Logic in Computer Science, 1992. LICS '92., Proceedings of the Seventh Annual IEEE Symposium on, pp. 329-340, (1992)
[2]  
Aiken A., Set constraints: Results, applications and future directions, Principles and Practice of Constraint Programming, pp. 326-335, (1994)
[3]  
Aiken A., Introduction to set constraint-based program analysis, Sci. Comput. Program., 35, 2-3, pp. 79-111, (1999)
[4]  
Aiken A., Kozen D., Wimmers E., Decidability of systems of set constraints with negative constraints, Information and Computation, 122, (1995)
[5]  
AppBrain, Number of Available Android Applications
[6]  
Arzt S., Rasthofer S., Fritz C., Bodden E., Bartel A., Klein J., Le Traon Y., Octeau D., McDaniel P., Flowdroid: Precise context, flow, field, objectsensitive and lifecycle-Aware taint analysis for android apps, Proceedings of the 35th Conference on Programming Language Design and Implementation (PLDI), (2014)
[7]  
Chakradeo S., Reaves B., Traynor P., Enck W., Mast: Triage for market-scale mobile malware analysis, Proceedings of the Sixth ACM Conference on Security and Privacy in Wireless and Mobile Networks, WiSec '13, pp. 13-24, (2013)
[8]  
Chan P.P.F., Hui L.C.K., Yiu S.M., Droidchecker: Analyzing android applications for capability leak, Proceedings of the Fifth ACM Conference on Security and Privacy in Wireless and Mobile Networks, WISEC '12, pp. 125-136, (2012)
[9]  
Charatonik W., Pacholski L., Set constraints with projections, J. ACM, 57, 4, pp. 231-2337, (2010)
[10]  
Chin E., Porter Felt A., Greenwood K., Wagner D., Analyzing inter-Application communication in android, Proceedings of the 9th Annual International Conference on Mobile Systems, Applications, and Services (MobiSys), (2011)