利用现代CPU特性自动检测、利用与消除双取漏洞
密码学与安全
2017-11-06 v1
摘要
双取漏洞是一类特殊的竞态条件,其中非特权执行线程能够在特权执行线程的检查时与使用时间之间更改内存位置。若非特权攻击者在恰当时机更改该值,特权操作将变得不一致,导致控制流改变,从而攻击者实现权限提升。更严重的是,此类双取漏洞可由编译器引入,在源代码层面完全不可见。我们提出了高效检测、利用与消除双取漏洞的新技术。我们展示了最先进的缓存攻击与内核模糊测试技术的首次结合,以实现双取的完全自动化识别。我们展示了双取漏洞的首次完全自动化可靠检测与利用,使以往工作中的人工分析变得多余。我们表明基于缓存的触发器显著优于最先进的利用技术,利用成功率高达97%。我们改进的模糊测试器自动检测双取,并自动将该双取漏洞候选集缩小至可利用者。我们提出了基于硬件事务内存的首个通用技术,以完全自动化且透明的方式消除双取漏洞。我们通过为任意代码加装自动化双取防护来扩展防御性编程技术,无论是在可信执行环境还是系统调用中,性能开销均低于1%。
引用
@article{arxiv.1711.01254,
title = {Automated Detection, Exploitation, and Elimination of Double-Fetch Bugs using Modern CPU Features},
author = {Michael Schwarz and Daniel Gruss and Moritz Lipp and Clémentine Maurice and Thomas Schuster and Anders Fogh and Stefan Mangard},
journal= {arXiv preprint arXiv:1711.01254},
year = {2017}
}