最近,斯蒂文斯理工学院、苏黎世理工学院和阿姆斯特丹自由大学的研究人员发现了一种名为 BlindSide 攻击技术可以构建绕过主流操作系统的技术ASLR (Address Space Layout Randomization,随机使用地址空间配置)漏洞。
BLINDSIDE攻击
内存地址对攻击者非常重要。如果攻击者知道了APP要执行内存中的代码,可以调整漏洞,攻击特定应用程序,窃取敏感信息。ASLR 的工作原理是在随机内存中执行代码的位置,能有效应对缓冲区溢出攻击的安全保护技术。
为绕过ASLR,攻击者需要找到泄漏内存位置的漏洞或另一个漏洞app 在适当的位置运行,然后修改攻击代码以攻击内存地址空间。这两种攻击技术都非常困难,特别是第二种攻击可能会导致系统崩溃或被安全防护系统检测到。
研究人员发现了新的BlindSide 攻击可以将探测行为放在推测执行过程中。推测执行是提高主流处理器性能的一种方法。在推测执行过程中,CPU一些与当前计算线程并行的操作将提前运行。CPU 线程达到特定点后,推测执行将提前取出计算值并进入下一个任务,提高整个计算操作的性能。推测执行过程中获得的所有值都将被丢弃,对操作系统没有影响。
研究人员表示提升CPU 性能的过程也会放大常见软件中安全漏洞的严重性,如推测检测引入的内存损坏错误。BlindSide利用了APP将安全漏洞应用到推测执行中,可以反复检测内存,直到攻击者成功绕过ASLR 。
因为攻击发生在推测执行过程中,所以检测失败和崩溃不会到来CPU它的稳定性有任何影响。攻击者需要做的是利用系统中的内存来破坏漏洞。研究人员在论文中使用它Linux kernel缓冲区溢出漏洞:
· 利用BlindSide打破了KASLR挂载一个可靠的ROP 利用漏洞;
· 利用BlindSide打破任何随机方案,利用架构数据漏洞进行挂载root密码哈希值;
· 打破随机化kernel 复制执行内存kernel文本,挂在可靠的地方ROP 利用漏洞。
PoC 视频参见:https://www.youtube.com/embed/m-FUIZiRN5o
研究人员称攻击者利用BlindSide 盲劫持可以有效实现,无需考虑ASLR 。BlindSide 攻击可适用于不同的架构,研究人员在Intel 和AMD CPU 都做了测试。
此外,BlindSide 攻击正在修复Spectre、Meltdown推测执行攻击CPU 上仍然适用。
研究人员在文章中也提到了各种缓解BlindSide 攻击方法。
本文翻译自:https://www.zdnet.com/article/new-blindside-attack-uses-speculative-execution-to-bypass-aslr/如果转载,请注明原始地址