一句话:提出 PIBE,用剖析引导的间接分支消除实现低开销的内核控制流加固,抵御常规与瞬态执行中的控制流劫持。
控制流劫持可让攻击者执行任意代码,而瞬态执行中的控制流劫持更危险:即使没有软件缺陷,攻击者也能借推测执行泄露内核等目标的数据。现有针对常规执行的防护已能以较低开销广泛部署,但瞬态执行防护通常需要为每个间接分支组合多种防御,导致开销过高。PIBE 的核心思路是采用剖析引导的间接分支消除:通过程序剖析识别可消除的间接分支,从内核代码中去除这些分支,以更低成本实现控制流加固。摘要未报告具体实验数据,但目标是在真实内核场景中兼顾安全与实用性。
Control-flow hijacking, which allows an attacker to execute arbitrary code, remains a dangerous software vulnerability. Control-flow hijacking in speculated or transient execution is particularly insidious as it allows attackers to leak data from operating system kernels and other targets on commodity hardware, even in the absence of software bugs. Having made the jump from regular to transient execution in recent attacks, control-flow hijacking has become a top priority for developers. While powerful defenses against control-flow hijacking in regular execution are now sufficiently low-overhead to see wide-spread adoption, this is not the case for defenses in transient execution. Unfortunately, current techniques for mitigating attacks in transient execution exhibit high overheads—requiring a costly combination of defenses for every indirect branch.
@inproceedings{paperbot6102,
title = {PIBE: practical kernel control-flow hardening with profile-guided indirect branch elimination},
author = {Victor Duta and Cristiano Giuffrida and Herbert Bos and Erik van der Kouwe},
booktitle = {ASPLOS},
year = {2021},
doi = {10.1145/3445814.3446740}
}