首页> 外文会议>IEEE Symposium on Security and Privacy >Razzer: Finding Kernel Race Bugs through Fuzzing
【24h】

Razzer: Finding Kernel Race Bugs through Fuzzing

机译:Razzer:通过模糊发现内核种族错误

获取原文

摘要

A data race in a kernel is an important class of bugs, critically impacting the reliability and security of the associated system. As a result of a race, the kernel may become unresponsive. Even worse, an attacker may launch a privilege escalation attack to acquire root privileges. In this paper, we propose Razzer, a tool to find race bugs in kernels. The core of Razzer is in guiding fuzz testing towards potential data race spots in the kernel. Razzer employs two techniques to find races efficiently: a static analysis and a deterministic thread interleaving technique. Using a static analysis, Razzer identifies over-approximated potential data race spots, guiding the fuzzer to search for data races in the kernel more efficiently. Using the deterministic thread interleaving technique implemented at the hypervisor, Razzer tames the non-deterministic behavior of the kernel such that it can deterministically trigger a race. We implemented a prototype of Razzer and ran the latest Linux kernel (from v4.16-rc3 to v4.18-rc3) using Razzer. As a result, Razzer discovered 30 new races in the kernel, with 16 subsequently confirmed and accordingly patched by kernel developers after they were reported.
机译:内核中的数据争用是一类重要的错误,严重影响了关联系统的可靠性和安全性。由于竞争,内核可能会变得无响应。更糟糕的是,攻击者可能发起特权升级攻击以获取root特权。在本文中,我们提出了Razzer,一种用于在内核中查找种族错误的工具。 Razzer的核心是将模糊测试引导到内核中潜在的数据争用点。 Razzer使用两种技术来有效地查找种族:静态分析和确定性线程交织技术。使用静态分析,Razzer可以识别出过于近似的潜在数据争用点,从而指导模糊器更有效地在内核中搜索数据争用。使用在管理程序上实现的确定性线程交织技术,Razzer可以驯服内核的非确定性行为,以便它可以确定性地触发比赛。我们实现了Razzer的原型,并使用Razzer运行了最新的Linux内核(从v4.16-rc3到v4.18-rc3)。结果,Razzer在内核中发现了30个新的种族,随后又确认了16个种族,并在被报道后被内核开发者修补。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号