基于HMM的硬件木马检测方法与流程

文档序号:17131653发布日期:2019-03-16 01:19阅读:301来源:国知局
基于HMM的硬件木马检测方法与流程

本发明涉及芯片安全领域,具体是一种基于hmm的硬件木马检测方法。



背景技术:

硬件木马的危害已经渗透到军事、政治和经济等各个领域。然而我国的芯片研发技术相对落后,即使是自行设计的芯片,也很难保证芯片的全部制造工序都由国内一家公司独立完成,何况80%以上的芯片都依赖于进口,并且一些外国公司在某些芯片设计领域还处于垄断地位。一旦芯片在制造的某些过程中植入了硬件木马,给我国的国防和生产所带来的危害是无法想象的。因此,提出有效的硬件木马检测方案,保证集成电路在其应用领域内发挥可靠的作用是一个至关重要的问题。

硬件木马检测技术在国内的研究起步相对较晚,目前学术界仍缺少相应的用于评估各种木马检测方法有效性的评价标准。基于侧信道信息分析的硬件木马检测技术是目前研究较多的一种硬件木马检测方法。在侧信道分析技术中,关键是对得到的功耗、电磁辐射、时间延迟等信息进行分析处理来获取有效信息,进而实现硬件木马的识别。



技术实现要素:

本发明的目的为针对当前技术中存在的不足,提供一种基于hmm的硬件木马检测方法。该方法使用baum-welch算法和前向算法对检测到的电流数据进行数据处理,通过对不含硬件木马电路与含硬件木马电路的功耗阈值分析得出结论。本发明利用机械学习提出基于hmm的硬件木马检测方法。通过计算待测电路数据与母本电路模型的匹配程度对硬件木马检测技术进行研究,并进行了实验验证了该方法的可行性和可靠性。

本发明采用如下技术方案:

一种基于hmm的硬件木马检测方法,该方法通过电流探头采集芯片工作时产生的电流,并将其存储在示波器中,最后采集到的数据传送到pc机进行数据处理;

包括如下步骤:

步骤1,设计载体电路和面积较小的硬件木马电路,将多个硬件木马电路载入到载体电路中,为每个硬件木马都设置触发信号;

步骤2,将载体电路与硬件木马电路接入到fpga芯片中,搭建检测平台,同时设置示波器的工作模式,工作模式设置为平均模式,平均次数设为512此采样深度为1m,电流探头绕线圈数为1圈,采样率为100m次/秒;

所述的检测平台包括fpga板、直流电源、信号探头、示波器和pc机;连接关系为:直流电源、fpga板、信号探头、示波器和pc机依次相连;

步骤3,在不激活硬件木马的条件下,利用示波器检测和存储fpga芯片运行过程中产生的电流信息,根据需要检测的硬件木马的面积的大小来激活载体电路中不同个数的木马,再次利用示波器检测和存储fpga芯片运行过程中产生的电流信息;

步骤4,使用单次采样的方法保存数据,通过采集母本电路数据八组,每组九个,硬件木马电路数据三组,每组九个,保存数据,并将数据导入pc中;

步骤5,提取母本数据特征参数,采用训练问题中的baum-welch算法对母本数据的特征参数进行训练得到母本数据模型;

(1)初始模型λ0=(a,b,π),参数设置如下:

a.状态空间,设置状态空间为q={1},1表示母本电路,状态数n=1;

b.初始分布π={1},表示在一般的情况下初始时刻的数据是母本电路数据;

c.因为只有母本电路,所以不可见状态转移矩阵a=1;

d.可见符号的概率分布b={bj(k)},它表示在母本电路状态下,不同电流出现的概率,本次采用k均值聚类算法;

(2)初始模型λ0经过baum-welch重估计算后得到新的模型λ;

(3)比较p(o|λ0)和p(o|λ),如果p(o|λ0)>p(o|λ),表明达到收敛点,结束参数调整过程,否则用λ代替λ0,继续进行参数调整直到模型收敛;

