arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 2407.07804cs.SE
收藏

Android静态分析中的调用图可靠性(Soundness)

Call Graph Soundness in Android Static Analysis

Jordan Samhi, René Just, Tegawendé F. Bissyandé, Michael D. Ernst, Jacques Klein

AI总结:

本研究针对Android静态分析中调用图不可靠的问题,对1000个应用测试13款静态工具与动态分析,首次量化遗漏情况,发现框架依赖、高精度追求等多因素导致可靠性不足,现有方法均难有效改善。

摘要:

静态分析在理论上是可靠的,但具体实现可能因未分析程序全部代码而出现不可靠问题,这类遗漏会对工具输出的有效性构成严重威胁。本研究首次量化了此类遗漏的普遍程度。此前,研究人员和分析师并不清楚静态分析会遗漏哪些内容、哪类代码会被遗漏,以及这些遗漏背后的原因。为填补这一空白,我们对1000个Android应用运行了13款静态分析工具和一项动态分析,动态分析中出现但静态分析未覆盖的方法即为不可靠性的体现。\n我们的发现包括以下几点:(1)基于外部框架构建的应用对静态分析工具构成挑战,13款静态分析工具平均未能捕获61%的动态执行方法;(2)调用图构建的高精度等同于高不可靠性;(3)现有方法均无法显著提升静态分析的可靠性,这既包括针对特定机制定制的工具(如用于处理反射的DroidRA),也包括系统化方法(如可系统捕获Android框架中所有回调的EdgeMiner);(4)入口点方法的建模是调用图构建的难点,会危及分析可靠性。

英文摘要:

Static analysis is sound in theory, but an implementation may unsoundly fail to analyze all of a program's code. Any such omission is a serious threat to the validity of the tool's output. Our work is the first to measure the prevalence of these omissions. Previously, researchers and analysts did not know what is missed by static analysis, what sort of code is missed, or the reasons behind these omissions. To address this gap, we ran 13 static analysis tools and a dynamic analysis on 1000 Android apps. Any method in the dynamic analysis but not in a static analysis is an unsoundness. Our findings include the following. (1) Apps built around external frameworks challenge static analyzers. On average, the 13 static analysis tools failed to capture 61% of the dynamically-executed methods. (2) A high level of precision in call graph construction is a synonym for a high level of unsoundness; (3) No existing approach significantly improves static analysis soundness. This includes those specifically tailored for a given mechanism, such as DroidRA to address reflection. It also includes systematic approaches, such as EdgeMiner, capturing all callbacks in the Android framework systematically. (4) Modeling entry point methods challenges call graph construction which jeopardizes soundness.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