广告

嵌入式处理器面临旁路攻击

2019-08-20 Raik Brinkmann,OneSpin Solutions联合创始人、总裁暨CEO 阅读:
嵌入式处理器面临旁路攻击
工程界和普通民众早已习惯了为修补软件漏洞而频繁更新App或安装操作系统补丁。而这里所说的不同,罪魁祸首是硬件,而硬件更新可不便宜。修补硬件漏洞唯一可行的方法是发布新的软件,以降低系统速度与能效为代价…

2018年1月,计算机安全研究人员披露了两个重大的处理器安全漏洞——熔断(Meltdown)和幽灵(Spectre),恶意软件可以利用这些漏洞窃取安全数据。ZtIednc

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

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

017ednc20190819ZtIednc

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

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

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

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

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

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

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

漏洞并非高阶处理器独有

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

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

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

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

防止硬件漏洞的系统方法

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

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

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

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

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

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

018ednc20190819ZtIednc

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

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

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

(原文发表于ASPENCORE旗下EDN姐妹媒体EETimes,参考链接:Side-Channel Attacks on Embedded Processors,by Raik Brinkmann;本文同步刊登于EE Times Taiwan 8月刊杂志)ZtIednc

 ZtIednc

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 【直播】无线蓝牙,伴你随行!与10位大咖实时讨论蓝牙如何 聚焦年初揭晓的LE Audio标准、蓝牙5.2核心规格版本、蓝牙音频传输、设备网络及解决方案,你所关心的问题在直播都能问到,还不来参加?报名参与直播不仅能了解到蓝牙前沿技术,更有机会抽中20份大礼哦(飞利浦蓝牙耳机10个、小米AI音箱10个)
  • 华为发布边缘计算解决方案:昇腾智能制造使能平台 最近两年,边缘计算越来越受到业界的重视,世界巨头企业均在这个领域投入了较大资源,昨日,华为发布了昇腾计算智能边缘解决方案:昇腾智能制造使能平台。
  • 任正非送别荣耀:分手后就不要藕断丝连,要做华为最强的对 华为心声社区11月26日发布任正非在荣耀送别会上的讲话,谈到为什么剥离荣耀,他表示,华为不能因为自己受难而拖代理商、分销商下水,要尽快地恢复渠道的供应。他还表示,荣耀与华为一旦“离婚”就不要再藕断丝连,荣耀要做华为全球最强的竞争对手,超越华为,甚至可以喊打倒华为……
  • 英伟达 GeForce RTX 3060 Ti 3DMark跑分曝光,较上代 RT 在显卡领域,英伟达的实力是公认的首屈一指,英特尔、AMD虽然差距较大,但一直在追赶,于是,英伟达就自己与自己竞争,最近,即将发布的 GeForce RTX 3060 Ti 3DMark跑分曝光:与 RTX 3070 的性能差距在 10%,较上代 RTX 2080 Ti 领先 15%。
  • M1芯片只需半颗?拆解新款旧版MacBook Air/Pro,揭秘真相 iFixit针对M1版MacBook Air/Pro的拆解出来了!但是,M1芯片只有半颗?基于Arm架构的M1只需一半?这可能是业界最大的误读!此前,EDN发表了多篇文章:《M1 Mac系列横向评测》,《M1与Intel处理器纵向评测》等,今天,我们带来最全最完整的的拆解解读。M1芯片只有一半的谜底也将解开。
  • 信号发生器输出功率不够大怎么办? 典型的信号发生器可提供25mV至5V输出电压。为了驱动50Ω或更大的负载,一般会在输出端使用大功率分立器件、多个并行器件,或者成本高昂的ASIC。其内部通常使用继电器来调节输出电平,因此会在一定程度上导致工作不连续。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了