paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A Qualitative Analysis of Android Taint-Analysis Results

Android 污点分析结果的定性分析
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019匹配度 3/10 · 该论文属于静态程序分析与污点分析实证研究,关注 Android 污点流误报成因与精度提升,与用户偏好的问题驱动式程序分析有部分方法论关联;但不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,也未讨论 PL 与 AI 的交叉,因此与核心研究方向匹配度较低。引用 30 inbox
Linghui Luo, Eric Bodden, Johannes Spath
crossref: 2026-09-12

AI 速览

一句话:用 COVA 计算部分路径约束,对 1022 个 Android 应用的 FlowDroid 污点流做定性研究,揭示误报成因与精度提升方向。

静态污点分析在 Android 安全检测中应用广泛,但只有精度(信噪比)足够高才会被开发者采用;以往研究多只定量报告精度,难以指明如何进一步提升。本文对 Android 静态污点分析结果进行定性研究,并设计 COVA 工具计算污点流的部分路径约束,以刻画污点流在真实场景中可能发生的条件。作者基于 FlowDroid 在 1,022 个真实 Android 应用上报告的污点流开展分析,发现:许多污点流仅在环境设置、用户交互、I/O 等特定条件下出现,分析应考虑应用上下文;很少有污点流同时受多种条件约束,故动态确认真阳性的工具可一次专注一类条件(如仅模拟用户交互);大量误报来自过于宽松的 source/sink 配置,需要更谨慎地配置并借助更好的工具支持。

问题
静态 Android 污点分析虽被广泛研究,但精度不足影响开发者采用;已有工作多为定量报告,缺乏对污点流实际发生条件的定性认识。
方法
提出 COVA 工具,计算污点流的部分路径约束以刻画其可能发生的条件;基于 COVA 对 FlowDroid 在 1,022 个真实 Android 应用上报告的污点流开展定性研究。
评估
在 1,022 个真实 Android 应用上对 FlowDroid 的污点分析结果进行定性实证评估,归纳污点流的触发条件与误报来源。
原文摘要(Abstract)

In the past, researchers have developed a number of popular taint-analysis approaches, particularly in the context of Android applications. Numerous studies have shown that automated code analyses are adopted by developers only if they yield a good "signal to noise ratio", i.e., high precision. Many previous studies have reported analysis precision quantitatively, but this gives little insight into what can and should be done to increase precision further. To guide future research on increasing precision, we present a comprehensive study that evaluates static Android taint-analysis results on a qualitative level. To unravel the exact nature of taint flows, we have designed COVA, an analysis tool to compute partial path constraints that inform about the circumstances under which taint flows may actually occur in practice. We have conducted a qualitative study on the taint flows reported by FlowDroid in 1,022 real-world Android applications. Our results reveal several key findings: Many taint flows occur only under specific conditions, e.g., environment settings, user interaction, I/O. Taint analyses should consider the application context to discern such situations. COVA shows that few taint flows are guarded by multiple different kinds of conditions simultaneously, so tools that seek to confirm true positives dynamically can concentrate on one kind at a time, e.g., only simulating user interactions. Lastly, many false positives arise due to a too liberal source/sink configuration. Taint analyses must be more carefully configured, and their configuration could benefit from better tool assistance.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot5290,
  title = {A Qualitative Analysis of Android Taint-Analysis Results},
  author = {Linghui Luo and Eric Bodden and Johannes Spath},
  booktitle = {ASE},
  year = {2019},
  doi = {10.1109/ase.2019.00020}
}