从晶圆代工厂下黑手?提防集成电路的“硬件木马”

电子说

1.3w人已加入

描述

黑客攻击是当下最严重的安全问题之一,随着近期攻击活动的频繁,国际上不少能源公司都深受其害,被窃取勒索机密信息。然而,同样的攻击也在威胁着人们看不到的领域,比如最近专门针对工控系统的恶意软件PIPEDREAM,就是通过PLC编程软件CODESYS的漏洞进行攻击的。
 
不过这类攻击主要是还是从软件层面上攻破PLC等硬件,那有没有直接在硬件层面上为黑客创造可乘之机的方法呢?自然也有,也就是我们常说的硬件木马。这类硬件木马更像是一种后门攻击,靠的就是对集成电路进行恶意篡改。
 
硬件木马如何下黑手
 
集成电路已经成为了诸多实际应用中不可或缺的组件,从智能家居、工业设备到机器学习加速器。然而随着IC的设计与生产愈发复杂,一个芯片可能包含数百亿晶体管,先进工艺所需的生产条件也不是Fabless厂商能够轻易负担的。很多时候这些工作是外包给第三方完成的,这样的流程结构造成了一些硬件安全隐患,只要流程中任意一名参与者图谋不轨,就有可能利用硬件木马触发敏感信息泄露、性能下降和IP窃取。
 
这类硬件木马通常分为两个部分,一个是触发器,另一个就是内部的载荷了。触发器决定硬件木马什么时候激活,载荷则负责关键的攻击工作,比如窃取隐私信息或产生错误的输出等。
 
就以常见的边信道攻击(SCA)为例,这种攻击可以利用IC的固有物理属性,比如时序、功耗等,获取本放在IC内部的信息,但这种攻击往往需要获取大量的数据和处理,如今不少安全性强的芯片通过阻绝这一过程,让自己免受SCA的破坏。然而在硬件木马的辅助下,可以省去处理的过程,极大减少攻击的时间。
 

编程软件

验证硬件木马的样片 / 塔林理工大学

 
那么攻击者是在哪个阶段插入这些硬件木马的呢?塔林理工大学的研究人员为了验证硬件木马的可行性,打造了一个基于65nm CMOS工艺的ASIC芯片,通过ECO在其中的4个加密核(两个AES、两个PRESENT)中引入了硬件木马,“下黑手”的时间只花了不到两个小时。
 

编程软件

芯片设计、攻击和制造的流程 / 塔林理工大学

 
从上图可以看出,在GDSII版图送给代工厂的途中,攻击者对其进行了篡改,改变或增加额外的逻辑,最后代工厂制造出了内含木马的芯片,并利用基于功率的边信道攻击获取了加密信息。若是芯片本身功耗就在mW级左右,终端用户基本很难察觉到来自芯片的异常。
 

编程软件

原始和被篡改后的布局 / 塔林理工大学

 
ECO必须要四个先决输入,工艺库、单元库、门级网表和时序约束,对于能在代工厂内对版图动手的攻击者来说,前两项已经到手了,门级网表可以通过EDA工具从布局中提取,而时序约束只能靠一定程度的估计了。
 
如何杜绝硬件木马
 
至于杜绝硬件木马的话,目前主要方式有两种,一种是边信道分析,一种是逻辑测试。像以上的边信道攻击方式,因为会改变时序等参数,所以边信道分析可以检测出这类无功能性的硬件木马,但对于小的硬件木马存在一定的误报率。而逻辑测试的难点在于用少量的测试模式,增加对触发器的覆盖。
 
美国圣地亚哥大学的几位研究人员提出了一种更好的检测方式,名为AdaTest。该检测方式通过加强学习产生了一组多样的测试输入,通过迭代的方式逐步产生高回报值的测试矢量。此外,AdaTest会着重关注为硬件木马检测提供更多信息的测试样本,从而减少样本数量提高样本质量。
 

编程软件

AdaTest的流程图 / 圣地亚哥大学

 
为了减小硬件开销,AdaTest能在可编程硬件上部署电路仿真,从而加速测试输入的回报值评估;其次,通过自动构建辅助电路进行测试输入生成、回报值评估和自适应采样,AdaTest中的每个计算阶段都被流水线化。与传统的逻辑测试相比,AdaTest的测试生成速度提高了两个数量级,与此同时测试样本大小减小了两个数量级,却因此实现了同样或者更高的硬件木马检测率。
 
由上可知,与预防硬件木马一样,植入硬件木马同样不是一件易事,所以代工厂出现这类硬件木马出现的概率比较小,但不代表不存在这样的安全威胁,毕竟人为设计失误都出现了,人为篡改也不是不可能的,设计者对这样的疏忽也不可不防。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分