步骤6,提取待测数据的特征参数,采用评估方法中的前向算法将母本数据和待测数据的特征参数均与上述模型进行匹配,得到母本数据和待测数据在此正常模型下发生的概率,具体步骤为第一步初始化α1(i)=πibi(o1);其中1≤i≤n;第二步递归其中1≤t≤t-1,1≤j≤n;第三步终结其中,p(o|λ)反映了观察序列与模型匹配的程度,p(o|λ)越大,表明观测数据与正常数据匹配性越高,所对应的数据是母本数据的概率就越大,p(o|λ)越小,表明观测数据与正常数据匹配性越低,所对应的观测数据是木马数据的概率就越大;

比较阈值k和概率p(o|λ),如果p(o|λ)>k,则为正常的数据,否则是木马数据,如果被测电路测试了n次,被判为木马电路的次数大于n/2,那么认为此电路为含有木马的电路,否则为正常电路;

经过以上步骤,对采集到的母本电路数据和待测电路数据分别进行处理,完成基于hmm的硬件木马的检测。

本发明的实质性特点为:

本发明的方法中,硬件木马检测实质就是对两组功耗即电流匹配性进行分析,进而提出一种新的硬件木马检测方法,即基于hmm的硬件木马检测方法。hmm是一种统计模型,是描述基于概率统计的随机过程,hmm可用来解决三个问题,其中的一个问题是解决观测数据在模型下发生的概率。引入hmm计算待测电路数据在原始电路数据模型下发生的概率来对硬件木马进行区分,即对两组电路数据的匹配性进行分析,从而来对硬件木马进行识别。以标准基准测试电路iscas’89电路作为硬件木马研究和插入的载体电路进行实验,对采集到的数据进行验证。

本发明的有益效果为:

目前关于硬件木马检测技术后期的数据处理这一方面并没有一个普遍适用的判断标准,而大多数的判断依据都是研究人员自己制定的,缺少一定的科学性和说服性。本发明提供了一种新的数据处理的方法,而且能够对硬件木马进行有效的检测,检测面积得到了提升,接下来可对hmm中的参数提取进行改进,设计出一种更适合硬件木马数据特征的参数。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1是训练流程图。

图2是硬件木马检测流程图。

图3是硬件木马检测总体架构图。

图4是载体电路s9234的结构原理图。

图5是木马电路s27的结构原理图。

具体实施方式

以下是本发明优选实施例的详细描述,应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。

本发明为了进行实验验证基于hmm的硬件木马检测方法的可行性,搭建了适用于检测硬件木马的平台。硬件木马检测总体架构图如图3。该架构大致有以下几个部分构成:fpga板、直流电源(锂电池)、信号探头(电流探头)、示波器和pc机;连接关系为:直流电源、fpga板、信号探头(电流探头)、示波器和pc机依次相连。

其中,直流电源与fpga相连给fpga供直流电,将数字示波器的信号探头与fpga上的测试引脚线相连,将数字示波器与pc机相连。

其中,所述硬件木马电路为s27,其结构原理图如图4所示,所述的载体电路为s9234,其结构原理图如图5所示。两个电路均为公知电路。

根据fpga硬件平台资源,本发明基于iscas’89基准测试电路设计了载体电路和木马电路,选择最适合平台的s9234作为载体电路,电路结构的原理图如图4所示,并选择了最符合此载体电路面积配比的s27作为木马电路,电路结构的原理图如图5所示。clk时钟作为外供的系统时钟,rst_n为系统提供复位。模块lfsr作为伪随机数字发生器,用于为载体电路提供输入,同时为硬件木马电路提供输入,通过seed来为伪随机数字发生器提供种子,设置其为8’b11111111。load信号决定是否将种子载入到伪随机数字发生器当中,设置其为1’b1,即默认为种子载入状态。模块9234作为电路的载体电路部分,模块u作为电路的硬件木马部分,可以通过tro_en来控制该模块是否工作,模块u被实例化为u1-un,方便通过控制tro_en_1-tro_en_n来控制有效的硬件木马模块,从而进行木马面积的控制。可以根据需要搭配使用1-n个木马电路模块。

