CN107533433A - 用于后制作外部硬件附件的自检测的系统和方法 - Google Patents
用于后制作外部硬件附件的自检测的系统和方法 Download PDFInfo
- Publication number
- CN107533433A CN107533433A CN201680028242.9A CN201680028242A CN107533433A CN 107533433 A CN107533433 A CN 107533433A CN 201680028242 A CN201680028242 A CN 201680028242A CN 107533433 A CN107533433 A CN 107533433A
- Authority
- CN
- China
- Prior art keywords
- signal
- processor
- test loop
- test
- modified signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/567—Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Abstract
本文所说明的系统和方法可以检测硬件修改。测试回路可终止于处理器封装焊盘的发送管脚和接收器管脚。处理器可以经由发送管脚和接收器管脚被耦接到测试回路。处理器可使信号从发送管脚被发送至测试回路,并在接收器管脚处从测试回路接收经修改的信号。处理器可分析该经修改的信号以基于该修改的信号来检测与测试回路通信的硬件修改。
Description
相关申请的交叉引用
本申请基于并得到提交于2015年4月16日的第62/148,551号美国临时申请的提交日的权益。在此整体结合该申请的全部内容作为参考。
附图说明
图1示出了硬件中间人(man in the middle)的实现;
图2示出了标准处理器安装和硬件中间人实现安装;
图3示出了依据本发明的实施例的包括自检测特征的处理器;
图4示出了依据本发明的实施例的用于执行硬件中间人传播延迟测试的测试回路;
图5示出了依据本发明的实施例的硬件中间人传播延迟测试的时序图;
图6A至6B示出了依据本发明的实施例的包括多个测试回路的处理器;
图7示出了依据本发明的实施例的耦接至硬件中间人实现的片上系统;
图8示出了依据本发明的实施例的用于检测硬件中间人实现的方法。
具体实施方式
“中间人(Man-in-the-middle)”(MITM)攻击是一种广为人知的且基于软件攻击部署的形式,其中恶意软件位于两个或更多个已连接的软件之间,使得其能够窥探已连接的软件之间的所有的通信并且冒充任意的已连接软件的端点的命令或响应。MITM攻击可使用或不使用对系统进行物理访问而实现。
还有一种新出现的基于硬件MITM攻击的威胁,其可由于例如半导体加工厂被破坏和国家资助的半导体供应链被窜改而导致。外部硬件可作为MITM被添加至系统中来记录和解码内部通信和数据格式,例如现场可编程门阵列(FPGA)配置比特流。由于它们在低层上接近系统,因此基于硬件的MITM攻击可说是极其危险的。
图1示出了示例性的硬件MITM(HMITM)实现。HMITM处理器10被布置在CPU 20和外围设备30之间。该HMITM处理器10可电子地冒充外围设备30以及CPU 20两者。HMITM处理器10可选择在CPU 20和外围设备30之间通过哪些命令和响应。该HMITM处理器10可被设计成在随机的时间段中将端点(例如,CPU 20和外围设备30)短暂地置于有害状态,而得到可能非常难以检测到的恶意结果。
由于HMITM的灵活性、真正的硬件级线程并发,以及最小的内部信号传播延迟,HMITM实现可使用,但不限于,FPGA或其它可编程逻辑器件(PLD)的变体作为中央处理器。在一些实施例中也可使用微处理器和/或CPU。HMITM物理实现可包含从视觉可感知的外来半导体封装和添加到目标印制电路板的插口扩展到更复杂的和视觉上不可检测的元件。
HMITM可被实现为在现有硬件上进行改造,诸如通过使用定制插口和插入件印制电路板(interposer printed circuit board)的计算机母板,其使目标处理器升高,以便在使用用于目标CPU的原始母板封装(footprint)的同时将HMITM安装在其下方。例如,图2示出了标准的处理器安装40和HMITM实现的安装50。用于HMITM实现50的插口和插入件板可被用于各种处理器和处理器封装类型,诸如球栅阵列(BGA)、塑料无引线芯片载体(PLCC),或塑料四列扁平封装(PQFP)。
本文所说明的系统和方法可检测HMITM实现。由于深入嵌入的HMITM实现可与视觉上的检测不同,并且每一个PCB或模块都可能在全球供应链的末端不经检查,处理器或智能模块可实现自测试来检测MITM硬件和/或在关键的I/O连接上的外来的外部连接。例如,处理器可包括使其能够自检测是否外部处理器或其它电路已附加至其的后制作的特征。处理器可自检测外部后制作硬件修改,其尝试监控、改变、窃听、替换、改变意图、阻止或以任意其它方式损害处理器信号。处理器可利用集成资源(诸如数字计数器、分析比较器,以及优先中断)执行一个或多个自测试,以确定是否已添加了未授权的外部处理器连接,例如HMITM。HMITM可以串联、并联或串联和并联两者的方式连接至CPU和外围装置。虽然并联连接可能更难以检测,但是其可以例如通过使用在检测到特定模式时尝试改变信号的方法来检测它们的效果。注意虽然本文描述的系统和方法被用于检测HMITM元件,但是它们也可被用于验证例如可连接或可不连接至自检测系统的已授权模块化硬件的存在。
在一些实施例中,生产设计可具有可选的基于硬件的模块化附加件。用于这种模块化电子系统的固件可包括软件标志或硬件跳线(hardware jumper)以通知系统控制器(CPU)哪个硬件是附加的,但是作为故障安全或用于实现,模块化附加件经常在操作现场被插入或移除,以下所说明的系统和方法也可被用于检测是否存期望的或已授权的外部硬件附件,以使得系统能够据此进行。
图3示出了依据本发明的实施例的包括自检测特征的处理器100。该处理器100可包括被配置成检测未授权外部处理器连接(UEPC)的一个或多个自测试模块。例如,处理器100可包括脉冲模块105、延迟模块110、上升时间/下降时间模块115、驱动强度模块120、带宽模块125、高速模块130、模拟波形模块135,和/或其它模块。此外,在一些实施例中,可提供一个或多个外部协同处理器150。这些模块的特定的特征和功能将在下面更加详细地说明。UEPC检测模块可分别具有它们自身的安全内部存储器以用于存储校准数据。校准数据可通过例如严格的工厂自测试生成。所存储的校准数据还可包括环境的和时间的参数校正因子,因为环境现场参数可广泛变化且组件会不断老化。
传播延迟测试
图4示出了依据本发明的实施例的用于执行HMITM传播延迟测试和/或其它测试的测试回路410。诸如在图1中示出的HMITM可造成在通过其到达信号的预定目的地的信号传播中的轻微延迟。基于用于实现HMITM的半导体技术和物理连接实现,额外的传播延迟是能够检测到的。可在要安装处理器100(未示出)的母板印刷电路板(PCB)上安装隐蔽的物理测试回路410(或多个回路)。测试回路410可从CPU封装焊盘(footprint pad)400的测试发送管脚420发出,并可终止于测试接收器管脚430或接收器管脚组。处理器100的脉冲模块105可经由发送管脚420连接至测试回路410,并且延迟模块110(和/或下面说明的其它模块)可经由接收器管脚430连接至测试回路410。在一些实施例中,测试回路410可被置于PCB的中间层中,接地平面位于其上方和下方,使其更为隐蔽,更不易于窜改,和/或免于受到电磁噪声影响。为了模糊化和更高的测试可靠性,可使用附加回路410并且其跨越不同的层,以及使用不同测试发送管脚420和接收器管脚430。
脉冲模块105可产生脉冲,该脉冲可被携带从发送管脚420通过回路410以测试接收器管脚430。接收器管脚430可被用于对已发送脉冲进行测量。为测量CPU生成的脉冲沿测试回路410到达接收器管脚430的传播延迟,延迟模块110的计数器可从发送脉冲生成的时刻开始。当脉冲到达接收器管脚430时,延迟模块110可例如通过发起软件中断来停止传播延迟测试计数器。
图5示出了依据本发明的实施例的HMITM传播延迟测试的时序图。顶部信号是发送管脚410处的信号,底部信号是在接收器管脚430处的信号。当脉冲510生成时可开始测试计数。例如可确定从脉冲510的时间到接收器管脚430处上升520的中点的传播延迟。在该采样时序图中,从脉冲510的上升到脉冲520的上升的中点的传播延迟大概是120ns。
CPU或者其它装置的期望传播延迟可以是已知的。如果在CPU和母板之间插入HMITM,则传播计数可能更大且可以是基于HMITM传播时间的。延迟模块110可将来自传播延迟测试的计数(或计数的统计平均值)与来自对CPU的相同测试的存储的出厂数据相比较(在一些实施例中,存储的工厂测试可以是在温度的范围内和可能的其它环境参数下执行的)。如果测量的计数(或平均计数)与安全的出厂校准数据相差预定的阈值,则延迟模块110可获知HMITM的存在具有高度可能性。
延迟模块110可访问从测试发送管脚到测试接收器管脚的存储的校正传播延迟时间。例如,该数据可被安全地存储在CPU内或在外部安全存储器内。由于该数据可能用于检测窜改,因此可能会高度保密并加密以防止攻击者窜改和更改。为了提高传播延迟测试数据的可靠性,可使用附加的测试回路以及发送和接收测试管脚。此外,系统中的其它组件和处理器(例如外部处理器)可被用于中继测试脉冲。
例如,考虑到使用微控制器(MCU)的HMITM实现,微控制器通常只能在每个时钟周期内实现单个机器指令,并且具有8个GPIO引脚的固定端口宽度。如果实现检测HMITM的方法的CPU具有9个测试回路(或HMITM固定端口宽度+1),则延迟计数器可包括添加HMITM以及机器指令的延迟或更多后的物理传播延迟。这可能是这样一种情况:因为如果9个测试回路中的8个正好被路由至HMITM的同一个端口,则它们可以通过一个高级指令串行通过该端口,例如在中断服务例程中(“PortX=PortY”)。第9个(或端口宽度+1)测试回路可在下一个高级指令中被处理。如果CPU够快足以检测由HMITM感测输入及改变其端口输入级别引入的时间,那么这可能是可重复的并且可通过由CPU在多个测试回路上执行传播延迟测试来检测。
改变进行多个回路传播延迟测试的顺序可能也有助于识别基于CPU的HMITM实现,其通过端口宽度输出级别分配的顺序回路(诸如{PORTB=PORTA;PORTD=PORTC;PORTF=PORTE;})使信号路由串行通过CPU。如果第一个测试脉冲在PORTE上进入HMITM,则其不止可延迟所加入的HMITM的回路长度还延迟等于HMITM响应于读取另一端口来调整端口输出级别所需时间的两倍的时间的长度。这是因为HMITM CPU可在回路中按顺序地分配端口等价物。例如,如果程序以PORT B=PORT A命令启动,则PORT F=PORT E命令可被延迟执行PORT读取随后PORT写入所需指令的量的至少两倍,因为首先将执行PORT D=PORT C命令。但是对于FPGA HMITM则可能并非如此,因为FPGA HMITM可永久地在门级分配多个I/O端口等价物,而不需要像CPU那样的顺序命令回路。
图6A至图6B示出了依据本发明的实施例的包括多个测试回路410的处理器100。测试回路410可以是单端也可以是差分对,并可在于同一端口上开始和终止的多个I/O端口上。图6A至图6B还示出了在硬件计数器上计数的示例传播次数,该计数在测试脉冲生成时从零开始,并且在接收器管脚处收到测试脉冲时在计数“Tprop”处结束。在一些实施例中,由于路由限制,每一个测试回路410可具有与其它测试回路410不同的长度,并且由此测试回路410可以具有不同的传播时间。HMITM的插入可增加Tprop的值,并且延迟模块110计数器可具有足够的速度和分辨率来检测使测试有效所加入的时间。
在测试测量的所有操作环境范围内,包含全部实验得出的平均测试结果和肯定的(positive)HMITM识别阈值的查询表或其它数据结构都可被存储在系统存储器中。延迟模块110可访问该数据并将测试回路410结果与操作现场中所存储的数据进行比较。
下文说明了涉及测试回路410的进一步测试。应该注意的是,如果攻击者要剪掉或移除从处理器100发出且在处理器100终止的测试回路410,则全部测试都将失败。延迟模块110可检测到该失败并从而检测后制作窜改。
上升和下降时间测试
发送脉冲上升和下降时间的测量可通过上升时间/下降时间模块115使用与传播测试相同的测试回路410执行。在一些实施例中,可使用具有更精细的计数分辨率的更快的外部组件(诸如高速MCU或FPGA)来增加用于测量的内部上升时间/下降时间模块115,因为来自HMITM的感应变化的可感应性可能不如在传播延迟测量中测量到的变化的可感应性。对于某些电路板布局情况,诸如具有高密度连接的板,专用于增加放置在板边缘处的HMITM检测的外部组件可能比长测试回路410更容易实现。如上面在图5中所示,接收的脉冲520对于时间可具有比发送脉冲510更缓慢的上升边缘。接收脉冲520的下降边缘类似地可相对于发送脉冲510较慢。接收脉冲520的这种性质可作为测试回路410传输线参数(例如寄生电感、电容、回路电阻、回路长度,和/或发送引脚的驱动强度)的函数。插入HMITM可影响前述参数并可以从而通过使所接收的脉冲520上升和下降时间更快或更慢来改变所接收的脉冲520上升和下降时间。
如果上升时间/下降时间模块115包括例如模拟比较器和/或模数转换器(ADC),可计算在测试回路410上所接收的测试脉冲520的上升和下降时间。如果ADC够快(相对于时间达到测试脉冲斜率的速度的5-10倍),其可对测试脉冲采样,并计算上升和下降时间的斜率,并将其与安全校准数据进行比较。如果斜率相差预定阈值,则HMITM可能会更改信号路径。
备选地,可使用模拟比较器和计数器来计数上升和下降边缘从一个稳定的电压参考水平转换到另一个所需的时长。计数器和比较器可相对于测试脉冲具有足够的分辨率和速度以进行可靠的测量。基本上上升和下降时间测量对于时间可在电压水平上具有差异。上升时间/下降时间模块115可因此执行以下计算来确定测试脉冲的上升时间是否已经显著改变:Threshold_Rise_Time_Minimum(阈值_上升_时间_最小值)<ΔV/Δt<Threshold_Rise_Time_Maximum(阈值_上升_时间_最大值),其中ΔV是在时间范围Δt内测量到的测试脉冲的电压的改变。以同样的方式可测量和计算下降时间变化测定,但是可使用不同的阈值,因为上升和下降的时间可能不同。
包含实验得出的平均结果和用于在不同操作环境范围的测量的阈值的查询表或其它数据结构可被存储在系统存储器中。该上升时间/下降时间模块115可将所存储的数据与来自HMITM检测自测试的测量结果进行比较。
驱动强度测试
驱动强度模块120可测试在测试回路410上的测试脉冲传输的最低有效驱动强度。一些处理器100管脚可具有可编程驱动强度。在测试回路410结束时测试接收器管脚上登记接收所需的最小驱动强度可在工厂测量和记录。在某些情况下,HMITM的插入可导致最小供电脉冲,使得在接收器管脚430处未登记,并可因此指示为HMITM存在或仅仅是降级的输出驱动器。因此,可以所记录的最小驱动强度或在其附近发送脉冲,并且驱动强度模块120可监控接收器管脚430的脉冲。如果未检测到脉冲,则HMITM可能存在。
备选地,HMITM可具有更强的输出驱动器,使得具有驱动强度低于记录的最小驱动强度的脉冲仍可到达接收器管脚430。因此,低于所记录的最小驱动强度的脉冲可被发送,并且驱动强度模块120可监控接收器管脚430的脉冲。如果检测到该脉冲,则HMITM可能存在。
包含实验得出的平均结果和用于在不同操作环境范围内的这个测量的阈值的查询表或其它数据结构可被存储在系统存储器中。驱动强度模块120可将存储的数据与来自HMITM检测自测试的测量结果进行比较。
测试回路传输线带宽特性
HMITM的插入可改变测试回路410的传输线属性。对测试回路的线路阻抗、带宽、寄生电容和寄生电感的感应变化可带来在测试脉冲的出厂值和在上述方法中测量的后HMITM属性之间的差异。测试回路的传输线属性也可在工厂测量并存储在板上。
例如,如果脉冲模块105可以扫描测试回路410线路上的适宜量的频率,则可得出测试回路410的带宽,使得监控接收器管脚430的带宽模块125可最终不再检测由于测试回路410线路的阻抗导致的某个更高频率的脉冲(即,电阻越高则频率越高)。插入HMITM可改变测试回路410的带宽(变得更好或更差),并且使得带宽模块125能够通过将接收器管脚430上的测试信号与存储的出厂带宽编号和阈值范围进行比较来检测HMITM的存在。测试回路410的一些传输线路参数也可通过附加的外部组件来测量,例如专用频率计数器装置,其可测量并以数字方式写出例如其输入处检测到的频率。
包含实验得出的平均结果和用于在不同操作环境范围内的这个测量的阈值的查询表或其它数据结构可被存储在系统存储器中。带宽模块125可将存储的数据与来自HMITM检测自测试的测量结果进行比较。
高速自消息回路测试
可执行来检测外部硬件的后制作添加的另一个自测试可涉及处理器100,处理器100以可能的最高数据速率给自己发送消息,并将接收到的消息与发送的消息进行比较以确保消息没有改变。例如,具有多个通用的异步接收器/发送器(UART)端口(或等价物)的处理器100可使用高速模块130来从一个UART的发送端口发送例如“this is a test”的字符串消息到在同一个处理器100上的同一个UART端口或另一个UART端口的接收端口。该测试消息或多个测试消息可以是已知的消息使得高速模块130在执行测试时可获知应该接收什么。
该测试可在生产设备的工厂硬件上以可能的最高速度进行。与测试消息或多个测试消息一起的最高成功数据速率可以被记录在存储器中,并且可在现场以存储的数据速率并使用存储的消息来执行自消息测试。如果接收到的自消息与所发送的消息不匹配或重复尝试后出现错误,则有可能信号路径已经被外部硬件更改。在一些实施例中,当使用多个消息时可使用一种算法来随机化要被发送的测试消息的顺序。
该测试可以不限于被配置为进行针对外部硬件检测的自测试的处理器100上的特定的通信端口。任意管脚都能够将特定的数据模式或消息送出至另一个管脚,使得监控接收器管脚的高速模块130实现比特定时算法以提取该模式或消息。这种实现定制的通信方案的方法通常被称为“位拆裂(bit-banging)”。
低电压模拟波形输出到低电压感应模数(A/D)接收器输入回路测试
模拟波形模块135可使用测试回路410上的发送管脚420来输出模拟波形,并使用测试回路410上的接收器管脚430以足够快(~10倍)的速率对该模拟波形进行采样,以在波形中看到实质干扰。如果实施该测试的测试回路410上的HMITM仅仅是数字I/O路径,则它将不会检测到在其电压感应水平(例如对于“TTL”信号为2.0V)下方的模拟波形的部分。因此,保持在2.0V以下的模拟信号将不可能到达测试回路410的接收器管脚430。模拟波形模块135可包括数字回路定时器,其可结合模拟测试脉冲的启动来运行。在某些超时时间参数t之后如果在接收器管脚430处还没有接收到脉冲,则可合理确定HMITM实现存在。
如果HMITM攻击复杂到足以通过使用模/数输入以及数/模输出来计数模拟输入,则可通过模拟波形模块135检测额外的转换时间。备选地,如果HMITM攻击简单地通过模拟线路上的模拟波形,则该连接可改变信号使其足以被检测到。因此模拟波形模块135可访问所存储的用于期望接收的模拟信号的参数(例如幅度、周期、占空比和/或半极大处全宽度(full-width half-max))以与接收到的信号比较。如果所接收到的参数中的任一个或全部超出预定的和存储的可接受边界,则其可合理推断HMITM实现是根本原因。
来自HMITM检测的外部组件的测试脉冲回波(或改变的回波)的使用
如果有起始和终止于单个处理器100处的多个PCB回路或布线被获知,则可怀疑有熟练的攻击者正在分析HMITM攻击向量的系统。如果测试回路410是被嵌入在内部PCB层的,则可能非常难于通过视觉来检测它们,但是冗长的连续性测试可与PCB的3D X射线逆向工程一起发现它们(假如PCB设计文件不可用)。
如果使用更多的隐蔽手段,可以改善使用PCB测试回路410检测HMITM的成功的可能性,例如从HMITM检测器到另一个外部处理器或其整个系统中的组件的测试回路410,另一个外部处理器或其整个系统中的组件被编程或设计成将接收到的测试脉冲或消息简单回波回到HMITM检测器。例如,外部微处理器的UART可被编程成为“回波”模式来将其接收的内容中继出去。如果测试消息的波特率对于HMITM测试来说太高而不能无错误地通过,则该测试失败。
更简单地,外部缓冲器集成电路(IC)可被布线或编程成使测试脉冲的精确副本通过其本身并返回至执行HMITM自测试的装置。如果存在HMITM,脉冲可具有与以上针对自测试进行描述的特性不同的特性。
此外,可以使用外部部件或装置来以可重复和可记录的方式改变来自执行自测试的装置的测试脉冲或消息,使得HMITM的添加可以以可通过自测试器使用用于预期的返回脉冲或消息所记录的比较阈值进行检测的方式进一步改变测试脉冲。
使用专用外部协同处理器进行HMITM检测
如果处理器100需要检测外部添加的后制作硬件或HMITM实现但是又不能使其自身的内部资源空闲下来,或者没有足够的资源来执行此操作,则其可使用专用于HMITM检测的外部协同处理器150以及可能的其它安全功能。两个处理器100/150(以及可能的其它的支持电子器件)可被封装至单个芯片封装或模块中,使得其简单地看起来像一个芯片,或片上系统(SOC)。
该实施例可提供分区(compartmentalized)产品和安全功能并且能够将最佳类型的处理器用于HMITM检测。HMITM检测器协同处理器150可实现以上所描述的所有测试并可包含上述的一组模块和/或阈值参数。协同处理器150还可包括与主处理器100的通信接口,以使其能够与处理器100共享数据和测试结果。
图7示出了依据本发明的实施例的耦接至HMITM 10的SOC 700。本示例SOC 700实现包括处理器100(CPU)以及协同处理器150(HMITM检测器),其可使用例如复杂可编程逻辑器件(CPLD)、FPGA、MCU、离散的微电子器件,或者其组合来实现。在图7中的SOC 700的右侧是恶意添加至系统后制作的HMITM实现10。虽然在一些实施例中来自CPU 100和/或HMITM检测器150的多个I/O线都可经过HMITM 10,尤其是在攻击是基于插口(socket)的时且捕获大部分或所有来自SOC 700的I/O线的情况下,但是为了简单起见,在该示例中仅明确地绘制了通过HMITM 10的单个回路410。
所示出的该单个测试回路410从SOC 700发出,经过HMITM处理器10,并且返回至SOC700。该HMITM检测器150可在应用的特定事件中执行其全部HMITM检测测试。不经过HMITM处理器10的测试回路410可能产生否定的测试结果,但是经过HMITM处理器10的回路410可具有与存储的出厂阈值不同的测试结果,从而导致对HMITM 10的肯定识别。
如果攻击没有捕获全部检测器的I/O,则有可能不是全部的来自HMITM检测器150的可用测试回路410都经过HMITM 10。因此,采用的测试回路410越多,这些测试回路410中的一个经过HMITM处理器10并进行检测的机会越高。可以在具有足够的测试回路410和不那么容易检测到攻击者安装HMITM 10之间进行平衡。可使用诱饵回路(例如去往其它部件上的未使用过的管脚的回路)来向攻击者掩饰HMITM检测器的真实目的。
使用嵌入式RF天线PCB回路进行HMITM检测
图4示出了从HMITM自检测处理器100上的管脚发出并在同一个处理器100的不同管脚上终止的测试回路410。在PCB上使用这样的物理测试回路410进行的相同测试可通过无线通信进行仿真,使得不需要物理回路或者物理回路是可补充的。如果一个或多个测试回路410包括发射天线,并且处理器100的驱动器管脚可以在其输出处产生适宜的驱动信号,则所设计的接收天线或芯片天线可检测发射天线回路以外的传输。如果该传输信号通过HMITM装置,当与用于预期测试结果的所存储的比较阈值数据相比较,其接收特性可能以可检测的方式被改变。这是因为无线通信对于传输线路特性可能是高度敏感的,在一些实施例中比通过硬件通信要强得多。在高频无线信号的发送和/或接收路径中存在HMITM处理器可能以可检测的方式影响信号。
HMITM检测方法
图8示出了依据本发明的实施例的用于检测硬件中间人实现的方法800。对于给定的处理器100,将要在现场进行的每一个HMITM自测试都可在生产设备处执行,以从已知真实的硬件810获取测试数据。这些测试可简单地被添加至已经在许多生产系统上进行的测试的自动的测试套件。可以在所有生产系统上和生产系统可能要运行的所有环境条件下进行测试,因为对于每一个生产系统,测试回路特性可能略有改变。
这些测试可重复820。可进行足够的测试来计算和存储每个自测试的统计平均检测阈值。
也可以对每一个测试的阈值进行设置830。例如,任何自测试的阈值可以是最小和最大值之间的范围,其平均结果必然在绝对最小或最大值之间,或可以是绝对最小或最大值,其平均结果必然是在最小值以上或最大值以下。对于每一个测试的这些阈值可被选择成足够大以使错误的肯定识别最小化。如果测试不能产生这样的阈值,则对于处理器100可不将其包括在内。同样,在一些实施例中,对于一些处理器100的特定环境范围可能需要存储唯一的检测阈值。例如,因为已经确定的是温度可影响测试结果,所以可对于温度范围在0-20摄氏度的“测试A(Test A)”存储某阈值参数“A1”。对于这一测试,如果测试A的平均结果小于实验得出的测试阈值,则该测试可得出的结论是没有外部硬件干扰该测量。可对于温度范围在21-40摄氏度的测试A存储阈值参数“A2”。如果在25摄氏度下系统自行执行测试A(假定该系统可精确感测温度),则可将其平均结果与阈值A2而不是阈值A1进行比较来做出判决。如以上注意到的,对于生产设备自测试,可存储包含在感兴趣的全部操作环境范围内用于HMITM自检测测量的实验得出的肯定的HMITM识别阈值的查询表或其它数据结构。采用已存储的自测试程序和包含必要的肯定的HMITM识别阈值参数的查询表,系统可能能够在现场执行HMITM检测自测试。
自测试可在应用或部署特定事件(诸如上电和/或系统复位、基于时间的事件、基于传感器的事件,和/或其它事件)时被执行840。每一个自测试都可被多次执行以获得平均值。可将每一个平均结果与存储器中存储的阈值进行比较850。如果平均的HMITM检测自测试结果产生对添加外部硬件的肯定识别860,则可采取适当的应用特定的行动870。这可包括但不限于擦除敏感数据、不与某些通信端口通信、不响应某些命令、警告系统管理员,或者根本不进行操作直到制定解锁程序。
也可生成应用特定的规则以在对于外部硬件是否存在可做出最终判决之前,对于所有的、或者一个、或者多个HMITM检测自测试中的一种情况,以及甚至很可能在多种环境条件下,来要求肯定的检测结果。在综合评分的方法中,某些测试也可具有比其它测试更重的权重。例如,具有肯定的HMITM检测结果的传播延迟测试可加权重为2.0,而具有相同结果的每一个其它的测试仅可加权重为1.0。在这种加权重方案中,最终分数3.0可能是必要的,且足以使系统自确定外部硬件已经被添加。
虽然在上文中已经说明了不同的实施例,但是应该理解的是它们已经通过示例而非限制的方式呈现。对于相关领域的技术人员显而易见的是在形式和细节上可以做出各种改变,而不背离精神和范围。事实上,在阅读以上说明书之后,对于相关领域的技术人员来说如何实现备选实施例将是显而易见的。
此外,应该理解的是提出功能性和优点的任何数字都仅是为了示例的目的提出的。所公开的方法和系统分别都是足够灵活且可配置的,使得它们能够以除所示出的方式以外的方式被利用。
虽然在说明书、权利要求书和附图中可能经常使用术语“至少一个”,但是在说明书、权利要求书和附图中的术语“一”、“一个”、“该”、“所述”等也表示“至少一个”或者“该至少一个”。
最后,申请人意图在于只有权利要求书包括明确的语言表达“手段用于”或“步骤用于”时则可根据35U.S.C.112(f)进行解释。未明确地包括措辞“手段用于”或“步骤用于”的权利要求则不应根据35U.S.C.112(f)进行解释。
Claims (30)
1.一种用于检测硬件修改的系统,包括:
测试回路,所述测试回路终止于处理器封装焊盘的发送管脚以及接收器管脚;和
处理器,所述处理器经由所述发送管脚和所述接收器管脚被耦接至所述测试回路,所述处理器被配置成:
使信号从所述发送管脚被发送至所述测试回路;
在所述接收器管脚处从所述测试回路接收经修改的信号;并且
分析所述经修改的信号以基于所述经修改的信号来检测与所述测试回路通信的硬件修改。
2.如权利要求1所述的系统,进一步包括终止于所述处理器封装焊盘的多个发送管脚和接收器管脚的多个测试回路;其中
所述处理器经由所述发送管脚和所述接收器管脚被耦接至每一个测试回路,并且所述处理器进一步被配置成:
使信号从每一个发送管脚被发送至每一个测试回路;
在每一个接收器管脚处从每一个测试回路接收经修改的信号;并且
分析每一个经修改的信号以基于所述经修改的信号中的至少一个来检测与所述测试回路中的至少一个通信的所述硬件修改。
3.如权利要求1所述的系统,其中:
所述测试回路终止于多个发送管脚、多个接收器管脚,或它们的组合;并且
所述处理器经由所述多个发送管脚、所述多个接收器管脚,或它们的组合被耦接至所述测试回路,所述处理器进一步被配置成:
使所述信号从所述多个发送管脚中的至少一个被发送至所述测试回路;
在所述多个接收器管脚中的至少一个处从所述测试回路接收所述经修改的信号;
或它们的组合。
4.如权利要求1所述的系统,其中所述处理器包括针对所述硬件修改而正被测试的处理器,被耦接至针对所述硬件修改而正被测试的所述处理器的协同处理器,或它们的组合。
5.如权利要求1所述的系统,进一步包括被耦接至所述处理器的存储器,其中所述处理器被配置成分析所述经修改的信号以通过将所述经修改的信号与在所述存储器中存储的数据进行比较来检测所述至少一个硬件修改。
6.如权利要求5所述的系统,其中所述数据包括在已知不存在所述硬件修改时由实验得出的先前测试回路分析数据。
7.如权利要求1所述的系统,其中所述发送的信号包括:
脉冲信号,所述脉冲信号具有已知的上升时间、已知的下降时间,或已知的上升时间和下降时间;
具有已知的驱动强度的信号;
包含多个频率的信号或各自在所述多个频率的一个不同频率上的一系列信号;
具有已知的数据内容的信号;
模拟波形信号;或
它们的组合。
8.如权利要求1所述的系统,其中所述处理器包括被配置成将所述信号从所述发送管脚发送至所述测试回路的脉冲模块、被配置成将所述信号从所述发送管脚发送至所述测试回路的模拟波形模块,或它们的组合。
9.如权利要求1所述的系统,其中所述处理器被配置成分析所述经修改的信号以通过确定所述经修改的信号的上升时间与期望的上升时间不同、所述经修改的信号的下降时间与期望的下降时间不同,或它们的组合,来检测所述至少一个硬件修改。
10.如权利要求1所述的系统,其中所述处理器被配置成分析所述经修改的信号以通过确定所述经修改的信号的驱动强度与期望的驱动强度不同来检测所述至少一个硬件修改。
11.如权利要求1所述的系统,其中所述处理器被配置成分析所述经修改的信号以通过确定所述经修改的信号的带宽参数与期望的带宽参数不同来检测所述至少一个硬件修改。
12.如权利要求1所述的系统,其中所述处理器被配置成分析所述经修改的信号以通过确定所述经修改的信号的数据内容与期望的数据内容不同来检测所述至少一个硬件修改。
13.如权利要求1所述的系统,其中所述处理器被配置成分析所述经修改的信号以通过确定所述经修改的信号的波形参数与期望的波形参数不同来检测所述至少一个硬件修改。
14.如权利要求1所述的系统,其中:
所述处理器包括被耦接至针对所述硬件修改正被测试的处理器的外部组件;
所述测试回路被耦接至所述外部组件并被配置成将所述信号发送至所述外部组件;
所述外部组件被配置成响应于接收所述信号将所述经修改的信号经由所述测试回路发送至所述接收管脚;并且
所述处理器被配置成分析所述经修改的信号以通过确定所述经修改的信号的数据内容与期望的数据内容不同来检测所述至少一个硬件修改。
15.如权利要求1所述的系统,其中所述测试回路包括:
被耦接至所述发送管脚的第一天线;和
被耦接至所述接收器管脚的第二天线。
16.一种用于检测硬件修改的方法,包括:
通过处理器使信号从处理器封装焊盘的发送管脚被发送至终止于所述处理器封装焊盘的所述发送管脚和接收器管脚的测试回路,所述处理器经由所述发送管脚和所述接收器管脚被耦接至所述测试回路;
通过所述处理器在所述接收器管脚处从所述测试回路接收经修改的信号;以及
通过所述处理器分析所述经修改的信号以基于所述经修改的信号来检测与所述测试回路通信的硬件修改。
17.如权利要求16所述的方法,进一步包括:
通过所述处理器使信号从所述处理器封装焊盘的多个发送管脚中的每一个被发送至终止于所述处理器封装焊盘的所述发送管脚和多个接收器管脚的多个测试回路,所述处理器经由每一个发送管脚和每一个接收器管脚被耦接至每一个测试回路;
通过所述处理器在每一个接收器管脚处从每一个测试回路接收经修改的信号;以及
通过所述处理器分析每一个经修改的信号以基于所述经修改的信号中的至少一个来检测与所述测试回路中的至少一个通信的所述硬件修改。
18.如权利要求16所述的方法,进一步包括:
通过所述处理器使所述信号从多个发送管脚中的至少一个发送至所述测试回路;
通过所述处理器在多个接收器管脚中的至少一个处从所述测试回路接收所述经修改的信号;或
它们的组合。
19.如权利要求16所述的方法,其中所述处理器包括针对所述硬件修改正被测试的处理器、被耦接至针对所述硬件修改正被测试的所述处理器的协同处理器,或它们的组合。
20.如权利要求16所述的方法,其中进一步包括通过所述处理器分析所述经修改的信号来检测所述至少一个硬件修改包括将所述经修改的信号与在被耦接至所述处理器的存储器中存储的数据进行比较。
21.如权利要求20所述的方法,其中所述数据包括在已知不存在所述硬件修改时实验得出的先前测试回路分析数据。
22.如权利要求16所述的方法,其中,所述发送信号包括:
脉冲信号,所述脉冲信号具有已知的上升时间、已知的下降时间,或已知的上升时间和下降时间;
具有已知的驱动强度的信号;
包含多个频率的信号或各自在所述多个频率的一个不同频率上的一系列信号;
具有已知的数据内容的信号;
模拟波形信号;或
它们的组合。
23.如权利要求16所述的方法,进一步包括:
通过所述处理器的脉冲模块将所述信号从所述发送管脚发送至所述测试回路;
通过所述处理器的模拟波形模块将所述信号从所述发送管脚发送至所述测试回路;或
它们的组合。
24.如权利要求16所述的方法,其中通过所述处理器分析所述经修改的信号来检测所述至少一个硬件修改包括确定所述经修改的信号的上升时间与期望的上升时间不同、所述经修改的信号的下降时间与期望的下降时间不同,或者它们的组合。
25.如权利要求16所述的方法,其中通过所述处理器分析所述经修改的信号来检测所述至少一个硬件修改包括确定所述经修改的信号的驱动强度与期望的驱动强度不同。
26.如权利要求16所述的方法,其中通过所述处理器分析所述经修改的信号来检测所述至少一个硬件修改包括确定所述经修改的信号的带宽参数与期望的带宽参数不同。
27.如权利要求16所述的方法,其中通过所述处理器分析所述经修改的信号来检测所述至少一个硬件修改包括确定所述经修改的信号的数据内容与期望的数据内容不同。
28.如权利要求16所述的方法,其中通过所述处理器分析所述经修改的信号来检测所述至少一个硬件修改包括确定所述经修改的信号的波形参数与期望的波形参数不同。
29.如权利要求16所述的方法,进一步包括:
通过所述测试回路将所述信号发送至被耦接至针对所述硬件修改而正被测试的处理器的外部组件;以及
通过所述外部组件响应于接收所述信号将所述经修改的信号经由所述测试回路发送至所述接收管脚;
其中通过所述处理器分析所述经修改的信号来检测所述至少一个硬件修改包括确定所述经修改的信号的数据内容与期望的数据内容不同。
30.如权利要求16所述的方法,其中:
通过所述处理器使所述信号从所述发送管脚被发送至所述测试回路包括通过被耦接至所述发送管脚的第一天线发送所述信号;以及
通过所述处理器在所述接收器管脚从所述测试回路接收所述经修改的信号包括通过被耦接至所述接收器管脚的第二天线接收所述信号。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562148551P | 2015-04-16 | 2015-04-16 | |
US62/148,551 | 2015-04-16 | ||
PCT/US2016/027768 WO2016168608A1 (en) | 2015-04-16 | 2016-04-15 | Methods and systems for self-detection of post-production external hardware attachments |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107533433A true CN107533433A (zh) | 2018-01-02 |
Family
ID=57126211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680028242.9A Pending CN107533433A (zh) | 2015-04-16 | 2016-04-15 | 用于后制作外部硬件附件的自检测的系统和方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20160308889A1 (zh) |
EP (1) | EP3283944A4 (zh) |
JP (1) | JP2018517203A (zh) |
KR (1) | KR20170138432A (zh) |
CN (1) | CN107533433A (zh) |
AU (1) | AU2016248313A1 (zh) |
CA (1) | CA2982497A1 (zh) |
WO (1) | WO2016168608A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027057A (zh) * | 2019-01-31 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | 一种芯片隐藏硬件的检测方法、装置及存储介质 |
US11778482B1 (en) | 2016-03-31 | 2023-10-03 | ARRES Enterprises LLC | Dual non-contiguous channel allocation for reliable communication |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10685108B2 (en) * | 2018-05-04 | 2020-06-16 | Dell Products L.P. | System and method of determining one or more inconsistencies in operating information handling systems |
US11599098B2 (en) | 2019-05-08 | 2023-03-07 | Ares Technologies, Inc. | Apparatus and methods for testing circuit elements at one or more manufacturing stages |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030214030A1 (en) * | 2002-05-16 | 2003-11-20 | Bodas Devadatta V. | Breaking out signals from an integrated circuit footprint |
CN1503132A (zh) * | 2002-11-21 | 2004-06-09 | ��ʢ���ӹɷ�����˾ | 计算机主机板输出入端口的测试装置 |
US20040117693A1 (en) * | 2002-03-29 | 2004-06-17 | Hitachi, Ltd. | Data processing system |
CN100351802C (zh) * | 2005-03-02 | 2007-11-28 | 华为技术有限公司 | 获取硬件信息的方法及系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732209A (en) * | 1995-11-29 | 1998-03-24 | Exponential Technology, Inc. | Self-testing multi-processor die with internal compare points |
US6181004B1 (en) * | 1999-01-22 | 2001-01-30 | Jerry D. Koontz | Digital signal processing assembly and test method |
EP1035518B1 (de) * | 1999-03-12 | 2008-06-25 | Francotyp-Postalia GmbH | Anordnung zum Schutz eines Sicherheitsmoduls |
US7840803B2 (en) * | 2002-04-16 | 2010-11-23 | Massachusetts Institute Of Technology | Authentication of integrated circuits |
US8788650B1 (en) * | 2002-07-19 | 2014-07-22 | Fortinet, Inc. | Hardware based detection devices for detecting network traffic content and methods of using the same |
US7665135B1 (en) * | 2005-06-03 | 2010-02-16 | Sprint Communications Company L.P. | Detecting and addressing network attacks |
US7921337B2 (en) * | 2008-05-30 | 2011-04-05 | Honeywell International Inc. | Systems and methods for diagnosing faults in electronic systems |
US20100260476A1 (en) * | 2009-04-13 | 2010-10-14 | Cloutman John F | Method and apparatus for secure configuration of electronic devices |
RU2013125468A (ru) * | 2010-11-03 | 2014-12-10 | Вирджиния Тек Интеллекчуал Пропертиз, Инк. | Использование технологии слежения за мощностью для контроля целостности и повышения безопасности компьютерных систем |
US9621567B2 (en) * | 2010-11-29 | 2017-04-11 | Biocatch Ltd. | Device, system, and method of detecting hardware components |
US8742997B2 (en) * | 2011-05-19 | 2014-06-03 | Apple Inc. | Testing system with electrically coupled and wirelessly coupled probes |
US8896455B2 (en) * | 2011-08-18 | 2014-11-25 | Microsoft Corporation | Intrusion detection and communication |
-
2016
- 2016-04-15 WO PCT/US2016/027768 patent/WO2016168608A1/en active Application Filing
- 2016-04-15 AU AU2016248313A patent/AU2016248313A1/en not_active Abandoned
- 2016-04-15 JP JP2017553929A patent/JP2018517203A/ja active Pending
- 2016-04-15 CA CA2982497A patent/CA2982497A1/en not_active Abandoned
- 2016-04-15 CN CN201680028242.9A patent/CN107533433A/zh active Pending
- 2016-04-15 EP EP16780842.7A patent/EP3283944A4/en not_active Withdrawn
- 2016-04-15 US US15/130,507 patent/US20160308889A1/en not_active Abandoned
- 2016-04-15 KR KR1020177029652A patent/KR20170138432A/ko unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040117693A1 (en) * | 2002-03-29 | 2004-06-17 | Hitachi, Ltd. | Data processing system |
US20030214030A1 (en) * | 2002-05-16 | 2003-11-20 | Bodas Devadatta V. | Breaking out signals from an integrated circuit footprint |
CN1503132A (zh) * | 2002-11-21 | 2004-06-09 | ��ʢ���ӹɷ�����˾ | 计算机主机板输出入端口的测试装置 |
CN100351802C (zh) * | 2005-03-02 | 2007-11-28 | 华为技术有限公司 | 获取硬件信息的方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11778482B1 (en) | 2016-03-31 | 2023-10-03 | ARRES Enterprises LLC | Dual non-contiguous channel allocation for reliable communication |
CN111027057A (zh) * | 2019-01-31 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | 一种芯片隐藏硬件的检测方法、装置及存储介质 |
CN111027057B (zh) * | 2019-01-31 | 2023-12-26 | 安天科技集团股份有限公司 | 一种芯片隐藏硬件的检测方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3283944A4 (en) | 2019-03-06 |
AU2016248313A1 (en) | 2017-11-09 |
CA2982497A1 (en) | 2016-10-20 |
WO2016168608A1 (en) | 2016-10-20 |
JP2018517203A (ja) | 2018-06-28 |
KR20170138432A (ko) | 2017-12-15 |
EP3283944A1 (en) | 2018-02-21 |
US20160308889A1 (en) | 2016-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10444279B2 (en) | Non-invasive pre-bond TSV test using ring oscillators and multiple voltage levels | |
CN107533433A (zh) | 用于后制作外部硬件附件的自检测的系统和方法 | |
Salmani et al. | On design vulnerability analysis and trust benchmarks development | |
US9818000B2 (en) | Protecting hidden content in integrated circuits | |
US20160047855A1 (en) | Pcb authentication and counterfeit detection | |
US20120183186A1 (en) | Method for Characterizing Integrated Circuits for Identification or Security Purposes | |
US11480614B2 (en) | Side-channel signature based PCB authentication using JTAG architecture and a challenge-response mechanism | |
US7589548B2 (en) | Design-for-test micro probe | |
WO2010124148A1 (en) | At-speed scan testing with controlled switching activity | |
US20220341990A1 (en) | A method and apparatus for detection of counterfeit parts, compromised or tampered components or devices, tampered systems such as local communication networks, and for secure identification of components | |
Orr et al. | A systematic method for determining soft-failure robustness of a subsystem | |
Yang et al. | Side-channel analysis for hardware Trojan detection using machine learning | |
Lecomte et al. | Thoroughly analyzing the use of ring oscillators for on-chip hardware trojan detection | |
US6724210B2 (en) | Method and apparatus for reduced pin count package connection verification | |
JP2003066125A (ja) | 集積回路、並びに、集積回路を試験するための方法 | |
Paquette et al. | Visualizing electromagnetic fault injection with timing sensors | |
Flintoft et al. | The re-emission spectrum of digital hardware subjected to EMI | |
Ebrahimi et al. | Testing for intermittent resistive faults in CMOS integrated systems | |
US20230401342A1 (en) | Electronic tampering detection | |
Fujimoto et al. | A novel methodology for testing hardware security and trust exploiting on-chip power noise measurement | |
Konishi et al. | Electrical test method for interconnect open defects in 3D ICs | |
Jin et al. | A post-deployment IC trust evaluation architecture | |
US20230305612A1 (en) | Characterizing Fault Injection on Power Distribution Networks with Voltage Sensors | |
Naughton et al. | Power Delivery Network as a Physically Unclonable Function | |
US11651071B2 (en) | Apparatus and methods for detecting invasive attacks within integrated circuits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180102 |
|
WD01 | Invention patent application deemed withdrawn after publication |