首页 > 技术 > 内容

fpga系列产品的漏洞机理分析

时间:2026-01-24  作者:Diven  阅读:0

各位亲爱的FPGAer老铁,又到了令人愉悦的周五了,作为回归后的第一篇文章,小弟我彻夜难眠,一直在想写什么精彩的内容才能对得起自己吹的牛皮。真的是翻来覆去,思绪万千,翻开有道、印象、github、PornHxx,最终决定还是给大家讲一个大家都很关心的事情——《如何守住自己的秘密》。

很多小伙伴就会问了,是什么秘密呀,《不能说的秘密》还是《维多利亚的秘密》,快点快点,小马扎已经备好了,我要吃瓜!!!

我相信作为在座的每一位FPGAer都是一名优秀的时间管理大师,毕竟时序约束那点破事(点赞转发过2000,马上安排),咱不是天天在玩嘛。我觉得既然咱们花了那么多时间管理的设计,如何能保证秘密更应该值得深入研究。

咱们华夏子弟个顶个的聪明,个顶个的比别人努力,如今这么卷的行业赛道里,如何保证自己辛辛苦苦堆出来的优秀设计不被别人剽窃,当然了,更不能让别人反向出咱自己写的垃圾代码,不然多丢面呀,以后还混不混了。

今天我就给大家介绍一下和一位FPGA行业大牛讨论关于加密的内容,整理出来分享给大家,希望大家都能打起100万的精神,守卫自己的秘密花园。
 

01

设计加密简介

很多小伙伴对于加密的概念都不陌生,小到我们日常使用的银行卡加密,手机机密(密码、生物特征加密)、门锁加密,大到国家机密等,无一不是加密技术保护着我们个人的生命和财产安全。

今天我们主要介绍一下关于FPGA加密技术的介绍:

把自己的设计封装成ip,提供lICense的方式保护自己的设计;

把自己的设计封装成网表,保护自己的源代码设计;

把自己的设计代码故意改的乱七八糟,增加阅读难度和可行性(恶心自己也恶心别人),主打一个刺激。

为了保护自己辛辛苦苦,熬夜掉头发搞出来的设计,能使用的手段必须统统使出来。但是,你以为这样就安全了吗?

当初小弟我也以为自己的设计经过上述的操作,基本万无一失,谁来都无法剽窃我的设计,除非给的足够多!自从和大牛聊完以后,发现自己的设计在FPGA芯片设计大牛眼里,我在裸奔!

大牛给我说,其实对于前面说到的任何加密内容,最后都会落盘到bit位流中,对于FPGA芯片设计人员,有这份位流已经足够破解我的设计。

所以,为了防止FPGA泄密,保护最终的bit位流才是关键所在。

大牛给我分享了一个链接,我这才知道,原来国际知名大厂AMD-XILINX的7系列以及之前的FPGA系列产品,在bit位流安全性存在严重的缺陷和漏洞,今天我就带着大家深度扒一扒。

1 存在StarBleed硬件漏洞

2020年4月,来自德国的研究者在论文“The Unpatchable SilICon A Full Break of the Bitstream Encryption of Xilinx 7-Series FPGAs”中披露了一个名为“StarBleed”的漏洞,存在于赛灵思的Virtex、Kintex、Artix、Spartan等全部7系列FPGA中。通过这个漏洞,攻击者可以同时攻破FPGA配置文件的加密和鉴权,由此可以获得用户的FPGA设计同时可随意修改FPGA中实现的逻辑功能。严重的是,这个漏洞并不能通过软件补丁的方式修复。漏洞的发现者已于2019年9月将这个漏洞知会了赛灵思,并在第二天就获得了赛灵思的承认。 该漏洞攻击的成本非常低,无需特别深奥难懂的专业知识,一般的硬件工程师就能按照论文完成破解。AMD-XILINX主流产品XC7K325T仅三小时即能完成的全位流破解。

2 不抗DPA攻击

AMD-XILINX FPGA对加密位流的解密方案采用了CBC-AES,在实现中并没有加入侧信道的防护措施,因此理论上就存在被侧信道攻击的风险。早在2011年,Moradi(StarBleed漏洞的第二发现者)等就在赛灵思 Virtex-II上使用侧信道攻击获得了位流的加密密钥。接下来,又使用功耗侧信道攻击了赛灵思 Virtex-4、Virtex-5以及Altera Stratix II的加密位流,并获得了加密密钥。2016年,又使用电磁侧信道攻击方法,成功攻击了Virtex-5、Spartan-6、Kintex-7和Arix-7 由于大牛是国内某FPGA大厂研发中心的核心设计人员,在小弟我三番五次,不要脸的请求下,给我展示了国内某安全实验室团队完成的XILINX XC7K325T的DPA侧信道攻击。 该攻击方法为采用Langer 的电磁探头采集EM信号,采集EM信号需要对FPGA进行开盖,去除表面金属封装,发现在FPGA芯片边缘的电容上可以找到较好信噪比的波形,下图是实际的采集位置和使用的U5-2的EM Probe。

