一种基于双判别器生成对抗网络的硬件木马检测方法

文档序号:30976549发布日期:2022-08-02 23:27阅读:190来源:国知局
一种基于双判别器生成对抗网络的硬件木马检测方法

1.本发明涉及集成电路应用技术领域,更具体的说是涉及一种基于双判别器生成对抗网络的硬件木马检测方法。


背景技术:

2.硬件木马通常通过对芯片电路的恶意修改来植入,激活后能够破坏芯片功能,泄露秘密信息等。基于侧信道信息的硬件木马检测方法属于非破坏性检测,成本较低且限制条件少,目前已成为受众最广的检测方法之一。然而由于受到采集设备偏差以及实际芯片工作环境噪声的影响,导致采集到的侧信道信息有用信息获取不足,严重影响最终的检测结果。
3.经过对现有技术的检索发现,中国专利文献号cn108052840公开(公告)日2018.05.18,公开了一种基于神经网络的硬件木马检测方法。该技术利用训练神经网络算法来处理旁路信息,从而实现硬件木马的识别,其中神经网络为自组织神经网络,通过寻找输入样本中的内在规律,不断地对网络参数进行自动修正,实现对输入样本的自动分类,其网络学习规则采用竞争学习结构上,自组织神经网络只包含两层神经元,第一层为输入层,第二层为竞争层即输出层,两层之间神经元间实现全互连。但此技术容易受实际采集设备的影响并且侧信道信息的信噪比往往较低,导致有效侧信道信息获取不足,模型存在偏差,检测精度降低。
4.中国专利文献号cn110941829a公开(公告)日2020.03.31,公开了一种基于生成对抗网络的大规模硬件木马库生成系统及方法。该技术通过搜集已知硬件木马作为初始样本,不断调节ht-gan训练模型的结构和参数,考虑ht-gan训练模型生成的伪样本是否符合真正硬件木马要求,以及生成伪样本的速度来调整参数,优化ht-gan训练模型,随后将训练成功的生成网络参数输入ht-gan学习生成模型,最终生成大量,即1000000个硬件木马,保存为文本文件。虽然硬件木马数量得到了很大程度的扩充,但该技术仍然存在很大问题:其只是简单的实现生成大量的假数据,但与原始的数据之间具有一定距离,相似度较低,对硬件木马检测准确率的提升有一定的影响。
5.因此,如何提供一种基于双判别器生成对抗网络的硬件木马检测方法,是本领域技术人员亟需解决的问题。


技术实现要素:

6.有鉴于此,本发明提供了一种基于双判别器生成对抗网络的硬件木马检测方法,主要检测芯片电路中是否存在硬件木马,提高木马检测效率和准确率。
7.为了实现上述目的,本发明采用如下技术方案:
8.一种基于双判别器生成对抗网络的硬件木马检测方法,包括以下步骤,获取原始侧信道信息,并将所述原始侧信道信息划分为训练集和测试集;
9.利用所述训练集对预先构建的生成器和判别器分类模型进行交替训练,直至满足
预设迭代结束条件;所述交替训练包括:固定所述生成器参数,基于所述训练集和所述生成器生成的数据,对所述判别器分类模型进行训练;固定所述判别器分类模型参数,对所述生成器进行训练;
10.通过训练好的判别器分类模型对所述测试集进行硬件木马检测,得到木马检测结果。
11.进一步的,固定生成器参数,基于训练集与生成器,对判别器分类模型进行训练,步骤包括:
12.将随机噪声和类别标签输入至所述生成器,生成假数据;
13.以训练集为真实数据,将所述真实数据与所述假数据作为输入数据训练所述判别器分类模型;
14.所述判别器分类模型包括两个判别器;两个判别器参数共享;每个所述判别器均输出所述输入数据的真实性判定结果和木马检测结果。
15.其中,在所述判别器分类模型的训练过程中,判别器不断判断数据真假与分类结果。如果数据真假或者分类结果不正确,判别器损失就会对判别器进行惩罚。通过反向传播,判别器更新权重。
16.在所述生成器的训练过程中,生成器被赋予噪声输入与类别标签的拼接以生成假数据。这些数据被送至判别器,生成器损失对被判别器网络分类为假的样本进行惩罚。通过反向传播直接从判别器到生成器进行权重更新。
17.进一步的,在所述进行迭代训练时,当所述真实性判定结果为真实数据或假数据的概率相同时,结束迭代训练。
18.进一步的,所述判别器包含一个输入层、两个中间层和一个输出层,各层之间直接级联;
19.输入层的输入为假数据与真实数据;
20.两层中间层为特征提取层,由两个含有512个神经元的全连接层构成,激活函数为leaky relu;
21.输出层为两个并行的全连接层,激活函数分别为sigmoid和softmax;
22.所述两个并行的全连接层分别进行真实性判断和木马检测。
23.进一步的,
24.所述生成器为五层网络结果,
25.第一层为输入层,随机噪声与类别标签作为本层的输入向量;
26.第二、三、四层为特征提取与学习层,用于提取输入向量的关键信息并进行学习;
27.第五层为输出层,输出通过学习输入向量的关键信息而生成的假数据。
28.经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于双判别器生成对抗网络的硬件木马检测方法,能够生成与原始数据十分相似的假数据,大大缓解侧信道信息获取困难所造成的对检测数据的约束,并且通过双判别器的判别,硬件木马检测的效率更高,准确率有了很大的提升,能够满足目前硬件木马检测的需求。
附图说明
29.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
30.图1附图为本发明提供的一种基于双判别器生成对抗网络的硬件木马检测方法示意图;
31.图2附图为本发明中判别器网络结构示意图;
32.图3附图本本发明中生成器网络结构示意图。
具体实施方式
33.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
34.首先,对本发明中的术语进行解释:
35.术语1:双判别器辅助条件生成对抗网络
36.双判别器辅助条件生成对抗网络包含一个生成器网络和两个判别器网络。生成器的输入为随机噪声和建模时引入的类别标签,用来生成能够以假乱真的增强数据;两个判别器具有相同的网络结构,输入为生成器生成的假数据和带有标签的真实数据,用来对真假数据进行判别和硬件木马检测。
37.术语2:数据增强
38.数据增强是一种数据扩充技术,指的是利用有限的数据创造尽可能多的利用价值。在机器学习中,数据增强特指对有限的训练数据通过某种变换得到更多数据的过程。在深度学习中,数据增强的目的主要有两个方面,一是扩充数据量,二是提高数据质量。具体在实现时,它保留类的标签,利用一些特定于任务的转换或改变来增加标注训练集的大小。
39.如图1,本发明实施例公开了一种基于双判别器生成对抗网络的硬件木马检测方法,包括以下步骤,
40.s1:获取原始侧信道信息,并将判别器分类模型原始测到信息划分为训练集和测试集;
41.s11:侧信道信息采集平台搭建:硬件木马检测采集装置由待测电路板、电磁探头、放大器、示波器和pc机五部分组成。测试电路板是以1.8v电源的芯片为核心实现模拟asic环境,计算机向加密芯片发送明文和密钥,芯片执行aes加密并将密文返回计算机。期间,通过电磁探头探测芯片表面磁场变化。在探头和示波器之间连接一个低噪声放大器,提供一定的增益。
42.s12:数据获取与处理:用示波器测量电磁信号,在检测到上升沿的瞬间开始采集数据,并将其传输到计算机保存,计算机来通信和数据处理。
43.s13:将所获取的数据集以7:3的比例划分为训练集和测试集,建立基于双判别器辅助条件生成对抗网络的数据生成与分类模型,初始化生成器与判别器的网络模型参数。
44.s2:用不同的小随机数初始化网络中的待训练参数,交替训练生成器和判别器分类模型:小随机数取为0-1之间的随机数。
45.s21:固定判别器分类模型生成器参数,基于训练集与生成器,对判别器分类模型进行训练;固定判别器分类模型参数,对判别器分类模型生成器进行训练;
46.具体步骤包括:
47.s211:判别器的训练:
48.将随机噪声和类别标签输入至判别器分类模型生成器,生成器接收随机噪声与硬件木马类别标签,并通过网络学习输入向量的真实分布来生成相似的假数据,完成数据增强;
49.固定生成器的模型参数;在初代训练时,生成器的模型参数为初始化参数。
50.s212:判别器分类模型判别器分类模型包括两个判别器;每个判别器分类模型判别器均输出判别器分类模型输入数据的真实性判定结果和木马检测结果;对两个判别器依次进行训练。
51.以训练集为真实数据,将判别器分类模型真实数据与判别器分类模型假数据作为输入数据训练判别器分类模型判别器分类模型;
52.其中,在判别器分类模型的训练过程中,判别器不断判断数据真假与分类结果。如果数据真假或者分类结果不正确,判别器损失就会对判别器进行惩罚。通过反向传播,判别器更新其权重。
53.s213:生成器的训练:
54.在潜在空间或者噪音空间中随机采样作为输入数据;将输入数据传递给生成器中,使其生成假数据;
55.判别器开始工作——判别器试图将生成器生成的假数据判别为假;
56.从判别器中得到的输出,作为生成器的反馈;判别器的反馈被用于惩罚生成器;
57.从生成器的输出中得到生成损失;如果生成器不能愚弄判别器,则会被惩罚。
58.在生成器的训练过程中,生成器被赋予噪声输入与类别标签的拼接以生成假数据。这些数据被送至判别器,用于愚弄生成器,如果生成器生成的假数据不能愚弄判别器,即判别器的判别结果为假,则通过反向传播对生成器进行惩罚,并进行权重更新。
59.生成器是从随机噪音中生成数据,每次迭代的时候,它都试图生成更加真实的数据,这些生成的数据对于判别器来说是负样本;随着训练持续,生成器最终可以愚弄判别器,使其无法区分真实数据和生成数据;
60.s22:重复s21进行迭代训练,当判别器分类模型真实性判定结果为真实数据或假数据的概率相同时,达到纳什平衡状态,结束迭代训练,并生成最终的判别器分类模型;
61.s3:通过最终的判别器分类模型对判别器分类模型测试集进行硬件木马检测,得到木马检测结果。
62.如图2,在另一实施例中,两个判别器具有相同的全连接结构;每个判别器均包含一个输入层、两个中间层和一个输出层,各层之间直接级联;
63.输入层的输入为假数据与真实数据;
64.两层中间层为特征提取层,由两个含有512个神经元的全连接层构成,激活函数为leaky relu;
65.输出层为两个并行的全连接层,激活函数分别为sigmoid和softmax;
66.判别器分类模型两个并行的全连接层分别进行真实性判断和木马检测。
67.由于判别器的两个任务
‑‑
硬件木马分类和判别真假数据是共享一个特征提取网络,那么不可避免地便会存在资源竞争问题,因此判别器的最后一层网络采用两个相互独立的全连接层来实现,以提高两个任务的独立性,避免相互影响。
68.如图3,在另一实施例中,生成器为五层网络结构,
69.第一层为输入层,随机噪声与类别标签作为本层的输入向量;随机噪声与类别标签向量合并进入生成网络的输入层,其中n代表硬件木马种类数。
70.第二、三、四层为特征提取与学习层,用于提取输入向量的关键信息并进行学习;前两个中间层含有512个神经元,第三个中间层含有1024个神经元,三层激活函数均为relu,每一层连接后均使用批量归一化。
71.第五层为输出层,输出通过学习输入向量的关键信息而生成的假数据;输出层含有1024个神经元,激活函数为线性激活。
72.本发明通过判别器网络与生成器网络交替训练,在获取真假数据集后,固定生成器的参数不变,对判别器进行训练。完成判别器的训练后,将生成器与前一步训练好的判别器串接,固定判别器的参数不变,对生成器进行训练。训练样本作为数据增强的源头,将生成器网络训练为能够扩充原始数据的供应器,将判别器网络训练成为一个能够实现两项分类任务的分类器,直至判别器判定数据为真或假的概率相同,此时达到纳什平衡状态。
73.本发明进行了生成样本与原始样本相似性评估和硬件木马检测准确率评估。生成样本与原始样本相似性评估如表1所示。
74.表1
[0075][0076]
从表1可以看出,对于两种侧信道信息,双判别器辅助条件生成对抗网络(d2acgan)生成数据的统计指标要明显优于其他两种生成模型,说明其生成数据与原始数据的相似度最高,生成效果最好。硬件木马检测准确率如表2所示。
[0077]
表2
[0078][0079][0080]
表2展示了三种不同模型在网络训练稳定后准确率的平均值,最大值,最小值和方差。从表中可以看出,双判别器辅助条件生成对抗网络(d2acgan)的平均值、最大值、最小值都最高,表明其的分类效果最好,卷积条件生成对抗网络(cgan+cnn)的分类效果次之,半监督式条件生成对抗网络(acgan)的分类效果最差;另外,双判别器辅助条件生成对抗网络
(d2acgan)的方差最小,表明这种方法比其他两种模型具有更好的稳定性。
[0081]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0082]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1