幽灵、熔毁、预兆、行锤击、捣乱者——突然之间好像
我们可能面临着一次系统设计危机。对此,我们可以做什么呢?本文中,我们探讨了现有方法是否够用,以及在哪些地方需要投入大量新工作。
1 去证明,不要去打补丁
现有的许多商业
2 深入硬件的背后
近年来,我们很清楚地意识到,我们在很多方面都做得还不够。第一,处理器硬件(通常要经过广泛的验证)长期以来一直被认为是软件的坚实基础,但其自身的漏洞也越来越多。第二,系统由来自多个供应商的多种软硬件组装而成,方式和复杂性都不断增加,这意味着我们不能只从单一处理器构架的角度来思考。我们需要站在全局考虑,认识到这一局面的复杂性。第三,也是最严重的,这些新的攻击涉及到跨越传统构架抽象的现象,这些抽象故意只描述硬件实现所允许的功能行为的外部,以允许实现性能的变化。这一灵活性对硬件性能的提升至关重要,但是攻击涉及通过性能属性进行的微妙信息流。它们揭示了一些微架构创新的潜在后果,这些创新在过去几
3 硬件漏洞
理想情况下,必须从一开始就建立安全机制。我们如何通过建立安全硬件的基础来解决这一问题呢?
多年来,硬件安全对很多人而言都意味着聚焦于物理层。电源/电磁波侧通道和故障注入是提取
物理层安全社区的一个经验教训是,实现是至关重要的。硬件定义语言(hardware definition languages, HDLs)被编码成库逻辑单元之间的连接,然后放置和路由逻辑单元,生成芯片层设计。任何层级的小纰漏——从架构到硬件定义语言源和编译器、到单元晶体管定义、路由、功率、热学、电磁学、掺杂剂浓度和晶格——都可能导致潜在的可攻击故障。与恶意软件的二进制
最近的攻击表明,侧通道正变得越来越强大,远超预期。传统的物理层侧通道是“区分信号与噪声”的问题。如果我们记录了足够多的电源使用情况,并有足够强大的信号处理能力,那么我们就能提取密码。架构侧通道具有更大的带宽和更好的信噪比,能更可靠地泄漏更多
如果站在系统的角度,我们如何看待这个问题呢?首先,整体的问题比各部分问题之和更严重。系统由不同的组件构成,通常来自不同的供应商,它们得到的资源访问权限也比完成目标所需的权限要大;这对攻击者来说非常有用。例如,在
硬件
4 目标是精心设计的可靠系统
安全防护的全系统方法很重要(参见Bellovin3等
另一种方法是确保提供更丰富的背景信息,让硬件理解和加强安全特性。作者在一个团队中设计、
这种构架的有效性提高了目前的不安全语言(如C/C++)实现的安全性,并可以将已证明安全的操作系统内核置于更安全的基础之上。相似的方法还可以应用到其他领域,例如用在系统级芯片(system-on-ch
设计这类系统需要具有更全局的视野,硬件、操作系统和应用之间的相互影响更密切。设计者尤其需要对各层次之间发生了什么有更深入的理解,无论这些知识是否超出了其专业领域。更好的构架模型会实现更稳健的安全特性验证,在多个项目之间分摊验证成本有利于防护者而不是攻击者。这种验证必须具有包容性,
更好的验证能够保护我们不受抽象中存在的新漏洞的威胁,但是不能防护那些涉及与未建模现象相关的漏洞。悬而未决的问题是:是否存在构架规范与完整的硬件实现之间的抽象,让我们彻底推断出潜在漏洞,而不必如此棘手复杂?
5 结论
传统的模型——设计者在严格限制的层次中有自由权——已经不再适用。软硬件系统
(供稿人:唐川)
声明:本文来自新一代信息
原文
本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。
PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深