IoVSecurity
手机阅读


Xilinx可编程逻辑产品中新发现的一个不可修补硬件漏洞可让攻击者破坏比特流加密,克隆知识产权,更改功能,甚至植入硬件特洛伊木马。
Horst Goertz Institute for IT Security和Max Planck Institute for Cyber Security的一组学者在一篇题为“不可修补硅:Xilinx 7系列FPGAs比特流加密的全面突破 "The Unpatchable Silicon: A Full Break of the Bitstream Encryption of Xilinx 7-Series FPGAs" (报告下载链接:https://www.usenix.org/system/files/sec20fall_ender_prepub.pdf ) ”的论文中详细介绍了对Xilinx 7系列和Virtex-6现场可编程门阵列(FPGAs)的攻击还有隐私。
研究人员说:“我们利用了一个设计缺陷,它会分段泄漏解密的比特流。”在攻击中,FPGA被用作解密oracle,而只需要访问配置接口。攻击不需要任何复杂的工具,而且根据目标系统的不同,可以远程发起攻击。”
研究人员表示,他们于2019年9月24日向Xilinx秘密披露了这些漏洞。作为回应,这家半导体巨头发布了一份设计咨询,承认该漏洞。
该公司在警报中指出:“这种攻击的复杂性类似于针对这些设备的众所周知且经过验证的DPA攻击,因此不会削弱其安全性。”
利用CBC模式加密和解密任意块
FPGA是可编程集成电路,可以根据需要在现场重新配置以匹配所需的应用程序或功能。由于其高度的灵活性,FPGA已广泛用于5G移动网络,消费电子,数据中心,航空航天和汽车技术的开发中,
值得注意的是,赛灵思和英特尔(通过对Altera的收购)主导了FPGA市场,仅赛灵思就占据了近50%的市场份额。
研究人员说,由于FPGA设计是在比特流中编码的,因此这种规模的硬件漏洞可能会带来严重的后果。
与其他已知的针对Xilinx和Altera FPGA的侧通道攻击和探查攻击相反,新颖的“低成本”攻击旨在通过利用配置接口(例如SelectMAP或JTAG)从硬件读取数据来恢复和操纵比特流。FPGA器件。
作为一项功能,“readback”旨在帮助验证设计是否已正确下载到设备。但为了保护设计,比特流被加密(CBC模式下的AES-256)以防止所有外部端口上的回读。
研究人员设计的攻击旨在操纵加密的比特流,将其解密的配置数据重定向到多引导起始地址寄存器(WBSTAR或Warm Boot start address),该寄存器允许在远程更新的动态图像之间切换,并将具有已知良好设计的回退比特流加载到FPGA设备中。
但是考虑到使用闪存存储这些组件,复位不会清除寄存器的内容。因此,可以按以下方式破坏比特流的机密性:
研究人员说:“总之,如果FPGA装有加密密钥,它将解密加密的比特流,并将其写入攻击者的可读配置寄存器中。”
“因此,FPGA用作解密预言。每次迭代只能发现单个32位字这一事实决定了解密整个比特流的持续时间:在我们的实验中,我们能够发现完整的Kintex-7例如,XC7K160T比特流只需3小时42分钟。
在第二种类型的攻击中,FPGA可用于加密任意比特流-再次利用基础CBC模式-并创建有效的消息身份验证标签(HMAC),从而也破坏了比特流的真实性。
据研究人员称,这种攻击源于一个陷阱,即加密的比特流标头的数据在被验证之前就已经被解释了,从而允许恶意比特流在FPGA的逻辑结构上运行。
无法修补缺陷
考虑到攻击是基于协议中的缺陷,研究人员指出“如果不重新设计FPGA硬件,对安全协议进行任何类型的重大改变都是不可能的,并且目前不适用于7系列和Virtex。 -6个设备。”
除了建议硬件开发人员对输入数据进行加密验证并使用可修补的比特流加密引擎(Xilinx的Zynq-7000,UltraScale和UltraScale +设备均已采用这两种功能),还提出了许多对策,例如实施混淆方案或修补PCB以使用FPGA的版本选择引脚,以防止从WBSTAR寄存器中读取数据。
研究人员总结说:“我们认为这是一次严重的攻击,因为(具有讽刺意味的)没有机会修补密码协议的底层芯片。” “我们注意到7系列在FPGA市场中占有相当大的份额,这使得更换这些器件变得更加困难或不可能。”