现场可编程门阵列,简称FPGA,是一种灵活可编程的计算机芯片,在计算终端中广泛应用,被认为是非常安全的组件。
在一项联合研究项目中,科学家发现FPGA芯片中隐藏着一个严重漏洞——Starbleed。
攻击者可以通过该漏洞完全控制芯片及其功能。由于漏洞已集成到硬件中,因此只能通过更换芯片来消除安全风险。FPGA的制造商已经被研究人员告知,并且已经做出了反应。
从云数据中心和移动电话基站到加密的USB存储器和工业控制系统,FPGA芯片可用于许多安全关键型应用中。与具有固定功能的常规硬件芯片相比,它们的决定性优势在于其可重新编程性。
这种重新编程的可能性是存在的,因为FPGA的基本组件及其互连可以自由编程。相反,传统的计算机芯片是硬连线的,因此专用于单一目的。FPGA的关键是比特流,该文件用于对FPGA进行编程。
为了充分保护它免受攻击,厂商通过加密方法保护比特流。但是来自HorstGörtz研究所的Amir Moradi博士和Maik Ender博士与德国Bochum的Max Planck研究所的Christof Paar教授合作,成功解密了该受保护的比特流,获得了访问文件内容并对其进行修改的能力。
作为研究的一部分,科学家们分析了Xilinx的FPGA,Xilinx是现场可编程门阵列的两个市场领导者之一。Starbleed漏洞通过四个FPGA系列Spartan、Artix、Kintex和Virtex以及以前的版本Virtex-6(影响当今的Xilinx FPGA的很大一部分)影响Xilinx的7系列FPGA。
Amir Moradi报告:
我们向Xilinx通报了此漏洞,随后在漏洞披露过程中密切合作。此外,在制造商的最新系列中极不可能出现此漏洞。
为了克服加密技术,研究团队利用了FPGA的核心特性:重新编程的可能性。这是通过FPGA本身的更新和后备功能完成的,但该功能将自身暴露为弱点和网关。
科学家能够在配置过程中操纵加密的位流,以将其解密内容重定向到WBSTAR配置寄存器,该寄存器可在复位后读出。
由此,如科学家在研究工作中所示,对芯片进行单独重新编程的优势变成了劣势,带来了严重的后果:
如果攻击者获得了对比特流的访问权限,他还将获得对FPGA的完全控制。比特流中包含的知识产权可能被盗。还可以通过操纵比特流将硬件特洛伊木马插入FPGA。由于安全漏洞位于硬件本身中,因此只能通过更换芯片来弥补。
尽管需要详细知识,但最终可以远程进行攻击,攻击者无需物理访问FPGA。
本文转载自微信公众号“安全牛”