中文

基于近端梯度的细粒度数据流追踪

密码学与安全 2021-02-25 v6

摘要

利用动态污点分析(DTA)进行数据流追踪是系统安全中的重要方法,具有诸多应用,包括漏洞利用分析、引导式模糊测试和侧信道信息泄露检测。然而,DTA 从根本上受限于污点标签的布尔性质,其不提供关于所检测数据流重要性的信息,并导致在复杂真实程序上出现假阳性/假阴性。我们引入近端梯度分析(PGA),一种新颖的、有理论依据的方法,能够追踪更准确且细粒度的数据流信息。PGA 使用近端梯度(梯度的非可微函数推广)来精确组合程序中非可微操作上的梯度。在程序上组合梯度消除了 DTA 中发生的许多数据流传播错误,并提供了关于每个被测数据流如何影响程序的更丰富信息。我们将原型 PGA 实现与 7 个真实程序上的三种最先进 DTA 实现进行比较。我们的结果表明,PGA 可将数据流追踪的 F1 准确率较污点追踪提高至多 33%(平均 20%),且不引入显著开销(平均 <5%)。我们进一步展示了 PGA 的有效性:发现了 22 个漏洞(20 个被开发者确认)和 2 个侧信道泄露,并在被测程序的 19 个现有 CVE 中识别出可利用的数据流。

关键词

引用

@article{arxiv.1909.03461,
  title  = {Fine Grained Dataflow Tracking with Proximal Gradients},
  author = {Gabriel Ryan and Abhishek Shah and Dongdong She and Koustubha Bhat and Suman Jana},
  journal= {arXiv preprint arXiv:1909.03461},
  year   = {2021}
}

备注

To appear in USENIX Security 2021