所述检测平台包括fpga板(altera公司cyclone系列的fpga芯片ep1c12q240c8和搭载芯片的电路板)、直流电源(锂电池)、信号探头(tektronix公司的tcp0030电流探头)、数字示波器(tektronix公司的mso-4054混合信号示波器)和pc机。

所述实验数据采集过程中,电路工作频率为50mhz,采样率设置为100m次/秒,每组数据的采样深度设置为1m点。所述数据处理过程,利用matlab编写相应的hmm算法,分别对采集到的母本电路数据和待测电路数据进行处理。

步骤1,设计载体电路和面积较小的硬件木马电路,将多个硬件木马电路载入到载体电路中,为每个硬件木马都设置触发信号;通过实现触发不同个数的硬件木马电路进而检测不同面积比的硬件木马电路。

步骤2,将载体电路与硬件木马电路接入到fpga芯片中,如图3架构图所示搭建检测平台,同时设置示波器的工作模式,工作模式设置为平均模式,平均次数设为512此采样深度为1m,电流探头绕线圈数为1圈,采样率为100m次/秒;用来检测和存储fpga芯片运行过程中产生的电流信息。

步骤3,在不激活硬件木马的条件下,利用示波器检测和存储fpga芯片运行过程中产生的电流信息,根据需要检测的硬件木马的面积的大小来激活载体电路中不同个数的木马,再次利用示波器检测和存储fpga芯片运行过程中产生的电流信息;用来进行对比分析。

步骤4,使用单次采样的方法保存数据,通过采集母本电路数据八组,每组九个,硬件木马电路数据三组,每组九个,保存数据,并将数据导入pc中;用来提高检测率。

步骤5,提取母本数据特征参数,采用训练问题中的baum-welch算法对母本数据的特征参数进行训练得到母本数据模型,训练流程如图1所示:

(1)初始模型λ0=(a,b,π),参数设置如下:

a.状态空间,设置状态空间为q={1},1表示母本电路,状态数n=1;

b.初始分布π={1},表示在一般的情况下初始时刻的数据是母本电路数据;

c.因为只有母本电路,所以不可见状态转移矩阵a=1;

d.可见符号的概率分布b={bj(k)},它表示在母本电路状态下,不同电流出现的概率,本次采用k均值聚类算法;

(2)初始模型λ0经过baum-welch重估计算后得到新的模型λ;

(3)比较p(o|λ0)和p(o|λ),如果p(o|λ0)>p(o|λ),表明达到收敛点,结束参数

调整过程,否则用λ代替λ0,继续进行参数调整直到模型收敛。

步骤6,提取待测数据的特征参数,采用评估方法中的前向算法将母本数据和待测数据的特征参数均与上述模型进行匹配,得到母本数据和待测数据在此正常模型下发生的概率,具体步骤为第一步初始化α1(i)=πibi(o1);其中1≤i≤n;第二步递归其中1≤t≤t-1,1≤j≤n;第三步终结其中,p(o|λ)反映了观察序列与模型匹配的程度,p(o|λ)越大,表明观测数据与正常数据匹配性越高,所对应的数据是母本数据的概率就越大,p(o|λ)越小,表明观测数据与正常数据匹配性越低,所对应的观测数据是木马数据的概率就越大;

通过采集的母本数据和硬件木马数据分析可得,取去掉一个最大值后剩余数据中的最大值作为阈值k不仅能够代表母本数据而且能够使检测率最高;确定阈值k后进行硬件木马检测,检测流程图如图2所示:

比较阈值k和概率p(o|λ),如果p(o|λ)>k,则为正常的数据,否则是木马数据,如果被测电路测试了n次,被判为木马电路的次数大于n/2,那么认为此电路为含有木马的电路,否则为正常电路。

经过以上步骤,对采集到的母本电路数据和待测电路数据分别进行处理,完成基于hmm的硬件木马的检测。

