当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > 嵌入式处理器面临侧通道攻击

嵌入式处理器面临侧通道攻击 时间:2020-05-22      来源:原创

工程界和普通民众早已习惯了为修补软体漏洞而频繁更新App或安装作业系统补丁。而这里所说的不同,罪魁祸首是硬体,而硬体更新可不便宜。修补硬体漏洞唯一可行的方法是发布新的软体,以降低系统速度与能效为代价,遮蔽易受攻击的硬体功能或避免使用它们,Meltdown和Spectre的发现引发了一系列针对硬体安全的调查。

截至目前,安全研究人员已经公布了更多的硬体漏洞,包括Foreshadow、ZombieLoad、RIDL和Fallout。这些硬体缺陷危及个人电脑、智慧型手机甚至云端的安全性。

图1 攻击者进程透过基于行填充缓冲区(LFB)的微架构侧通道从受害者进程中窃取机密资料。受害者和攻击者进程处于不同的安全域中。(资料来源:S. van Schaik等人,RIDL:Rogue In-Flight Data Load)

嵌入式系统是否就安全了呢?

围绕着处理器的安全性漏洞有一个共同主题是它们都针对具有先进性能最佳化的现代高阶实现功能,事实证明,这些先进功能可能被恶意目的利用。

而嵌入式系统通常采用相对简单的处理器实现。它是一个封闭的环境,供应商应该可以更严格地控​​制它。实际上,在DVCon US 2019会议上,在开放式指令集架构(ISA)的验证和合规性讨论时这个问题已经被提出来。开放式ISA,特别是RISC-V,以及MIPS等,提供优于专有架构的优势,越来越受到半导体产业和嵌入式设备社区的关注。

嵌入式处理器被应用于许多连网系统,例如工厂、智慧家居、物联网(IoT)设备、医疗设备和消费电子产品,以及自动驾驶、飞机和其他生命安全攸关关键应用。

不同于普遍的看法,嵌入式平台上执行的软体来自多个通常不可信的来源,例如那些允许使用者执行协力厂商应用程式或运作来自多个供应商和开放原始码库的大型软体堆叠平台。为了最大化硬体利用率并降低成本,关键和非关键应用程式在同一物理处理器上运作。例如,汽车电子控制单元(ECU)可以在同一处理器核心上执行资讯娱乐程式码,以及安全相关功能。

直到最近,安全防护还主要集中在软体堆叠上,其硬体提供诸如信任根的底层防护功能。RISC-V基金会将精力主要放在安全平台和机制的实现上,以防止不受信任的程式码影响关键系统功能的完整性。这些安全功能对于验证软体更新至关重要,从理论上讲,这些方法没有问题,不受信任的软体只能在定义好的保护壳内运作,无法突破或窃取安全区域的敏感资讯。

漏洞并非高阶处理器独有

不幸的是,还有一个复杂的问题。

最近,电脑科学家公布了一种新型攻击,称为Orc攻击,它威胁到嵌入式应用中常用的简单处理器。最重要的是,该篇报告作者已经证明,很小的实施决策可能会产生或者防止严重的硬体漏洞。「这里的关键点在于,即使是简单的设计步骤,例如添加或删除缓冲区,不经意间也可能在任何处理器中引入隐蔽通道漏洞,」发现Orc攻击的Kaiserslautern-Stanford团队成员Mo Fadiheh说。

最终的结果是,Orc和侧通道攻击打破了特权级和用户级域之间的隔离。加密和安全验证可以被绕开,恶意代理程式可以推断出秘密资料,包括密码、社会安全号码和医疗记录;暴露用于验证韧体更新的金钥可能允许攻击者载入自己的程式码并以更高的许可权执行它或替换作业系统中的某些功能;用于DoS攻击的后门或终止开关可能被添加;还有无数的可能性。「从理论上讲,骇客可以使用Orc漏洞来控制自动驾驶车或者征用物联网上连网的电脑,」史丹佛大学(Stanford University)电子工程和电脑科学教授、Kaiserslautern-Stanford团队成员Subhasish Mitra说。

业界已经意识到了这些风险,并正在积极寻求解决方案。例如,英飞凌(Infineon)就参与了发现Orc漏洞的研究工作。

防止硬体漏洞的系统方法

证明微架构侧通道不存在很复杂。硬体安全验证不仅仅是确保正确实施ISA安全功能,开发和分析威胁模型也是不够的,因为攻击场景需要被提前辨识。

发现Orc漏洞的同一个团队发明了一种强大的方法可以在大规模生产和部署IC之前检测设计过程中的硬体漏洞,这就是唯一程式执行检查(UPEC),它可以系统地检测来自处理器微架构和较小实施决策中的漏洞。

「Orc漏洞的出现反映出,晶片设计师每天都会做出的看似无害的设计决策,但可能会导致严重的缺陷,」威斯康辛大学麦迪逊分校(University of Wisconsin-Madison)教授、电脑架构专家Mark D. Hill指出。「透过UPEC,设计人员可以更加自信地发现并消除设计中所有潜在的隐蔽通道缺陷。」

嵌入式系统需要高完整性的IC

在嵌入式系统中,不太可能完全信任和控制软体堆叠的所有层。因此,即使使用简单的处理器核心,利用硬体实现中漏洞实施的微架构侧通道攻击也会对安全造成真正的威胁。

基于RISC-V ISA的开放原始码硬体为更高级别的安全审查提供了机会。但同时,恶意代理软体也可以对设计执行详细分析并发现低级漏洞。

图2 除一些受保护的秘密资料外,UPEC创建包含相同资料的同一运算系统的两个实例。基于形式验证的分析揭示了是否有可能构建程序在未被授权访问秘密资料的情况下在两个系统中以不同的方式执行。(资料来源:MR Fadiheh等人,Processor Hardware Security Vulnerabilities and their Detection by Unique Program Execution Checking。)

而且嵌入式设备一旦部署,更换处理器就很困难且成本高昂。所以,替代方案就是在部署之前即辨识硬体漏洞来防止侧通道攻击。UPEC是一种强大的硬体安全验证技术,其基于形式验证的属性检查,可以系统地辨识硬体寄存器传输层(RTL)设计模型中的漏洞,而不用依靠专业知识来猜测可能存在的问题。

当前UPEC的实施是利用OneSpin Solutions提供的IC完整性来保证产品构建。资料安全性(Security)是IC完整性的基石,当然还有信任、功能正确性和生命安全性(Safety)。各种因素相辅相成,例如安全性漏洞或硬体木马可能会危及自动驾驶车的安全性。可见,IC完整性对如今的数位世界至关重要。

上一篇:STM32都学什么

下一篇:嵌入式视觉将成为划时代的产品

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2020 北京华清远见科技发展有限公司 版权所有 ,京ICP备16055225号京公海网安备11010802025203号

回到顶部