中文

PartiSan:通过运行时划分实现快速灵活的检测净化

密码学与安全 2018-05-16 v2

摘要

Sanitizer(检测净化器)能够检测出C/C++代码中逃过静态分析的安全漏洞。当前做法是对内部预发布版本持续进行模糊测试与净化。启用净化的构建版本很少公开发布,这很大程度上源于净化器对内存与计算的高要求。我们提出PartiSan,一种运行时划分技术,可加速净化器并使其以更灵活的方式使用。我们的核心思想是将执行划分为会产生运行时开销的净化切片,以及全速运行的非净化切片。借助PartiSan,净化不再是非全有即全无的选择。单个构建版本可分发至每位用户,无论其是否愿意启用净化以及其主机系统的能力如何。PartiSan可自动调整净化量以适配性能预算,或在主机资源不足时禁用净化。运行时划分带来的灵活性还意味着我们可以动态交替使用不同类型的净化器;而今开发者必须提前选定单一类型的净化器。最后,我们展示了运行时划分可通过仅在模糊测试器发现导致崩溃或揭示新执行路径的输入时运行净化分区,从而加速模糊测试。

关键词

引用

@article{arxiv.1711.08108,
  title  = {PartiSan: Fast and Flexible Sanitization via Run-time Partitioning},
  author = {Julian Lettner and Dokyung Song and Taemin Park and Stijn Volckaert and Per Larsen and Michael Franz},
  journal= {arXiv preprint arXiv:1711.08108},
  year   = {2018}
}