波鸿鲁尔大学霍斯特·戈茨IT安全研究所和马克斯·普朗克网络安全与隐私保护研究所的研究人员在一项联合研究项目中发现,FPGA中隐藏了一个关键的安全漏洞,该漏洞会影响Xilinx FPGA芯片组,他们称这个漏洞为“ StarBleed”。
攻击者可以利用该漏洞(无论是物理访问还是远程访问)提取并篡改FGPA的比特流(配置文件),从而使用恶意代码对芯片进行重新编程。
什么是FPGA?
FPGA(Field Programmable Gate Array)——现场可编程门阵列,是指一种通过软件手段更改、配置器件内部连接结构和逻辑单元,完成既定设计功能的数字集成电路。顾名思义,其内部的硬件资源都是一些呈阵列排列的、功能可配置的基本逻辑单元,以及连接方式可配置的硬件连线。简单来说就是一个可以通过编程来改变内部结构的芯片。
FPGA的关键是比特流,可用于调整和重新配置FPGA。为了充分保护芯片免受攻击,通过加密过程来保护位流。
Starbleed漏洞
研究发现,FPGA市场领导者Xilinx出售的FPGA芯片组存在安全漏洞,诸如7系列(Spartan、Artix、Kintex和Virtex系列)和6系列(Virtex)等Xilinx FPGA容易受到攻击。
Starbleed漏洞使攻击者可以破解比特流加密并篡改比特流中的存储,从而在被攻击的设备上加载自己的恶意代码。Starbleed攻击需要物理访问FPGA的JTAG端口。但是,如果FPGA比特流是从微控制器或其他网络源加载的,则可以通过定位比特流的加载位置来远程进行攻击。
更换芯片是唯一的途径
研究小组表示,他们于去年9月告知了Xilinx Starbleed漏洞的存在,Xilinx在电子邮件中承认有可能会发生Startbleed攻击,但目前公司已经针对这一问题进行了处理,降低了漏洞的危险性。
但是,除了完全替换FPGA外,目前没有其他方法可以解决这个问题。由于安全漏洞位于硬件本身中,因此只能通过更换芯片来弥补。
好消息是,新一代Xilinx UltraScale不容易受到这种攻击。
责任编辑:大脸肥飞猫、边小白