【原创】FPGA 的 StarBleed 漏洞,真有那么可怕吗?

winniewei 提交于 周五, 04/24/2020
【原创】FPGA 的 StarBleed 漏洞,真有那么可怕吗?

作者:张国斌

2011年,德国鲁尔大学的两位博士花了3000美元和7个小时成功破解了Mifare DESFire MF3ICD40使用的安全算法,但这个破解在现实生活却没有任何价值,因为一颗RFID芯片的价值只有几分钱,没人傻到去花大钱去破解一个几乎免费的芯片。

2019年,也是在鲁尔大学,霍斯特·戈茨IT安全研究所两位博士Amir Moradi和Maik Ender博士与来自Bochum Max Planck研究所的Christof Paar博士在一项联合研究项目中惊喜地发现FPGA中隐藏了一个安全漏洞(请注意 ,两位博士用了vulnerability这个词而不是Loophole,其实是说这是一个脆弱性,隐忧,隐患,而不完全是个漏洞,很多媒体翻译成漏洞,姑且就这样说吧)。他们称这个漏洞为“ StarBleed”。他们发现,攻击者可以利用此漏洞同时攻破FPGA配置文件的加密(confidentiality)和鉴权(authenticity),并由此可以随意修改FPGA中实现的逻辑功能。他们称这个漏洞并不能通过软件补丁的方式修复,一旦某个芯片被攻破,就只能通过更换芯片的方式修复。

【原创】FPGA 的 StarBleed 漏洞,真有那么可怕吗?

这个发现让很多自媒体首先高潮了,以为在CPU领域的安全漏洞已经在FPGA领域重现。

但其实仔细看看这个所谓的“破解”,其所称的影响远没有那么大。

首先,这次研究的是赛灵思的芯片,如果研究的是其他公司的芯片,是不是也有这个问题?肯定会有!因为破解人员用的方法就是破解FPGA的比特流文件和或获取鉴权密钥这是所有FPGA都用的方法!

FPGA和CPU、ASIC等相比有很大不同,FPGA只相当于一块芯片半成品,它内部只有大量的可编程逻辑资源和一个固化的硬核IP,也不需要运行什么操作系统,开发者想要FPGA完成什么功能就把自己设计的系统逻辑导入到FPGA里,比如完成一个视频编解码,或者一个音频处理等,要把自己的设计导入到FPGA里面,一般采取的方法就是通过一个“比特流(bitstream)”文件完成,它包含了FPGA设计的全部信息,一般对比特流文件的保护方式就是加密和鉴权。加密指的是使用特定算法对比特流文件进行处理,将其转换成密文,使得其中的内容对外不可见。鉴权指的是对加密后的比特流文件进行身份验证,防止对其进行篡改和删减。

这次研究人员的破解就是在实验室理想情况下先对赛灵思的FPGA比特流文件进行破解,然后破解鉴权,获得FPGA设计信息,由于比特流文件大小不同,一次破解的时间也不同,据悉,读出一个32位字大概需要7.9毫秒,因此破解一个Kintex FPGA的比特流就大概需要3小时42分钟。

其次,请注意我说的是实验室理想情况下,这是被很多人忽视的,什么条件?就是在实验室在近距离进行破解,说穿了就好比你家里有个密码锁,有个贼想去破解,就蹲在你家门口进行不断的实验密码,你觉得这个事情现实中可能发生吗?

在实际应用中,没有客户会对外开放一个任人随意进入的接口的。如果不是自己不加解密,不对外开放接口,就必须是在像实验室这种物理上可以接近客户系统的情况下才可以实现。而如果客户可以以近距离接近系统,那安全就不只是芯片了,对吧。

所以一名赛灵思发言人对外媒表示,“要执行所谓的Starbleed攻击,唯一被证明有效的方式是在物理位置上接近系统。当攻击者在物理位置上接近系统时,存在许多其他的威胁需要担心,认识到这一点也很重要我们建议所有的客户采用篡改保护机制设计系统,以使物理位置上接近访问难以达成。”赛灵思公司也提供了一些解决方案,详见:

https://www.xilinx.com/support/answers/73541.html

第三,这次破解的是赛灵思20nm的产品主要是Spartan,Artix,Kintex和Virtex早期版本等,它们基本也都是10年前的产品,两位博士也表示后续的赛灵思产品不存在这个问题。

另外,也有媒体说这次破解说明FPGA的可编程性变得不可靠了,这充分暴露了一些媒体小编的无知,简直堪比”吃饭会噎死人所以我们以后别吃饭了“这样的论调。FPGA的可编程性是这个产品的的最大优势,可编程性是没有可靠不可靠之说的,可编程性只是FPGA的一个芯片特性。如果说可编程性不可靠就等于说吃饭不可靠一样可笑。

综合而言,这个漏洞的影响远没有媒体传言的那么大,我记得一位俄罗斯大神说过“世界上没有破解不了的东西”,是的,任何加密设计的产品背后都是一连串的数字代码,只要有足够的钱足够的时间都可以进行破解出来,关键是这样的破解成本和时间价值,其实这就是一个投入和产出的经济学问题。

安全很重要,但是安全就是一种设计和成本的妥协。

现在,疫情形势很严峻,我们没必要在这里杞人忧天,整天担心自己的FPGA设计被破解,还是尽快开发新设计吧。

其实,每天我们用的widows系统都在被黑客破解和攻击,我们不是还在用它吗?

如果要查看德国博士的破解论文,请点击阅读原文链接

注:本文为原创文章,转载请注明作者及来源

相关文章

Digi-Key