测试平台架构

FPGA芯片开盖(V4)

信号采集位置(K7)

上文给兄弟们介绍了AMD-XILINX的7系列以及之前的FPGA系列产品的漏洞机理,接下来给大家展示一波,DPA攻击方法:

1)信号处理 使用U5-2 型号的EM探头采集8万条K7解密的曲线,采样率1G,采样数据FFT分析后进行滤波处理。 取2000条曲线进行平均,曲线如下:

在曲线下半部可以看到AES执行的26个尖峰毛刺,非常明显。 2)已知密钥分析 通过已知密钥分析,来定量密钥与泄露的关系 3)选择密钥攻击 4)攻击: 本次实验,使用EM Probe采集Xilinx Virtex-4和Kintex-7系列的FPGA解密比特流过程的曲线(V4:需要1.25*8=10万条左右;需要K7:15*8=120万条左右),经过信号处理后可以在黑盒测试条件下通过选择密文的方式,对解密过程进行CPA分析,从而恢复解密密钥。

3 密钥存储方式不安全

AMD-XILINX FPGA密钥存储支持两种模式: 1)BBRAM电池供电存储 已有公开文献发表,可通过激光注入读取BBRAM中保存的明文密钥,且BBRAM需要电池供电,应用可靠性大大降低。  

2)片上熔丝EFUSE存储 同样片上熔丝可通过简单的暴力逆向工程,获得密钥。

4 加密结束语

咱们说了这么多加密内容和破解加密的方法,就是为了让各位老铁知悉,一旦让别人窃取到FPGA密钥,就可以轻松破解出明文的bit位流,自然而然的是有方法反向出咱这千辛万苦设计出来的代码,从而让我们丧失商业竞争力和能动性。

 

加密寄语

 

面对这么严重的FPGA位流安全漏洞,很多AMD-XILINX FPGA的忠实粉丝却没有任何怨言,不是店大欺客,而是2020前,真的没法弥补,甚至无法替代。

话都到这份上了,各位FPGAers肯定会问,那这咋办呢,如果有加密需求的设计,那这X家又没有补丁可以把这个漏洞打上,这以后还能不能用家的产品了。

万水千山总是情,问问本编行不行,这两年俺也不是白白下海的,随着国产化的浪潮大趋势,国内的FPGA厂家踏着集成电路法阵的浪潮来了,后续有机会可以找机会与交流,且看是如何解决加密问题!

编辑:黄飞

 

猜您喜欢


表笔是应用于各种测量和绘图领域的工具,精确的测量能力和便捷的使用方式,深受专业人士和爱好者的喜爱。表笔通常由高品质的材料制成,确保其在长期使用中的稳定性和耐用性...
2017-11-01 00:00:00
电解电容是电子设备中常见的元件。在工作时储存电能,但在维修或更换时,放电是非常重要的。本文将介绍电解电容放电的正确方法。 准备工具开始放电之前,先准备好工具。需...
2025-04-01 23:31:07
“实名羡慕!为什么你家的机器人精准到能!绣!花!”机器人的执行单元需要精确的位置定位来实现灵敏的机械控制。MA600 采用 TMR 技术检测磁场,是一款专用于...
2025-01-08 15:12:00
你是否想过,为什么手机可以用充电宝充电,笔记本电脑却需要笨重的适配器?这背后,就离不开一种叫做DC转换器的神奇元件。简单来说,DC转换器就像是一位电力翻译官,可...
2024-01-10 00:00:00
打蜡机是专为汽车、地板和其表面打蜡而设计的高效工具。通过电动或手动的方式,将蜡均匀涂抹在表面,形成保护层,增强光泽度,延长物品的使用寿命。现代打蜡机通常配备多种...
2013-02-26 00:00:00
粘尘垫是高效的清洁工具,应用于工业、医疗、电子等多个领域。其主要优势体现在以下几个方面。粘尘垫具有强大的吸附能力,能够有效捕捉地面上的灰尘、污垢和微小颗粒,保持...
2009-01-03 00:00:00
十字槽盘头带介自攻钉是应用于建筑、家具和机械制造领域的紧固件,其主要优势体现在以下几个方面。十字槽设计使得螺丝刀能够更好地抓握,减少打滑现象,提高了安装效率和安...
2010-11-09 00:00:00
贴片电阻上的「01B」标识并非直接指示阻值大小,而是代表其封装尺寸。01B指的是英制代码,对应公制尺寸为0402,即长0.4mm,宽0.2mm。要确定01B封装...
2024-11-26 11:29:59
内六角沉头螺钉是常用的紧固件,应用于机械、电子和建筑等领域。其规格尺寸通常包括螺钉的直径、长度、螺距和沉头角度等。常见的直径有M3、M4、M5、M6等,长度从1...
2022-12-04 00:00:00