开始正视硬件防护,Intel将在Tiger Lake处理器新增安全防护措施CET

很多时候 , 黑客的攻击往往比较难以在软件层面预防的 , 就例如之前我们报导过Intel服务器的两个侧信道攻击漏洞 , 其中一个漏洞CrossTalk就需要Intel花费将近一年多的时间才解决掉 。
而为了应对像这种在软件层面难以解决的攻击方法 , 也为了提供更好的硬件层面保护 , Intel将会在今年稍晚时间推出的新一代TigerLake处理器上添加一种新的安全防护措施 , 控制流执行(Control-FlowEnforcement , 下称CET) 。 虽然Intel没说 , 但这个新功能或许可以在硬件层面上阻挡类似Spectre以及Meltdown的攻击 。
开始正视硬件防护,Intel将在Tiger Lake处理器新增安全防护措施CET
文章图片

CET的作用是专门防止黑客以面向返回编程(Return-orientedProgramming , 下称ROP)技术来发起攻击 。 ROP是黑客为应对AMD以及Intel的数据执行保护功能(DataExecutionPrevention , 简称DEP)而发明的一种攻击 。
【开始正视硬件防护,Intel将在Tiger Lake处理器新增安全防护措施CET】DEP是通过把用户可寻址内存标记为不可执行来阻止黑客发起缓冲区溢出攻击 。 而黑客为此就改变攻击方式 , 从尝试把恶意指令加载到用户可执行内存 , 转变为透过在内存堆栈内改变现存指令来攻击 。 而Intel的CET就是通过建立影子堆栈以及实行间接分支跟踪来防止这种攻击 。
开始正视硬件防护,Intel将在Tiger Lake处理器新增安全防护措施CET
文章图片

图片来源:微软
通过生成第二个堆栈 , 这个新生成的影子堆栈可以保护内存堆栈的原始控制流 。 影子堆栈会保存在内存堆栈中引用的原始内存地址 , 一旦检测到它们有任何改变就会将它们恢复为默认值 。 由于影子堆栈只是存储内存地址 , 所以只需要非常少量的额外内存就可运作 。
而间接分支跟踪则是用来防止面向跳转编程(Jump-orientedProgramming)以及面向调用编程(Call-orientedProgramming)攻击 , 而这两种方法与ROP比较相似的 。
Windows102004版本是已经支持IntelCET的 , 因此TigerLake处理器一出来就可以马上启用这个功能 。 要注意的是CET本质上与IME以及SGX都是有点不同的 , 后两者都是在处理器上面建立一个安全区域 , 而CET则是改变处理器在执行特定代码时会发生什么 。
对于Intel终于开始把安全性放在设计处理器的首要任务还是喜闻乐见的 , 毕竟Spectre和Meltdown就已经要让之前的Intel处理器被逼降低不少性能来获得足够的保护 。


    推荐阅读