在具体的进行基于hmm的硬件木马检测过程中,首先需要采集数据即通过电流探头采集芯片工作时产生的电流,并将其存储在示波器中,最后采集到的数据传送到pc机进行数据处理。所述的fpga芯片为altera公司cyclone系列的fpga芯片ep1c12q240c8和搭载芯片的电路板,所述的信号探头为tektronix公司的tcp0030电流探头,所述的示波器为tektronix公司的mso-4054混合信号示波器。实验前,将用于测试的电路板稳固好同时用锂电池为其提供稳定的电源,将实验所需的电流探头稳固在一个三维云台上来确保拥有稳定的环境,同时可以实现局部调整。

作为一个实施例,所述pc机应用eda软件工具生成所述测试向量,应用xilinxise软件通过jtag接口对所述测试电路中所述fpga芯片进行编程,并将编程得到的程序烧录到所述fpga芯片的外置flash中。其次将硬件木马的实际检测问题对应到hmm三个问题中的具体问题,然后提取母本数据和待测数据的特征参数,利用hmm中的训练问题对母本数据进行训练,得到一个能够代表母本数据特征的模型。最后,利用hmm中的评估问题对待测数据进行处理,得到待测数据与上述模型的匹配程度。

作为一个实施例,所述测试电路还包括:串口,用于所述fpga芯片与所述pc机中的所述开发软件进行通信;实现pc机中的开发软件对fpga芯片的自动控制;jtag接口,用于所述fpga芯片与所述pc机中的所述xilinxise软件进行通信;在pc机中通过xilinxise软件对fpga芯片进行编程。本实施例中,根据fpga硬件平台资源,选取s9234作为载体电路和面积较小的与载体电路配比的s27作为木马电路。基于iscas’89基准测试电路在硬件木马载体电路s9234中分别插入一个、两个、三个和十五个s27作为不同面积比的木马来进行研究。使用synopsys公司的designcompiler分别对母本电路和木马电路进行综合,得到木马面积比分别为0.30%,0.53%,0.71%和3.00%。

作为一个实施例,在实验采集过程中,所述的电路工作频率为50mhz,采样率设置为100m次/秒,每组数据的采样深度设置为1m点。对母本电路采集了十组数据,从中选取四组数据,每组数据截取20000个点用以训练,得到正常数据的模型。从面积比为0.30%的木马1、0.53%的木马2和面积比为0.71%的木马3分别采集两组数据作为被测数据进行识别、验证。未训练的六组数据同样作为待测数据来进行识别、验证。从采集到的每组数据中截六段数据,每段数据截取8000(多次试验后效果较好的)个连续采样点进行分析。表1为母本电路数据与正常模型匹配得到的概率值∣lnp(o∣λ)∣,从中取得阈值k作为判断一个数据是否为木马的标准。表2为三组木马匹配的结果。从面积比为0.30%的木马1采集的2组数据中,每组匹配6次,一组数据的概率值均小于阈值,被错误地判别为正常电路,一组数据均大于阈值被正确地判别为木马电路。从木马2采集到的2组数据中,每次匹配的概率均大于阈值,即2组数据均被正确地识别为木马。木马3采集得到的2组数据进行匹配得到的概率值同样均大于阈值,均被正确地判为木马。3组木马与模型相匹配的概率值也有不同,木马面积越小其匹配的概率值更接近母本电路。表3为未经过训练的6组母本电路数据匹配的结果,匹配得到的概率值与经过训练的母本电路数据匹配的概率值相差不大,均被正确识别为正常电路。

本发明从信息安全出发,通过以上对基于功耗的结果分析可得:作为待测样本的硬件木马数据和母本数据在经过hmm处理后均能正确识别,即基于hmm的硬件木马检测方法能够对硬件木马进行有效地检测。

表1母本电路与模型匹配的概率。

表2为3组木马与模型匹配的概率值以及匹配结果。

表3为是未参加训练母本电路与模型匹配的概率值以及匹配结果。

本发明未尽事宜为公知技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1