中文

用于防御控制数据与非控制数据攻击的粗粒度动态污点分析

密码学与安全 2015-03-13 v2

摘要

内存破坏攻击仍然是计算机安全的主要威胁。信息流跟踪或污点分析已被证明能有效防御大多数内存破坏攻击。然而,当前基于污点分析的技术存在两个缺点。首先,这些技术会导致应用程序性能下降约 76%,从而限制了其实用性。其次,这些技术无法处理非控制数据攻击,即那些不覆盖返回地址等控制数据,而是覆盖关键应用程序配置数据或用户身份数据的攻击。为了解决这些问题,本文描述了一种粗粒度污点分析技术,该技术在应用程序数据对象层面使用信息流跟踪。我们对每个被不可信数据修改的应用程序对象传播一位污点,从而显著降低了污点管理开销。我们对该方法进行了广泛的实验评估,结果表明它可以检测所有关键攻击,如缓冲区溢出和格式化字符串攻击,包括非控制数据攻击。与当前已知的能够检测如此广泛攻击的方法不同,我们的方法不需要源代码或任何硬件扩展。运行时性能开销评估表明,平均而言,我们的方法仅导致应用程序性能下降 37%,这比现有方法提高了一个数量级。最后,由于我们的方法执行运行时二进制插桩,因此更容易与现有应用程序和系统集成。

关键词

引用

@article{arxiv.0906.4481,
  title  = {Coarse-grained Dynamic Taint Analysis for Defeating Control and Non-control Data Attacks},
  author = {Pankaj Kohli},
  journal= {arXiv preprint arXiv:0906.4481},
  year   = {2015}
}