CN106845286B - 硬件木马检测方法、装置及系统 - Google Patents
硬件木马检测方法、装置及系统 Download PDFInfo
- Publication number
- CN106845286B CN106845286B CN201611162926.6A CN201611162926A CN106845286B CN 106845286 B CN106845286 B CN 106845286B CN 201611162926 A CN201611162926 A CN 201611162926A CN 106845286 B CN106845286 B CN 106845286B
- Authority
- CN
- China
- Prior art keywords
- electromagnetic signal
- chip
- training
- trained
- trojan horse
- 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.)
- Active
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/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
- G06F21/76—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 in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种硬件木马检测方法、装置及系统,属于信息安全技术领域。该方法包括:检测目标芯片在工作时泄露的电磁信号;根据检测到的电磁信号,获取对应的目标电磁信号记录;基于预先训练的木马检测支持向量机,根据目标电磁信号记录,得到目标芯片相应的检测结果。本发明通过基于预先训练的木马检测支持向量机,根据检测到泄露的目标电磁信号记录,得到目标芯片相应的检测结果。由于是将采集到的大量电磁信号通过预先训练的硬件木马检测支持向量机来自动检测硬件木马,而非仅对单一电磁信号的关联关系进行分析来发现硬件木马,从而基于训练大量的电磁信号,能够发现硬件木马对芯片所产生的电磁信号影响。因此,硬件木马检测分辨率较高。
Description
技术领域
本发明涉及信息安全技术领域,更具体地,涉及一种硬件木马检测方法、装置及系统。
背景技术
随着芯片制造工艺的不断进步,建立并维护一座处于技术前沿的芯片制造厂所需花费的成本越来越高。例如,现如今建立一座12英寸、65nm工艺的芯片制造厂需花费近30亿美元。这造成了芯片的设计过程与制造过程相互分离的现象,即芯片的设计方在完成电路设计后,把形成的最终设计数据交付给芯片制造厂,由制造厂负责进行具体的加工与生产。上述现状造成了芯片的制造过程往往处于不受设计方控制的状态,使得芯片在面对对手的破坏行为或恶意修改时非常脆弱。对于那些应用于政府机构、金融、交通等安全敏感领域的芯片来说,制造过程的不可控,使得在使用这些芯片时面临极大的安全隐患。例如,对手可以在制造过程中向芯片中植入一些额外的恶意电路(也称为硬件木马)。这些硬件木马既能在将来某个时候被对手触发,也可能在某些情况下自行触发。一旦被触发后,硬件木马可以将芯片的密钥等加密信息隐蔽地泄露给对手,还可以对芯片进行破坏,从而达到使整个系统功能瘫痪的目的。
由于硬件木马具有规模小、隐蔽性高及危害性大等特点,使得硬件木马的检测极其困难。现有的硬件木马检测方法主要是利用电路的瞬态电源电流和最高工作频率之间的内在联系来实现硬件木马的检测。即基于一阶近似的情况下,芯片的瞬态电源电流和最高工作频率之间的关系是线性的,并且硬件木马插入所造成的影响主要在于导致了芯片的瞬态电源电流和最高工作频率之间线性关系的斜率发生了变化。因此,该方法把芯片的瞬态电源电流和最高工作频率分别作为Y轴和X轴绘制在一张图上,获得芯片的瞬态电源电流和最高工作频率之间的相关性趋势线。将起参考作用的无木马芯片的趋势线作为对比的基准,再把从待测芯片获得的瞬态电源电流和最高工作频率之间相关性数据与该基准趋势线作对比,通过观察待测芯片的数据是否偏移了基准趋势线,从而判断出待测芯片中是否被插入了硬件木马。
在实现本发明的过程中,发现现有技术至少存在以下问题:由于当硬件木马的规模较小时,硬件木马对芯片所产生的电磁信号影响往往会湮没在测量噪声和工艺偏差中。此时,如果仅对单一电磁信号的关联关系进行分析将很难发现硬件木马的存在,从而导致硬件木马检测分辨率较低。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的硬件木马检测方法、装置及系统。
根据本发明的第一方面,提供了一种硬件木马检测方法,该方法包括:
检测目标芯片在工作时泄露的电磁信号;
根据检测到的电磁信号,获取对应的目标电磁信号记录;
基于预先训练的木马检测支持向量机,根据目标电磁信号记录,得到目标芯片相应的检测结果。
根据本发明的第二方面,提供了一种硬件木马检测装置,该装置包括:
检测模块,用于检测目标芯片在工作时泄露的电磁信号;
获取模块,用于根据检测到的电磁信号,获取对应的目标电磁信号记录;
确定模块,用于基于预先训练的木马检测支持向量机,根据目标电磁信号记录,得到目标芯片相应的检测结果。
根据本发明的第三方面,提供了一种硬件木马检测系统,该系统包括:装载板、终端、电磁探头、触发通道、稳压电源、前置放大器及数字存储示波器;
装载板与稳压电源相连接,装载板通过触发通道与数字存储示波器相连接,装载板与终端相连接,终端与数字存储示波器相连接,数字存储示波器与前置放大器相连接,前置放大器与电磁探头相连接;
其中,装载板装载有待检测的目标芯片;稳压电源用于对装载板进行供电;电磁探头用于采集目标芯片泄露的电磁信号,前置放大器用于对采集到的电磁信号进行放大;数字存储示波器用于记录电磁探头采集的电磁信号;终端用于对电磁信号进行分析,根据分析结果确定目标芯片是否带有硬件木马。
本申请提出的技术方案带来的有益效果是:
通过检测目标芯片在工作时泄露的电磁信号,根据检测到的电磁信号,获取对应的目标电磁信号记录。基于预先训练的木马检测支持向量机,根据目标电磁信号记录,得到目标芯片相应的检测结果。由于是基于机器学习的方法,将采集到的大量电磁信号通过预先训练的硬件木马检测支持向量机来自动检测硬件木马,而非仅对单一电磁信号的关联关系进行分析来发现硬件木马,从而基于训练大量的电磁信号,能够发现硬件木马对芯片所产生的电磁信号影响。因此,硬件木马检测分辨率较高。
另外,硬件木马检测过程可用于任何场合,从而检测过程的通用性较高。基于触发通道,装载板程序的开始结束触发设计对应采集到的电磁泄露信号在时间点上对齐效果很好,不需要在数据处理时利用算法对齐,使得数据分析算法相对更简单,从而减少数据分析时间且节省了内存资源。
附图说明
图1为本发明实施例的一种硬件木马检测系统的结构示意图;
图2为本发明实施例的一种硬件木马检测方法的流程示意图;
图3为本发明实施例的一种硬件木马检测方法的流程示意图;
图4为本发明实施例的一种电磁信号泄露的曲线示意图;
图5为本发明实施例的一种降维后的参数曲线示意图;
图6为本发明实施例的一种硬件木马检测装置的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
现有硬件木马检测过程主要通过对电磁信号的关联关系进行分析,根据分析结果确定芯片是否存在硬件木马。由于硬件木马电路的规模可大可小,当硬件木马电炉的规模较小时,硬件木马对芯片所产生的电磁信号影响会湮没在测量噪声和工艺偏差中,从而导致仅对单一电磁信号的关联关系进行分析将很难发现硬件木马的存在。因此,硬件木马检测分辨率较低。
针对现有技术中的问题,本实施例提供了一种硬件木马检测系统。该系统包括:装载板、终端、电磁探头、触发通道、稳压电源、前置放大器及数字存储示波器;装载板与稳压电源相连接,装载板通过触发通道与数字存储示波器相连接,装载板与终端相连接,终端与数字存储示波器相连接,数字存储示波器与前置放大器相连接,前置放大器与电磁探头相连接;
具体地,装载板可通过Altera的FPGA/CPLD(Complex Programmable LogicDevice,复杂可编程逻辑器件)程序下载电缆USB Blaster与终端相连接。装载板可通过供电回路与稳压电源想连接,终端可通过USB接口与数字存储示波器相连接,本实施例不对上述连接方式作具体限定。
其中,装载板装载有待检测的目标芯片;稳压电源用于对装载板进行供电;电磁探头用于采集目标芯片泄露的电磁信号,前置放大器用于对采集到的电磁信号进行放大;数字存储示波器用于记录电磁探头采集的电磁信号;终端用于对电磁信号进行分析,根据分析结果确定目标芯片是否带有硬件木马。另外,触发通道用于对采集到的电磁泄露信号在时间点上进行对齐,即基于开始结束触发设计,相应输出两个高电平,来指示数字存储示波器截取有效电磁信号记录。终端还可以用于控制全部采集设备的配置,存储采集到的电磁信号,本实施例对此不作具体限定。
需要说明的是,上述装载板主要功能是为了装载待检测的芯片,实际实施过程中装载板的具体形式可以为FPGA开发板或者待检测芯片实际所处的主板,本实施例对此不作具体限定。另外,为了便于能够查看采集到的电磁信号,上述数字存储示波器可以将采集到的电磁信号以电压值的形式进行显示,本实施例对此不作具体限定。其中,每个采样点所采样的电磁信号对应一个电压值。上述终端可以为计算机或者具有处理功能的处理设备,本实施例对此不作具体限定。
本发明实施例提供的系统,通过检测目标芯片在工作时泄露的电磁信号,根据检测到的电磁信号,获取对应的目标电磁信号记录。基于预先训练的木马检测支持向量机,根据目标电磁信号记录,得到目标芯片相应的检测结果。由于是基于机器学习的方法,将采集到的大量电磁信号通过预先训练的硬件木马检测支持向量机来自动检测硬件木马,而非仅对单一电磁信号的关联关系进行分析来发现硬件木马,从而基于训练大量的电磁信号,能够发现硬件木马对芯片所产生的电磁信号影响。因此,硬件木马检测分辨率较高。
另外,硬件木马检测过程可用于任何场合,从而检测过程的通用性较高。基于触发通道,装载板程序的开始结束触发设计对应采集到的电磁泄露信号在时间点上对齐效果很好,不需要在数据处理时利用算法对齐,使得数据分析算法相对更简单,从而减少数据分析时间且节省了内存资源。
再次,硬件木马检测支持向量机所需电磁泄漏曲线的数目较少,即所需采集样本数量较少。随着硬件木马检测支持向量机不断地学习,系统的检测精度及鲁棒性还会逐渐提高。
最后,由于在对泄露的电磁信号进行分析时,降维以及特征提取减少了预测变量的个数,确保降维后的变量相互独立,且经过降维去除了一部分噪声,从而不仅提高了检测效率,且提高了算法的抗噪声能力。
作为一种可选实施例,稳压电源可由电源通过增加LDO(Low Dropout Regulator,低压差线性稳压器)来形成,本实施例对此不作具体限定。相比于通过常规插头插接的供电方式,通过稳压电源供电能够减少地线信号的干扰,从而能够进一步地保证采集到电磁信号的准确性。另外,还能减少功耗。
作为一种可选实施例,上述装载板包括核心板及底板;核心板用于装载待检测的芯片,底板用于装载核心板。通过核心板与底板结合以及在核心板上装载芯片的方式,能够方便地从底板上拆卸核心板,从而能够便于在同一底板上检测不同的芯片。另外,为了便于和底板实现无缝连接,核心板的I/O接口可使用2.54mm间距排针引出,本实施例对此不作具体限定。
考虑到在检测芯片时,还可能需要对芯片内部一些数据进行存储,从而作为一种可选实施例,装载板还包括Flash芯片与转接板;上述底板用于装载转接板,转接板用于装载不同容量的Flash芯片。需要说明的是,Flash芯片可以使用sop8封装以实现可插拔,通过转接板能够便于切换不同容量的芯片。
为了减少稳压电源电磁信号对采集电磁信号时的干扰,作为一种可选实施例,装载板中每个电源引脚与预设大小的去耦电容连接。其中,去耦电容的大小可以为0.1uf,本实施例对此不作具体限定。
优选地,硬件木马检测系统的结构可如图1所示。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
基于上述图1对应实施例所提供的硬件木马检测系统,本发明实施例提供了一种硬件木马检测方法。参见图2,本实施例提供的方法流程包括:201、检测目标芯片在工作时泄露的电磁信号;202、根据检测到的电磁信号,获取对应的目标电磁信号记录;203、基于预先训练的木马检测支持向量机,根据目标电磁信号记录,得到目标芯片相应的检测结果。
本发明实施例提供的方法,通过检测目标芯片在工作时泄露的电磁信号,根据检测到的电磁信号,获取对应的目标电磁信号记录。基于预先训练的木马检测支持向量机,根据目标电磁信号记录,得到目标芯片相应的检测结果。由于是基于机器学习的方法,将采集到的大量电磁信号通过预先训练的硬件木马检测支持向量机来自动检测硬件木马,而非仅对单一电磁信号的关联关系进行分析来发现硬件木马,从而基于训练大量的电磁信号,能够发现硬件木马对芯片所产生的电磁信号影响。因此,硬件木马检测分辨率较高。
作为一种可选实施例,根据检测到的电磁信号,获取对应的目标电磁信号,包括:
当检测到电磁信号大于第一预设阈值时,以当前时刻为起始点,对后续的电磁信号进行记录,直到检测到电磁信号小于第二预设阈值为止,得到对应的目标电磁信号。
作为一种可选实施例,将预处理后得到的参数输入至木马检测支持向量机,得到目标芯片相应的检测结果之前,还包括:
基于带有木马电路及不带有木马电路的芯片在工作时所采集到的训练电磁信号,训练得到木马检测支持向量机。
作为一种可选实施例,训练得到木马检测支持向量机之前,包括:
基于预设数量个采样点,采集带有木马电路的芯片在工作时泄露的第一训练电磁信号,采集不带有木马电路的芯片在工作时泄露的第二训练电磁信号;
按照预设每组数量,对预设数量个第一训练电磁信号进行分组得到相应组数的第一训练电磁信号记录,对预设数量个第二训练电磁信号进行分组得到相应组数的第二训练电磁信号记录;
将第一训练电磁信号记录与第二训练电磁信号记录作为训练电磁信号记录,对训练电磁信号记录进行预处理;
训练得到木马检测支持向量机,包括:
根据预处理后得到的训练参数,对支持向量机进行训练,得到木马检测支持向量机。
作为一种可选实施例,对训练电磁信号记录进行预处理之前,还包括:
当检测任一组训练电磁信号记录中采样点的数量少于预设每组数量时,重新对任一组训练电磁信号记录进行采样。
作为一种可选实施例,对训练电磁信号记录进行预处理,包括:
以任一组训练电磁信号记录为基准,对剩下的每一组训练电磁信号记录进行移位;
根据剩下的每一组训练电磁信号记录移位后与任一组训练电磁信号记录之间的相关度,将剩下的每一组训练电磁信号记录与任一组训练电磁信号记录进行对齐;
基于数据成份分析算法,提取对齐后的训练电磁信号记录对应的训练参数。
作为一种可选实施例,基于数据成份分析算法,提取对齐后的训练电磁信号记录对应的训练参数之前,还包括:
通过预设滤波器,对对齐后的每一组训练电磁信号记录进行噪声处理;
基于数据成份分析算法,提取对齐后的训练电磁信号记录对应的训练参数,包括:
基于数据成份分析算法,提取噪声处理后的每一组训练电磁信号记录对应的训练参数。
作为一种可选实施例,基于预先训练的木马检测支持向量机,根据目标电磁信号记录,得到目标芯片相应的检测结果之前,还包括:
对目标电磁信号记录进行预处理;
基于预先训练的木马检测支持向量机,根据目标电磁信号记录,得到目标芯片相应的检测结果,包括:
将目标电磁信号记录进行预处理后所得到的目标参数输入至预先训练的木马检测支持向量机中,得到目标芯片相应的检测结果。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
由于芯片在工作时,即使差别很小,但带有硬件木马与不带硬件木马的芯片在工作时所泄露的电磁信号是不同的,从而利用芯片工作时泄露的电磁信号可检测芯片是否有硬件木马。按照上述理论,基于上述图1对应实施例所提供的硬件木马检测系统及图2对应实施例提供的硬件木马检测方法,本发明实施例提供了一种硬件木马检测方法。参见图3,301、检测目标芯片在工作时泄露的电磁信号;302、当检测到电磁信号大于第一预设阈值时,以当前时刻为起始点,对后续的电磁信号进行记录,直到检测到电磁信号小于第二预设阈值为止,得到对应的目标电磁信号;303、基于带有木马电路及不带有木马电路的芯片在工作时所采集到的训练电磁信号,训练得到木马检测支持向量机;304、基于预先训练的木马检测支持向量机,根据目标电磁信号记录,得到目标芯片相应的检测结果。
其中,301、检测目标芯片在工作时泄露的电磁信号。
在对电磁信号进行检测时,可通过上述图1对应的系统中电磁探头对芯片泄露的电磁信号进行检测。另外,为了便于后续对电磁信号进行处理,还可以通过图1对应系统中的前置放大器对电磁信号进行放大,本实施例对此不作具体限定。需要说明的是,本步骤中的芯片可以为带有任意类型硬件木马的待检测芯片,本实施例对此不作具体限定。
其中,302、当检测到电磁信号大于第一预设阈值时,以当前时刻为起始点,对后续的电磁信号进行记录,直到检测到电磁信号小于第二预设阈值为止,得到对应的目标电磁信号。
由于芯片在工作时所产生的电磁信号一般比不工作时所产生的电磁信号要强,从而可以通过检测采集到的电磁信号是否大于第一预设阈值来判断芯片是否开始工作,通过检测采集到的电磁信号是否小于第二预设阈值来判断芯片是否停止工作,本实施例对此不作具体限定。
通过对这段时间内的电磁信号进行记录,能够得到一条目标电磁信号记录。需要说明的是,本步骤采集到的目标电磁信号记录条数可以为一条,也可以为多条,本实施例对此不作具体限定。另外,采集到的电磁信号记录反映到图1对应系统中数字存储示波器时,为一串采样点的电压值。后续步骤中在对电磁信号进行处理时,主要是对电磁信号对应的电压值进行处理,本实施例对此也不作具体限定。
其中,303、基于带有木马电路及不带有木马电路的芯片在工作时所采集到的训练电磁信号,训练得到木马检测支持向量机。
由于后续需要根据预先训练的木马检测支持向量机来对芯片是否包含硬件木马进行检测,从而在本步骤中可训练得到木马检测支持向量机。需要说明的是,本步骤只是为了描述支持向量机的训练过程。在实际对芯片是否包含硬件木马进行检测时,本步骤的过程应为事先已经准备好的工作,而不用每次检测芯片是否包含硬件木马时重复本步骤的内容。
在执行本步骤之前,可先基于预设数量个采样点,采集带有木马电路的芯片在工作时泄露的第一训练电磁信号,采集不带有木马电路的芯片在工作时泄露的第二训练电磁信号,本实施例对此不作具体限定。具体在采集训练电磁信号时,可通过图1对应的硬件木马检测系统进行采集,本实施例对此不作具体限定。具体地,在系统中装载板上装载目标芯片,通过电磁探头、前置放大器以及数字存储示波器可以采集得到目标芯片在工作时泄露的电磁信号。采集到的电磁信号可在数字存储示波器以TXT格式的文件进行存储,本实施例对此不作具体限定。
由于相关电磁信号处理软件,如matlab,在读取训练电磁信号时是以1*N的形式读取,即一次性读取所有的训练电磁信号,读取量太大且不便处理,从而可先对训练电磁信号进行分组。本实施例不对训练电磁信号进行分组的方式作具体限定,包括但不限于:按照预设每组数量,对预设数量个第一训练电磁信号进行分组得到相应组数的第一训练电磁信号记录,对预设数量个第二训练电磁信号进行分组得到相应组数的第二训练电磁信号记录。
例如,以采样点的预设数量为1*100000及预设每组数量为500为例。按照预设每组数量500,可对1*100000个采样点对应的第一训练电磁信号进行分组,得到相应组数的第一训练电磁信号记录。其中,组数为200组,每组第一训练电磁信号记录中采样点的数量为500个。同理,可按照上述过程对第二训练电磁信号进行分组。当采样点的预设数量为1*100000时,可得到200组包含500个采样点的第一训练电磁信号记录,200组包含500个采样点的第二训练电磁信号记录。
由于存在数据缺失的可能性,从而在对训练电磁信号记录进行预处理之前,当检测任一组训练电磁信号记录中采样点的数量少于预设每组数量时,可重新对任一组训练电磁信号记录进行采样,本实施例对此不作具体限定。
优选地,基于上述图1对应的硬件木马检测系统,为了在训练支持向量机环境下所采集到的电磁信号记录更为精确,可通过在装载板上设置特定电路,让芯片在开始工作时由装载板的I/O接口输出一个高电平,并由触发通道传输至数字存储示波器,本实施例对此不作具体限定。由于高电平对应着高电压值,从而数字存储示波器这边就可以根据检测到的高电压值,很容易地判断出芯片开始工作。相应地,当芯片结束工作时同样可由装载板的I/O接口输出一个高电平,本实施例对此不作具体限定。上述过程结束后,两个高电压值之间的内容即为截取出电磁信号记录。需要说明的是,当在训练支持向量机时,若采样电磁信号时采用的是上述高电平对应的方式,则上述步骤302在对目标芯片的电磁信号进行采样时,也可按照同样的方式截取目标电磁信号记录,本实施例对此不作具体限定。例如,如图4所示。在图4中电磁信号泄漏的曲线示意图中,可以明显看出两个高电平对应的波峰,从而可截取连个波峰之间的有用信息,即采样点数据,作为对应的目标电磁信号记录。
基于装载板发出的高电平,对于任一组训练电磁信号记录,还可对该组训练电磁信号记录中的有效信号部分进行提取,得到有效的训练电磁信号记录,本实施例对此不作具体限定。
由上述过程可知,采集到的数据维度通常很大。另外,电磁信号数据之间相关性大,信息较冗余,这导致计算与分析数据都比较困难。为了减少后续处理的难度及工作量,可在采集到带有硬件木马及不带有硬件木马的芯片在工作时泄露的电磁信号记录后,对采集到的电磁信号记录进行预处理,本实施例对此不作具体限定。
相应地,在对训练电磁信号记录进行预处理后,在执行本步骤时,可根据预处理后得到的训练参数,对支持向量机进行训练,得到木马检测支持向量机,本实施例对此不作具体限定。
现对训练电磁信号记录预处理的过程进行说明,关于对训练电磁信号记录进行预处理的方式,本实施例对此不作具体限定,包括但不限于:以任一组训练电磁信号记录为基准,对剩下的每一组训练电磁信号记录进行移位;根据剩下的每一组训练电磁信号记录移位后与任一组训练电磁信号记录之间的相关度,将剩下的每一组训练电磁信号记录与任一组训练电磁信号记录进行对齐;基于数据成份分析算法,提取对齐后的训练电磁信号记录对应的训练参数。
由于每组训练电磁信号记录相对于其它训练电磁信号记录可能会有延时或者提前,这会影响后续处理结果的准确性。为了去除掉时间维度上的干扰,从而可按照上述过程对训练电磁信号记录进行对齐。例如,采集到的训练电磁信号记录有200组,可以第1组为基准,将剩下的199组与第1组进行对齐。即在时间维度上,以相关度为参考依据,将剩下的每一组训练电磁信号记录向前移或者向后移,直到相关度满足一定条件,从而实现与第1组训练电磁信号记录对齐。
本实施例不对根据剩下的每一组训练电磁信号记录移位后与任一组训练电磁信号记录之间的相关度,将剩下的每一组训练电磁信号记录与任一组训练电磁信号记录进行对齐的方式作具体限定,包括但不限于:计算剩下的每一组训练电磁信号记录每次进行移位后与任一组训练电磁信号记录之间的相关度;从计算得到的所有相关度中选择最大相关度,将最大相关度对应的移位结果作为剩下的每一组训练电磁信号记录与任一组训练电磁信号记录对齐后的结果。
例如,以第1组电磁信号记录为基准,待移位的电磁信号记录为第3组为例。在时间维度上,若第3组向前移0.1对应的相关度为0.5,向前移0.2对应的相关度为0.4,向后移0.1对应的相关度为0.8。由上述结果可知,最大相关度为0.8,从而在时间维度上,可将第3组电磁信号记录向后移0.1,作为第3组电磁信号记录与第1组电磁信号记录对齐后的结果。
需要说明的是,剩下的每一组训练电磁信号记录的移位尝试次数可以为一次以上,本实施例不对移位尝试次数作具体限定。计算相关度的算法可采样任一现有的相关度算法,本实施例也对此不作具体限定。另外,由于训练电磁信号记录分为带有木马电路的芯片对应的第一训练电磁信号记录,及不带有木马电路的芯片对应的第一训练电磁信号记录,从而在进行对齐操作时,可分别进行对齐或者同时进行对齐,本实施例对此不作具体限定。
当对所有组的训练电磁信号记录进行对齐后,可基于数据成份分析算法,提取对齐后的训练电磁信号记录对应的训练参数。
由于电磁信号中存在噪声,从而在基于数据成份分析算法,提取对齐后的训练电磁信号记录对应的训练参数之前,还可以通过预设滤波器,对对齐后的每一组训练电磁信号记录进行噪声处理,本实施例对此不作具体限定。其中,噪声是一个测量变量中的随机错误或偏差,包括错误的值或偏离期望的孤立的点值。通过噪声滤波器可对噪声进行处理,噪声滤波器可以为巴特沃斯滤波器,本实施例对此不作具体限定。
其中,数据成份分析算法可以为PCA(Principal Component Analysis,主元成份分析),也可以为ICA(Independent Component Correlation Algorithm,独立成份分析),本实施例对此不作具体限定。需要说明的是,本实施例采用数据成份分析算法对数据进行处理,主要是为了降维。例如,可将上述200*1999维度的数据降低至较低的维度。
相比于PCA将原始数据降维并提取出不相关的属性,ICA是将原始数据降维并提取出相互独立的属性。当使用ICA进行数据成份分析时,可设置独立成份的个数及降维维度参数,从而实现数据降维。如图5所示,维度较大的训练电磁信号记录在进行独立成份分析处理后,数据降到了50维。其中,不带硬件木马电路的芯片数据进行降维后得到的目标参数可如特征曲线1所示,带有硬件木马电路的芯片数据进行降维后得到的目标参数可如特征曲线2所示。
通过以上预处理的过程,可得到第一训练电磁信号记录对应的目标参数及第二训练电磁信号记录对应的目标参数,即带有硬件木马的芯片对应的目标参数及不带有硬件木马的芯片对应的目标参数。根据预处理后得到的训练参数,对支持向量机进行训练,得到木马检测支持向量机。其中,SVM(Support Vector Machine,支持向量机)是通过一个非线性映射p,将样本空间映射到一个高维乃至无穷维的特征空间中(如Hilbert空间),从而使得在原来的样本空间中非线性可分的问题可转化为在特征空间中线性可分的问题。其中,本实施例采用的是由中国台湾大学Chih-Chung Chang和Chih-Jen Lin编写的libsvm工具箱。当然,也可以采用其它类型的SVM工具箱,本实施例对此不作具体限定。
需要说明的是,由于是在高维特征空间中建立线性学习机,从而与线性模型相比,不但几乎不增加计算的复杂性,而且在某种程度上避免了“维数灾难”。
其中,304、基于预先训练的木马检测支持向量机,根据目标电磁信号记录,得到目标芯片相应的检测结果。
基于上述步骤303中的内容,在执行本步骤之前,可以先对目标电磁信号记录进行预处理,本实施例对此不作具体限定。另外,同样由于电磁信号中存在噪声,从而在对目标电磁信号记录进行预处理之前,还可以对其进行噪声处理。其中,噪声处理及预处理的具体过程可参考上述步骤303中的内容,此处不再赘述。
相应地,可将目标电磁信号记录进行预处理后所得到的目标参数输入至预先训练的木马检测支持向量机中,得到目标芯片相应的检测结果。
本发明实施例提供的方法,通过检测目标芯片在工作时泄露的电磁信号。检测到电磁信号大于第一预设阈值时,以当前时刻为起始点,对后续的电磁信号进行记录,直到检测到电磁信号小于第二预设阈值为止,得到对应的目标电磁信号。基于带有木马电路及不带有木马电路的芯片在工作时所采集到的训练电磁信号,训练得到木马检测支持向量机。基于预先训练的木马检测支持向量机,根据目标电磁信号记录,得到目标芯片相应的检测结果。由于是基于机器学习的方法,将采集到的大量电磁信号通过预先训练的硬件木马检测支持向量机来自动检测硬件木马,而非仅对单一电磁信号的关联关系进行分析来发现硬件木马,从而基于训练大量的电磁信号,能够发现硬件木马对芯片所产生的电磁信号影响。因此,硬件木马检测分辨率较高。
另外,硬件木马检测过程可用于任何场合,从而检测过程的通用性较高。基于触发通道,装载板程序的开始结束触发设计对应采集到的电磁泄露信号在时间点上对齐效果很好,不需要在数据处理时利用算法对齐,使得数据分析算法相对更简单,从而减少数据分析时间且节省了内存资源。
再次,硬件木马检测支持向量机所需电磁泄漏曲线的数目较少,即所需采集样本数量较少。随着硬件木马检测支持向量机不断地学习,系统的检测精度及鲁棒性还会逐渐提高。
最后,由于在对泄露的电磁信号进行分析时,降维以及特征提取减少了预测变量的个数,确保降维后的变量相互独立,且经过降维去除了一部分噪声,从而不仅提高了检测效率,且提高了算法的抗噪声能力。
本发明实施例提供了一种硬件木马检测装置,该装置用于执行上述图2或图3对应的实施例中所提供的硬件木马检测方法。参见图6,该装置包括:
检测模块601,用于检测目标芯片在工作时泄露的电磁信号;
获取模块602,用于根据检测到的电磁信号,获取对应的目标电磁信号记录;
确定模块603,用于基于预先训练的木马检测支持向量机,根据目标电磁信号记录,得到目标芯片相应的检测结果。
作为一种可选实施例,获取模块602,用于当检测到电磁信号大于第一预设阈值时,以当前时刻为起始点,对后续的电磁信号进行记录,直到检测到电磁信号小于第二预设阈值为止,得到对应的目标电磁信号。
作为一种可选实施例,该装置还包括:
训练模块,用于基于带有木马电路及不带有木马电路的芯片在工作时所采集到的训练电磁信号,训练得到木马检测支持向量机。
作为一种可选实施例,该装置还包括:
采集模块,用于基于预设数量个采样点,采集带有木马电路的芯片在工作时泄露的第一训练电磁信号,采集不带有木马电路的芯片在工作时泄露的第二训练电磁信号;
分组模块,用于按照预设每组数量,对预设数量个第一训练电磁信号进行分组得到相应组数的第一训练电磁信号记录,对预设数量个第二训练电磁信号进行分组得到相应组数的第二训练电磁信号记录;
第一预处理模块,用于将第一训练电磁信号记录与第二训练电磁信号记录作为训练电磁信号记录,对训练电磁信号记录进行预处理;
该训练模块,用于根据预处理后得到的训练参数,对支持向量机进行训练,得到木马检测支持向量机。
作为一种可选实施例,该装置还包括:
重采样模块,用于当检测任一组训练电磁信号记录中采样点的数量少于预设每组数量时,重新对任一组训练电磁信号记录进行采样。
作为一种可选实施例,第一预处理模块,包括:
移位单元,用于以任一组训练电磁信号记录为基准,对剩下的每一组训练电磁信号记录进行移位;
对齐单元,用于根据剩下的每一组训练电磁信号记录移位后与任一组训练电磁信号记录之间的相关度,将剩下的每一组训练电磁信号记录与任一组训练电磁信号记录进行对齐;
提取单元,用于基于数据成份分析算法,提取对齐后的训练电磁信号记录对应的训练参数。
作为一种可选实施例,第一预处理模块,还包括:
滤波单元,用于通过预设滤波器,对对齐后的每一组训练电磁信号记录进行噪声处理;
该提取单元,用于基于数据成份分析算法,提取噪声处理后的每一组训练电磁信号记录对应的训练参数。
作为一种可选实施例,该装置还包括:
第二预处理模块,用于对目标电磁信号记录进行预处理;
该确定模块,用于将目标电磁信号记录进行预处理后所得到的目标参数输入至预先训练的木马检测支持向量机中,得到目标芯片相应的检测结果。
本发明实施例提供的装置,通过检测目标芯片在工作时泄露的电磁信号,根据检测到的电磁信号,获取对应的目标电磁信号记录。基于预先训练的木马检测支持向量机,根据目标电磁信号记录,得到目标芯片相应的检测结果。由于是基于机器学习的方法,将采集到的大量电磁信号通过预先训练的硬件木马检测支持向量机来自动检测硬件木马,而非仅对单一电磁信号的关联关系进行分析来发现硬件木马,从而基于训练大量的电磁信号,能够发现硬件木马对芯片所产生的电磁信号影响。因此,硬件木马检测分辨率较高。
另外,硬件木马检测过程可用于任何场合,从而检测过程的通用性较高。基于触发通道,装载板程序的开始结束触发设计对应采集到的电磁泄露信号在时间点上对齐效果很好,不需要在数据处理时利用算法对齐,使得数据分析算法相对更简单,从而减少数据分析时间且节省了内存资源。
再次,硬件木马检测支持向量机所需电磁泄漏曲线的数目较少,即所需采集样本数量较少。随着硬件木马检测支持向量机不断地学习,系统的检测精度及鲁棒性还会逐渐提高。
最后,由于在对泄露的电磁信号进行分析时,降维以及特征提取减少了预测变量的个数,确保降维后的变量相互独立,且经过降维去除了一部分噪声,从而不仅提高了检测效率,且提高了算法的抗噪声能力。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种硬件木马检测方法,其特征在于,所述方法包括:
检测目标芯片在工作时泄露的电磁信号;
根据检测到的电磁信号,获取对应的目标电磁信号记录;
基于预先训练的木马检测支持向量机,根据所述目标电磁信号记录,得到所述目标芯片相应的检测结果;
所述根据检测到的电磁信号,获取对应的目标电磁信号,包括:
当检测到电磁信号大于第一预设阈值时,以当前时刻为起始点,对后续的电磁信号进行记录,直到检测到电磁信号小于第二预设阈值为止,得到对应的目标电磁信号,由于芯片在工作时所产生的电磁信号一般比不工作时所产生的电磁信号要强,从而通过检测采集到的电磁信号是否大于第一预设阈值来判断芯片是否开始工作,通过检测采集到的电磁信号是否小于第二预设阈值来判断芯片是否停止工作;
将预处理后得到的参数输入至木马检测支持向量机,得到所述目标芯片相应的检测结果之前,还包括:
基于带有木马电路及不带有木马电路的芯片在工作时所采集到的训练电磁信号,训练得到木马检测支持向量机。
2.根据权利要求1所述的方法,其特征在于,所述训练得到木马检测支持向量机之前,包括:
基于预设数量个采样点,采集带有木马电路的芯片在工作时泄露的第一训练电磁信号,采集不带有木马电路的芯片在工作时泄露的第二训练电磁信号;
按照预设每组数量,对预设数量个第一训练电磁信号进行分组得到相应组数的第一训练电磁信号记录,对预设数量个第二训练电磁信号进行分组得到相应组数的第二训练电磁信号记录;
将所述第一训练电磁信号记录与所述第二训练电磁信号记录作为训练电磁信号记录,对训练电磁信号记录进行预处理;
所述训练得到木马检测支持向量机,包括:
根据预处理后得到的训练参数,对支持向量机进行训练,得到木马检测支持向量机。
3.根据权利要求2所述的方法,其特征在于,所述对训练电磁信号记录进行预处理之前,还包括:
当检测任一组训练电磁信号记录中采样点的数量少于所述预设每组数量时,重新对所述任一组训练电磁信号记录进行采样。
4.根据权利要求2所述的方法,其特征在于,所述对训练电磁信号记录进行预处理,包括:
以任一组训练电磁信号记录为基准,对剩下的每一组训练电磁信号记录进行移位;
根据剩下的每一组训练电磁信号记录移位后与所述任一组训练电磁信号记录之间的相关度,将剩下的每一组训练电磁信号记录与所述任一组训练电磁信号记录进行对齐;
基于数据成份分析算法,提取对齐后的训练电磁信号记录对应的训练参数。
5.根据权利要求4所述的方法,其特征在于,所述基于数据成份分析算法,提取对齐后的训练电磁信号记录对应的训练参数之前,还包括:
通过预设滤波器,对对齐后的每一组训练电磁信号记录进行噪声处理;
所述基于数据成份分析算法,提取对齐后的训练电磁信号记录对应的训练参数,包括:
基于数据成份分析算法,提取噪声处理后的每一组训练电磁信号记录对应的训练参数。
6.根据权利要求1至5中任一权利要求所述的方法,其特征在于,所述基于预先训练的木马检测支持向量机,根据所述目标电磁信号记录,得到所述目标芯片相应的检测结果之前,还包括:
对所述目标电磁信号记录进行预处理;
所述基于预先训练的木马检测支持向量机,根据所述目标电磁信号记录,得到所述目标芯片相应的检测结果,包括:
将所述目标电磁信号记录进行预处理后所得到的目标参数输入至预先训练的木马检测支持向量机中,得到所述目标芯片相应的检测结果。
7.一种硬件木马检测装置,其特征在于,所述装置包括:
检测模块,用于检测目标芯片在工作时泄露的电磁信号;
获取模块,用于根据检测到的电磁信号,获取对应的目标电磁信号记录;
确定模块,用于基于预先训练的木马检测支持向量机,根据所述目标电磁信号记录,得到所述目标芯片相应的检测结果;
所述根据检测到的电磁信号,获取对应的目标电磁信号,包括:
当检测到电磁信号大于第一预设阈值时,以当前时刻为起始点,对后续的电磁信号进行记录,直到检测到电磁信号小于第二预设阈值为止,得到对应的目标电磁信号,由于芯片在工作时所产生的电磁信号一般比不工作时所产生的电磁信号要强,从而通过检测采集到的电磁信号是否大于第一预设阈值来判断芯片是否开始工作,通过检测采集到的电磁信号是否小于第二预设阈值来判断芯片是否停止工作;
将预处理后得到的参数输入至木马检测支持向量机,得到所述目标芯片相应的检测结果之前,还包括:
基于带有木马电路及不带有木马电路的芯片在工作时所采集到的训练电磁信号,训练得到木马检测支持向量机。
8.一种硬件木马检测系统,其特征在于,所述系统包括:装载板、终端、电磁探头、触发通道、稳压电源、前置放大器及数字存储示波器;
所述装载板与所述稳压电源相连接,所述装载板通过所述触发通道与所述数字存储示波器相连接,所述装载板与所述终端相连接,所述终端与所述数字存储示波器相连接,所述数字存储示波器与所述前置放大器相连接,所述前置放大器与所述电磁探头相连接;
其中,所述装载板装载有待检测的目标芯片;所述稳压电源用于对所述装载板进行供电;所述电磁探头用于采集所述目标芯片泄露的电磁信号,所述前置放大器用于对采集到的电磁信号进行放大;所述数字存储示波器用于记录所述电磁探头采集的电磁信号;所述终端用于对电磁信号进行分析,根据分析结果确定目标芯片是否带有硬件木马;
根据检测到的电磁信号,获取对应的目标电磁信号,包括:
当检测到电磁信号大于第一预设阈值时,以当前时刻为起始点,对后续的电磁信号进行记录,直到检测到电磁信号小于第二预设阈值为止,得到对应的目标电磁信号,由于芯片在工作时所产生的电磁信号一般比不工作时所产生的电磁信号要强,从而通过检测采集到的电磁信号是否大于第一预设阈值来判断芯片是否开始工作,通过检测采集到的电磁信号是否小于第二预设阈值来判断芯片是否停止工作;
将预处理后得到的参数输入至木马检测支持向量机,得到所述目标芯片相应的检测结果之前,还包括:
基于带有木马电路及不带有木马电路的芯片在工作时所采集到的训练电磁信号,训练得到木马检测支持向量机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611162926.6A CN106845286B (zh) | 2016-12-15 | 2016-12-15 | 硬件木马检测方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611162926.6A CN106845286B (zh) | 2016-12-15 | 2016-12-15 | 硬件木马检测方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106845286A CN106845286A (zh) | 2017-06-13 |
CN106845286B true CN106845286B (zh) | 2019-11-05 |
Family
ID=59139331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611162926.6A Active CN106845286B (zh) | 2016-12-15 | 2016-12-15 | 硬件木马检测方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106845286B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108154051A (zh) * | 2017-11-23 | 2018-06-12 | 天津科技大学 | 一种基于支持向量机的硬件木马检测判别方法 |
CN110363033A (zh) * | 2018-04-09 | 2019-10-22 | 国民技术股份有限公司 | 一种芯片安全性评估方法及装置 |
CN109543522A (zh) * | 2018-10-18 | 2019-03-29 | 天津大学 | 基于高斯核函数svm的硬件木马噪声预处理方法 |
CN110110556B (zh) * | 2019-05-27 | 2021-03-30 | 电子科技大学 | 基于多物理场效应的板卡脆弱性分析方法 |
CN110118926A (zh) * | 2019-05-27 | 2019-08-13 | 电子科技大学 | 基于电磁场效应的pcb篡改智能检测方法 |
CN111026633A (zh) * | 2019-09-26 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | 一种芯片硬件木马的黑盒检测方法、装置及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150498A (zh) * | 2013-03-28 | 2013-06-12 | 哈尔滨工业大学(威海) | 基于单分类支持向量机的硬件木马识别方法 |
-
2016
- 2016-12-15 CN CN201611162926.6A patent/CN106845286B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150498A (zh) * | 2013-03-28 | 2013-06-12 | 哈尔滨工业大学(威海) | 基于单分类支持向量机的硬件木马识别方法 |
Non-Patent Citations (3)
Title |
---|
基于FPGA平台的键盘辐射泄露截获技术;李珍等;《环境技术增刊》;20150603;第47-52页 * |
基于能耗旁路泄露的密码芯片模板攻击算法研究;张洪欣等;《电波科学学报》;20151031;第30卷(第5期);第987-992页 * |
电磁泄露信息的采集与预处理;甘罕等;《电波科学学报》;20151031;第30卷(第5期);第1004-1008页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106845286A (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106845286B (zh) | 硬件木马检测方法、装置及系统 | |
CN106814257A (zh) | 芯片类型识别系统、方法及装置 | |
CN108062477A (zh) | 基于侧信道分析的硬件木马检测方法 | |
CN110850244B (zh) | 基于深度学习的局放缺陷时域图谱诊断方法、系统及介质 | |
CN105372483B (zh) | 一种射频电压电流检测装置 | |
CN103049598A (zh) | 一种基于像素坐标策略的电磁兼容测试曲线图片的信息提取方法 | |
CN110543420A (zh) | 一种软件测试方法、系统、终端及存储介质 | |
CN105068909A (zh) | 一种内嵌式存储器的模拟测试开发平台 | |
Sayakkara et al. | Electromagnetic side-channel analysis for iot forensics: Challenges, framework, and datasets | |
CN103294593B (zh) | 一种应用于消冗文件系统的测试工具及方法 | |
CN105260422B (zh) | 一种多格式波形数据文件批处理方法 | |
CN103176901A (zh) | 一种嵌入式软件测试监控方法及系统 | |
CN101458653A (zh) | 一种税控收款机自动测试方法 | |
CN101989201A (zh) | 自动生成飞针测试程序测试覆盖率的方法 | |
CN104063308B (zh) | 数据的验证方法及装置 | |
CN112881879A (zh) | 一种高压电缆终端局部放电模式识别方法、装置及设备 | |
CN108872803A (zh) | 一种基于绝缘介质回复电压的变压器绝缘状态的检测方法 | |
CN104180894A (zh) | 铁路环境振动实时监测分析系统 | |
CN205317861U (zh) | 一种三分量瞬变电磁探测接收机 | |
CN104655062A (zh) | 电路板芯片引脚信息检测方法及装置 | |
CN103455307A (zh) | 对命令行输出的信息进行处理的方法和装置 | |
CN116665748A (zh) | 一种用于闪存芯片的自动化测试设备及其测试方法 | |
CN103413368B (zh) | 对金融器具在出厂前或出厂后进行检测校正的装置 | |
TW201743069A (zh) | 邏輯分析儀及其資料擷取與效能測試之方法 | |
CN107317811A (zh) | 一种模拟plc的实现方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |