EEJournal

专题文章
现在就订阅

睡眠处理器衬托攻击者

研究Self-Vaccinating CPU设计

移动目标总是难以触及。睡眠的前提,一个CPU旨在阻止恶意软件的行径。这不是一个商业产品,但大学研究项目专门创建一个DARPA挑战安全处理器。到目前为止,它看起来像它的工作原理,偏转的每一次攻击。

睡眠完全用硬件实现恶意软件保护。处理器本身就可以防止恶意攻击,超越任何你可能部署软件对策。其创建者不会说它完全是100%不受攻击,只是“超级很难破解。”

它通过结合现有的一些技术和一个新的维度:时间的元素。睡眠加密和混淆代码和数据,然后做一遍,再一次,一次又一次,不断移动的东西,这样攻击者没有时间找出发生了什么。单独来看,睡眠的对策可能熟悉,他们的结合,形成一个艰难的盾牌。

根据托德·奥斯汀,密歇根大学的一个研究生的睡眠团队,所有程序都“语义定义”和“未定义的语义。“换句话说,有些事情您显式地定义在你的源代码(例如一个缓冲区的长度),以及一些事情只是假设,如CPU的本地字大小或首选对齐的对象在内存中。他说,大多数恶意软件利用未定义的东西。边信道攻击,例如,将嗅出变化的功耗,射频排放,或计算时间以收集信息芯片内部发生了什么。当前堆栈指针的位置是在运行时决定的,而不是在代码中。所有这些(和许多其他人)是未定义的语义;他们没有指定任何程序的源代码,但自然的副作用在真正的硬件运行真正的代码。

您可以通过添加一些阻碍边信道攻击随机化芯片的行为。这就像发送糠泥泞的雷达信号和降低信噪比。但是专门攻击者(最担心的那种DARPA)最终会看到通过这些对策,和代码分析可以预测运行时堆栈指针的位置。它所需要的是时间。这就是睡眠。

睡眠随机内存地址和指针、加密数据和代码。但是然后重复这个过程每50毫秒,完全消灭任何袭击者可能取得进展在解码加密。坏人只有50之前做的最糟糕的女士不得不从头再来。这就是使睡眠如此有弹性。

“我通常都不会说(这是unhackable)我自己,因为我认为它是可删节,”奥斯丁的说IEEE面试。“但这是超级难以破解。它可能是可删节,但不是由软件。”

“这实际上停止任何攻击,依靠指针和代码。只有停止低级攻击。它不会阻止SQL注入和真正的高层的东西发生在您的web服务器上。睡眠的机器我们真的为DARPA的挑战是建立停止所谓的远程代码执行,或远端控制设备,攻击。”

睡眠的保护工作在两个方面:随机化和加密。首先,所有的内存地址是随机添加内存块的偏移量。偏移量添加到所有写周期和减去所有读周期。让事情更严格,代码引用时使用一个随机抵消数据引用使用不同的随机抵消。两个独立的补偿也防止代码和数据意外干扰对方。(由于性能的原因,最后四位的位移总是0,这样对象保持词对齐。)内存地址环绕地址空间,这样大的补偿不创建不可行的地址。

程序代码永远不会看到这些。它知道,一切都在它应该在的地方。这是奥斯汀的一个例子是“未定义的语义。“这不是也不同于x86处理器使用内存分段的方式将代码段的明显的开始和结束,数据段和堆栈段。事实上,任何CPU MMU的做同样的事情。睡眠的区别在于补偿是随机生成的,他们改变每50毫秒。

第二,睡眠加密内容的代码和数据段,除了周围移动。加密密钥也是随机的,他们每50毫秒也发生了变化。这混淆代码的明显的好处,这通常是第一点恶意软件的攻击。利用一个缓冲区溢出错误,例如,你首先要知道代码错误所在。恶意软件可以从一个已知的项目位置也可以寻找一个已知的代码片段。睡眠使两种模式的攻击。

加密和解密发生处理器的L1缓存之外但在L2高速缓存(和任何后续缓存)。这使得它无形的处理器,包括低级内核代码,但是看不见的外部DRAM。即使缓存将只出口加密数据。一切外部芯片加密;里面的一切都是明文。如果一个做坏事的人以某种方式设法找到一个感兴趣的区域,尽管解决随机化,数据本身会被加密的关键很好只有50微秒。

动态代码加密并不是一个新想法。IBM PowerPC CodePack是这样做早在1990年代,尽管在IBM的情况下,目标是代码压缩和加密只是一个副作用。睡眠和PowerPC管道加密与地址代以这样一种方式,它对性能影响很小。

随机的地址偏移量并不新鲜。地址空间布局随机化(本)已经存在了一段时间,和主流操作系统Windows, iOS和Android都使用它。但本是一次性抵消补充说当一个程序是第一次加载。睡眠需要这个概念和重复在频繁的时间间隔,否认攻击者所需的时间算出随机抵消。

的50-millisecond re-randomization时期——睡眠团队称之为“生产”——不是混凝土。他们到达后这一数字测试和模拟。短时间让黑客更艰难,但是头顶的不利影响性能。,团队估计睡眠需要5 - 10%的性能影响,由于所有的额外的工作。

奥斯汀指出,极短生产周期(10 ms的)将迫使攻击者身体靠近硬件受到攻击。周转时间通过几个典型网络路由器会吃的大部分生产期间,黑客留下几乎没有时间提交他们的可耻行径。

作为一个额外的保护,睡眠可以立即启动生产,如果它检测到攻击正在进行中。所以即使50毫秒的延迟是坏的。

睡眠是基于RISC-V,主要是因为它是一个开源的CPU规范,鼓励实验。“这可能远远超出RISC V,远远超出一个CPU。底层实现的概念本身是独立的,”奥斯丁说。

可悲的是,安全措施成为强制我们设计的一部分,从硅布局。增加了一层不必要的复杂性,这是浪费精力如果它不完美的工作。睡眠的技术似乎非常有效,适用于任何CPU、DSP,或GPU,根据它的设计师。如果研究取得成功,也许睡眠新硬件设计将成为一个标准的一部分,和一个更少的事情担心。

留下一个回复

有特色的博客
2023年2月7日
DesignCon期间有两个主题演讲,一本古,节奏的系统分析业务的副总裁,另一个波士顿动力公司的德文·比林斯,本周晚些时候,我将涵盖。实际上有一个第三,本教程前一天适当的会议上,但是……
2023年2月2日,
我们分享我们的预测为高性能计算(HPC) 2023年,包括边缘计算解决方案的发展和人工智能和机器学习的兴起。《华盛顿邮报》前五名HPC的趋势在2023年第一次出现在来自硅软件....
2023年1月30日
Hossam Sarhan工作更聪明,而不是更辛苦。不是每个人都总是告诉你什么?当然,优秀的建议,……
2023年1月19日
你有问题调整表带或交换你的手表电池吗?如果是这样的话,我很高兴消息的信使....

以注入式教学法亚博里的电子竞技

启用数字转换与节奏云电子设计

节奏设计系统

先进的节点增加设计尺寸,复杂性,和更快的上市时间要求,设计团队正在寻找可伸缩性、简单,灵活性和敏捷性。在今天的注入式教学法,亚博里的电子竞技阿米莉亚道尔顿和Mahesh Turaga聊天对节奏的端到端云的细节组合,如何延长on-prem环境与一个按钮的推的节奏的新混合云,抑扬顿挫的云解决方案可以帮助您从设计创建系统设计等等。

点击这里获取更多信息节奏云组合

Baidu