中文

Neutaint:基于神经网络的高效动态污点分析

密码学与安全 2019-09-04 v2

摘要

动态污点分析(DTA)被各类应用广泛用于追踪运行时执行中的信息流。现有 DTA 技术采用基于规则的污点传播,既不准确(即高误报率)也不高效(即较大运行时开销)。很难在正确覆盖所有边界情况的同时为每个操作指定污点规则。此外,过污染与欠污染错误会在污点信息跨多个操作传播时累积。最后,基于规则的传播要求在每个操作施加适当规则前先对其检查,导致在大型真实世界应用上性能开销 prohibitive。本工作中,我们提出 NEUTAINT,一种利用神经程序嵌入追踪信息流的端到端新方法。神经程序嵌入对污点源与汇之间发生的目标程序计算建模,通过观察多样化的执行轨迹自动学习信息流。为进行轻量且精确的信息流分析,我们利用显著性图来推断对不同汇最具影响的源。NEUTAINT 构建两张显著性图(一种流行的机器学习影响分析方法),以总结神经程序嵌入中粗粒度与细粒度的信息流。我们将 NEUTAINT 与 3 种最先进的动态污点分析工具比较。评估结果显示,NEUTAINT 平均可达 68% 准确率,较次优污点工具 Libdft 在 6 个真实程序上提升 10%,同时将运行时开销降低 40 倍。NEUTAINT 用于污点引导模糊测试时还实现了 61% 更多的边覆盖,表明所识别有影响力字节的有效性。

关键词

引用

@article{arxiv.1907.03756,
  title  = {Neutaint: Efficient Dynamic Taint Analysis with Neural Networks},
  author = {Dongdong She and Yizheng Chen and Abhishek Shah and Baishakhi Ray and Suman Jana},
  journal= {arXiv preprint arXiv:1907.03756},
  year   = {2019}
}

备注

To appear in the 41th IEEE Symposium on Security and Privacy, May 18--20, 2020, San Francisco, CA, USA