印刷电路板对木马攻击的防护能力如何?
摘要
在晶圆厂或设计公司对设计进行恶意修改,即硬件木马攻击,旨在充当芯片间谍或芯片恐怖分子。尽管此类攻击已成为集成电路(IC)的主要安全问题,但在本文中,我们展示了在更高层次上存在的类似漏洞,特别是针对印刷电路板(PCBs)。我们注意到,现代印刷电路板的复杂性日益增加,且对第三方实体的依赖不断上升,使得在PCB上实施木马攻击具有高度可行性。我们提出了可能的攻击模型,并演示了在已制造的PCB中插入硬件木马的实例,这些木马可能导致故障或泄露秘密信息。我们的研究表明,传统PCB测试方法在检测这些木马时往往无效。我们还探讨了针对此类攻击的可能防护方法,包括基于逆向工程的检测方法和一种低开销预防性设计方案。
索引术语
印刷电路板,印制电路板木马,逆向工程
一、引言
近年来,针对集成电路(IC)层面的硬件木马攻击已被广泛研究[1]。研究人员分析了这些攻击的影响,并探讨了针对IC的可能对策[9][10]。然而,关于在更高系统抽象层级(例如印刷电路板(PCB)层级)上针对硬件木马攻击的脆弱性,此前尚未有报道。以往的研究主要集中在PCB对抗盗版及各种制造后篡改攻击的安全性方面。黑客已广泛利用JTAG(联合测试访问组)及其他现场可编程功能(如探测引脚、未使用的插槽和USB)来访问设计的内部功能[2],窃取密钥、收集测试响应以及操控JTAG测试引脚[3]。其中一个实例表明,黑客可通过JTAG禁用数字版权管理(DRM)策略来破解Xbox[4]。我们注意到,与广为人知的现场篡改攻击不同,现代PCB在不可信的设计或制造设施中进行设计或制造时,正日益容易受到对PCB的恶意修改;这种脆弱性为PCB带来了新型威胁。
有利于广泛外包并在PCB生命周期中集成不可信元件/实体以降低制造成本的PCB设计与制造新兴商业模式[5],使得印刷电路板中的硬件木马攻击极具可行性。对若干主要电子产品及其印刷电路板制造商的深入分析表明,不同的PCB通常在不同国家进行设计。
此外,对第三方制造设施的依赖使得PCB制造过程不可信,因而容易受到恶意修改,即木马插入。此外,攻击者可能存在于设计公司内部,从而对PCB设计进行木马篡改。
针对印刷电路板的各种攻击分类;(b) 印刷电路板级硬件木马的通用模型;(c) 影响PCB外部存储器访问的一个具体木马示例。与木马攻击相关的印刷电路板设计漏洞:(d) 用于高频信号的较宽走线; (e) 用于差分信号的一对信号;以及,(f) 表示总线的一组走线)展示了针对印刷电路板的广泛攻击类别,包括可能的木马攻击。据我们所知,本文首次分析了此类攻击的可行性;提出了攻击模型以及难以检测的木马实例;并提出了可能的对策。
当今复杂且高度集成的设计中的PCB包含多达20至30层,具有隐藏过孔和嵌入式无源元件[12],以最小化PCB外形尺寸。这为攻击者提供了可乘之机,使其能够通过篡改内层的互连线路或修改元件来故意更改PCB设计。
展示了PCB硬件木马的一般模型)。
展示了一个示例,其中通过篡改写使能信号来修改外部存储器内容)。与集成电路(IC)中的类似物一样,印制电路板木马可为攻击者实现两个目的:(1) 引起故障;或(2) 泄露秘密信息。例如,在信号线上增加一个电容器可能在某些特定的罕见情况下显著减缓元件之间的通信,导致产品在现场使用中失效。同样,黑客可以访问元件内部的秘密内容并对其进行篡改/破坏。
II. 威胁分析与攻击模型
A. 安全分析
攻击者可以利用电路板上存在的漏洞、设计/测试功能和测试钩子。一些常见的印刷电路板特征可能被攻击者利用,以了解设计意图,并通过最小的设计修改高效地实施木马攻击,具体如下。
1) JTAG接口
JTAG是用于实现板级测试和调试的行业标准。黑客可能利用JTAG来探查芯片中的隐藏测试功能或隐藏控制,从而获取对数据和地址总线的访问权限。例如,黑客可以通过反复试验,利用JTAG推断出指令寄存器的长度和特性。随后,可执行特定指令以获得篡改或输入内部数据总线的权限。JTAG还可用于通过推断元件之间的连接性并执行外部连接指令,对电路板设计进行逆向工程(RE)。
2) 测试引脚或探针焊盘
典型的集成电路包含多个探针焊盘和测试引脚,用于观测或控制重要信号,以实现测试/调试目的。黑客可以利用这些引脚窃取关键信号,获取有关设计功能的关键信息,或向设计中注入恶意数据。测试引脚还可用于逆向工程,通过施加测试输入来触发某些数据、地址和控制信号,从而帮助识别电路板的功能。
3) PCB设计中的漏洞
-1(f))展示了以下几个额外的漏洞,如下所述。
a) 特殊信号的显著特性
时钟和数据总线的宽度为黑客提供了有关这些引脚功能的线索。同样,连接相同上拉/下拉电阻的引脚表明它们属于同一总线。
b) 测试/调试残留痕迹
当通过端口访问用于测试/调试的引脚时,焊接残留物会向黑客提供有关这些引脚功能的线索。类似地,空插座也可用于攻击目的。
c) 其他提示
列出了一些额外的漏洞)。除了上述组件级连接点外,PCB设计本身也会向印刷电路板制造厂中的攻击者提供大量信息,从而助长强大的木马攻击。
B. 攻击模型
PCB中的木马攻击可分为两大类,如下所述。
1) 情况一:板级设计是可信的
在此模型中,攻击在印刷电路板制造厂中实施。预期攻击者会以一种能够规避制造后测试的方式更改设计,但在某些罕见条件下引起功能偏差,而这些条件在测试期间不太可能被触发。
2) 情况二:板级设计不可信(例如外包)
在此模型中,假设攻击者存在于板级设计或制造厂中。仅板的功能和参数规格被认为是可信的。攻击者有更高的灵活性来恶意修改设计和/或选择虚假或不可信(且可能具有恶意)的元件。同样,攻击者会试图隐藏修改,以避免在功能和参数测试过程中被检测到。
注意,在这两种情况下,攻击者都有两个可能的目标:1)故障,和/或2)信息泄露。接下来,我们将描述印刷电路板中不同形式的可能木马攻击。
a) 印刷电路板内层中的信号走线修改
对于层数较少、难以隐藏额外元件的电路板,攻击者可以改变信号走线的电阻、电容或电感(自感、互感)。例如,可通过使内层中的信号走线变得更细以增加电阻,导致其在长时间运行中因发热而发生故障。同样,可以通过改变走线尺寸、通过轻微重新布线调整走线间距以及选择性地进行介电性能修改,来增加包括电源平面中走线在内的两条走线之间的金属耦合电容,从而在一个线路中引发耦合感应电压和延迟故障。还可以在内层走线中引入漏电流电阻路径,以故意造成电压下降。可通过引入互连走线之间的阻抗不匹配,在某些情况下导致故障。
所示的商用Arduino Uno开发板布局中得到了体现)。其涉及将走线厚度和线迹间距改变2倍,并对单根走线进行重新布线。即使是在像UNO这样的小型双层板设计中,这些改动也非常微小,在测试过程中难以检测,但在某些情况下可能导致非预期的功能行为。在具有4层以上的复杂PCB设计中,这些改动可能局限于内层的一个小区域内,因此通过光学或X射线成像检测到的可能性极低。功能测试通常不是全面的,因此这些改动很容易逃避检测。然而,在现场某些罕见条件下,它们对电路参数的影响可能会导致严重的系统故障。
b) 隐藏组件
对于层数超过两层的电路板,攻击者可以在内层插入额外的元件,以泄露信息或在特定条件下引发故障。另一种可能是用感染木马的集成电路替换合法集成电路。篡改的集成电路在功能上与合法集成电路等效,但可能具备泄露秘密信息的能力。漏电可以是直接的(通过未使用引脚)或间接的(调制电源电压或电流)。总结了印刷电路板攻击的不同类别)。
C. PCB制造与测试
PCB制造过程包括内层处理、压合、钻孔、镀铜、外层处理、阻焊层、丝印、金手指电镀、热风整平、布线等步骤。在丝印阶段,将电阻、电容和电感嵌入以减小印刷电路板的外形尺寸[12]。例如,在PCB表面通过丝印方式涂覆厚膜聚合物(PTF)电阻浆料以形成电阻。
每一层PCB都使用适当材料进行丝印,以实现无源器件,并在烘箱烘烤以干燥材料,最后将各层粘合在一起。制造完成后,传统的印刷电路板验证通过电气测试、光学检测和应力测试来查找短路和开路。当集成电路安装到印刷电路板上后,采用基于JTAG的边界扫描测试并结合内置测试码型发生器,对互连进行固定故障和串扰测试[11]。需要注意的是,现有的板级测试方法并未针对木马敏感性和检测进行专门设计。然而,该基础设施可以扩展以覆盖木马的检测。
III. 攻击实例
A. 设计方可信
当印刷电路板由可信设计者设计并外包制造时,可能出现这种情况。在制造过程中,攻击者可能智能地插入恶意修改,使得最终设计在结构上与原始设计一致(无额外元件、逻辑或走线),但在特定条件下产生非预期功能。这些微小改动可局限于多层印刷电路板的内层中,因此通过目视检查、光学成像和基于X射线的成像技术进行检测的可能性较低。此外,由于测试节点数量众多,进行全面功能测试通常是不可能的。因此,在线路中和基于边界扫描的功能测试期间,恶意功能很可能不会被触发[6]。通常可以通过对现有走线进行修改,改变内层布线并插入微小泄漏路径,从而增加互耦电容、特征阻抗或环路电感。也可以在内层中插入面积和功耗要求极低的额外元件。
我们在此类别中展示了两个木马示例。第一种情况考虑了一种多层印刷电路板(10厘米长度),可能应用于高速通信和视频领域。
。
流式系统。其常见场景为内层中两条高频印制电路板走线相互平行布线。通常,高频走线布置在由电源和地平面屏蔽的内层中,以避免干扰())。然而,这大大增加了内层测试和调试的复杂性,并为攻击者提供了可乘之机。走线尺寸经过优化设计,用于正常传输高频信号,即采用1盎司铜,走线宽度和厚度分别为6密耳和1.4密耳[7]。介质材料为FR-4,相对介电常数为4.5。走线间距选择为30-40密耳,以避免互感和互容耦合带来的负面影响。这些高频走线采用集中参数形式建模[7]。
功能仿真显示,当另一条走线施加频率为10−500 MHz、3V峰峰值、50%占空比的脉冲电压时,其中一条走线上近端和远端最大耦合电压为∼300 mV峰峰值。脉冲信号在活动走线上的最大传播延迟为∼0.4 ns。
根据上述仿真设置,我们观察了制造过程中各种走线层级修改所产生的影响。内层中的走线间距减少为2倍,两条导线的宽度均增加为2倍,厚度增加为1.5倍。这些变化仅发生在内层的一个小目标区域内,因此在结构测试中大多难以被检测到。走线间绝缘材料的介电常数提高至5.5,以模拟某些绝缘区域的湿气滞留、环氧基材中的杂质添加[8]以及由此引发的老化效应。由于攻击者仅在小范围内选择性地改变介电常数,加速老化测试检测到此类情况的概率较低。然而,这些变化对相关电路参数的影响可能十分显著。
在220兆赫时,当迹线1的输入脉冲电压为3V峰峰值时,迹线2的近端峰峰值电压为∼1.4 V())。这是一种外部干扰,可能导致错误的电路激活或反馈等意外行为。传播延迟增加2倍,超过1纳秒()),对于更高的开关频率和更长的迹线长度可能引发功能故障。从攻击者的角度来看,引入一条到地的小泄漏路径(电阻为迹线电阻的2倍)会泄放信号,导致迹线1远端出现退化且失真的波形()),从而引起连接电路的故障。这种情况很容易避开传统的印刷电路板测试检测,因为此类测试由于高昂的成本和上市时间限制而不全面。
当多条高频走线在不同平面上被有意布设以增强互耦时,耦合效应更加显著。这可以通过以下方式实现:(a) 使同层相邻走线间距更近;(b) 增加走线的宽度和厚度。这些有选择的微小改动极有可能通过结构和功能测试。然而,这些改动对电路性能的影响可能十分显著,如-图3(f))所示。在相邻的3条走线(1条在同一平面,1条在上方,1条在下方)发生同相上升/下降跳变时,受害迹线1近端和远端的耦合电压分别为3.1V峰峰值和1.3V峰峰值())。这比活动走线在相反方向切换时的情况高出3-4倍。此类干扰必然会导致错误激活、反馈和性能问题。当其他走线不活动时,迹线1远端的电压波形显示出一定失真,并且平均传播延迟为1纳秒())。更多数量的相邻走线以及更长的迹线长度会显著影响传播延迟,并在高开关速度下导致延迟故障。走线3和4中的外部耦合电压也在)中进行了说明。从上述结果可以看出,检测这些木马极为困难,因为它们仅在极罕见的特定条件下才会被激活。在多线场景中,性能下降仅在3条相邻走线的8种可能转换极性组合中的2种(即全部为上升/下降脉冲)情况下表现明显。工作频率和输入向量模式是这些木马的两个条件触发器示例,这些木马是在PCB制造过程中通过选择性地更改走线属性和布线而插入的。
B. 设计方不可信
在此攻击模型中,PCB设计和制造均在不可信设施中进行,从而增加了木马攻击的可能性。系统设计者生成的板卡规格是可信的。制造后的测试由系统设计者完成,以确保板卡性能和功能。因此,除了走线级修改的可能性外,攻击者还可以利用机会对设计进行结构性修改和/或插入额外元件,这些修改或元件会在特定触发条件下被激活。这些设计修改会以智能方式隐藏(例如通过物理手段或罕见的输入条件),以逃避制造后的结构和功能测试中的检测。展示了此攻击模型的一个简单示例,其中风扇控制器根据温度传感器的输入调节12V直流无刷风扇的转速。传感器提供0-5V电压(取决于当前温度),该电压由ADC数字化后发送至微控制器,微控制器通过线性调节风扇输入电压来控制风扇转速。
通过轻微的结构修改,攻击者可以恶意篡改电路的功能())。在这种情况下,木马阻止微控制器获取准确的温度。该木马包含一个电阻、一个电容器和一个PMOS晶体管。电容器通过连接到风扇的电压调节器(LM317)输出进行充电。激活木马所需时间(即触发条件)可通过调节电阻和电容值来调整。触发后会关闭在温度传感器和ADC之间插入的PMOS晶体管,从而有效断开连接。因此,微控制器接收到一个空输入,被解释为极低温度,导致风扇速度显著降低。由于时间常数较大,这种设计修改极有可能逃避功能测试。)显示了风扇控制器的双层PCB原理图(制造前)。)显示了一个已制造的PCB板,用于演示木马的触发和载荷。
从上述讨论可以看出,在设计和制造均外包的情况下,实现此类微小的结构修改非常容易。由于系统集成商仅掌握印刷电路板主要元件(构成的集成电路)和功能规格的信息,这类微小改动可能不会被发现。从攻击者的角度来看,多层印刷电路板更具吸引力,因为它为隐藏设计变更提供了更多机会。除了结构修改外,晶圆厂中的攻击者还可以进行布局修改,故意插入难以通过功能测试识别的线路级特洛伊木马。
IV. 可能的对策
A. 印刷电路板中的硬件木马检测
我们提出采用非侵入式逆向工程和多参数侧信道分析来检测嵌入的木马。首先,根据木马的性质对其进行分类,例如:(a) 引发参数性故障的木马,如不可接受的延迟和漏电(T r par);(b) 导致静态功耗显著增加的木马(T r pwr);以及(c) 引起功能故障的木马(T r fn)。每个类别的木马在检测时采用不同的处理方法。接下来,进行关键性分析以识别易受攻击节点。该步骤旨在从设计规范中识别关键信号,例如时钟、控制信号、数据和地址总线。在分析过程中获取印刷电路板布局信息,以识别潜在的木马(即与受害信号并行运行的最长走线)。
分析假设如下:(a) 验证工程师可获得预期的PCB设计;(b) 每次仅插入一个木马;(c) 木马注入仅限于相邻走线;以及(d) 篡改不涉及信号布线的更改。
用于木马检测的测试模式生成可以借鉴传统测试的原理。印刷电路板布局和关键性分析会生成一份可能的触发条件/有效载荷及其位置的列表。通过生成测试模式,以激活每个木马的触发条件并观察其影响。该过程持续进行,直到所有木马当列表中的项目耗尽时,还可以采用侧信道分析(如延迟、频率、静态漏电和动态电流)来激活其他类型的木马。然而,侧信道分析需要一组金本参考PCB。木马覆盖率和测试模式是所提出方法的输出结果())。
上述获得的测试模式被应用于提取的寄生模型和实际PCB,并通过比较它们的响应来检测木马。)通过一个示例说明了该方法在电容型木马中的应用,其中网络n3通过节点关键性分析被确定为目标信号。因此,木马列表将包含{c1, c5, c6}。在此示例中,测试模式将针对与n3相关的网络n1、n3和n5进行翻转,以激活木马以便检测。注意,由于n2与n3并行的走线段较短,c2被排除在列表之外。
B. 通过强化的预防对策
我们提出了以下主动技术来防护印刷电路板中的木马攻击:
1) 安全接口
传统的JTAG无法防止未授权访问,因此可能面临篡改风险。我们改进了JTAG内部的安全特性,使得在输入正确的代码/密码以解锁TAP控制器之前,对指令和数据寄存器的访问将受到限制。)显示了包含TAP控制器的JTAG结构,该控制器根据TMS和TCK信号提供对指令和数据寄存器(设备寄存器、ID寄存器和旁路寄存器)的访问。修改后的TAP控制器())新增了若干状态(S0-S3),用于检测特定的安全密钥。为了允许合法访问(例如安装升级程序和补丁),可通过输入正确的关键词(本例中为0011111)来解锁安全JTAG。然而,如果输入的关键词错误,控制器将进入锁定状态(S4),在此状态下通过向TDO输出固定值来断开TDI和TDO的连接。需要注意的是,一旦TAP控制器进入锁定状态,便无法重置回出厂状态,从而防止黑客使用试错法进行攻击。
2) 安全PCB
传统的PCB走线设计可能被逆向工程以发现板级设计。我们提出一种通过互连混淆来应对该挑战的方法。)展示了一种通过引入伪IC来混淆互连的可行方法,该方法具有三个目的:(a) 它基于在伪逻辑中实现的扰乱函数对走线进行扰乱。由于存在安全JTAG,该伪设备具有抗逆向工程能力,可在没有适当认证的情况下防止对内部设计的访问;(b) 它提供与真实走线混合的伪输出,以迷惑黑客。伪走线由随机逻辑和计数器驱动,以混淆数据、地址和时钟信号。此外,伪走线的布线方式与真实的数据和时钟信号相同,以进一步混淆真实信号;以及(c) 它实现了安全JTAG,因此即使真实芯片采用非安全JTAG,其访问也受到保护。为了对真实芯片进行逆向工程,黑客必须先解锁两个伪IC的JTAG芯片(D0和D1)各自可能具有不同的安全密钥。通过在真实芯片的TAP控制器中引入安全状态,还可以进一步阻止通过JTAG进行的逆向工程。
结论与未来方向
我们分析了印刷电路板中硬件木马攻击的威胁。研究表明,在设计或制造过程中对印刷电路板进行巧妙的局部修改,可能逃避传统的结构和功能测试,并在现场运行期间导致恶意甚至灾难性的后果。我们还提出了两种可能的对策,即通过审慎的信任验证和低成本设计方法来应对。随着包含隐藏过孔的多层PCB复杂性不断增加,以及对第三方资源的依赖日益增强,更复杂的木马攻击将变得可行。由于印刷电路板在电子产品中的广泛应用,其对木马攻击的脆弱性引发了人们对电子产品可信性和安全性的重大担忧。不可信PCB可能导致高度复杂且强大的攻击,例如对系统的未授权访问或无线传输机密数据。未来的工作将包括对更复杂攻击的分析以及对PCB级别以外木马攻击的探索。
34

被折叠的 条评论
为什么被折叠?



