集成电路硬件木马检测方法和系统技术方案

技术编号:10998018 阅读:103 留言:0更新日期:2015-02-04 17:03
一种集成电路硬件木马检测方法和系统,对所有待测芯片进行多参数旁路测试获取旁路数据。提取部分待测芯片的旁路数据进行无监督学习聚类分析,得到第一聚类和第二聚类。分别抽取两个聚类中的部分样本进行逆向工程分析,对聚类进行辨识,得到木马芯片聚类和非木马芯片聚类并分别设置标记值。根据木马芯片聚类和非木马芯片聚类中的旁路数据以及对应的标记值进行有监督学习得到神经网络。根据神经网络对未用作无监督学习聚类分析的待测芯片进行木马检测。将先聚类后抽样分析得到的数据用于有监督学习可以提高学习的准确度,从而提高硬件木马特征识别能力。与传统的集成电路硬件木马检测方法相比,提高了检测准确性。

【技术实现步骤摘要】
集成电路硬件木马检测方法和系统
本专利技术涉及电路检测
,特别是涉及一种集成电路硬件木马检测方法和系统。
技术介绍
随着半导体技术和制造技术的发展,硬件外包设计已成为全球化趋势。近年来出现了一种针对集成电路芯片的新型硬件攻击方式,称为“硬件木马”。硬件木马主要是指在IC(integratedcircuit,集成电路)设计和制造过程中人为地恶意添加一些非法电路或者篡改原始设计文件,从而留下“时间炸弹”或“电子后门”等,为后续攻击打开方便之门。硬件木马的危害主要包括窃取芯片重要的信息、影响电路性能和可靠性、篡改芯片功能甚至损坏芯片等,因此对集成电路进行硬件木马检测越来越受国内外的重视。传统的集成电路硬件木马检测方法主要是通过检测分析电路中的旁路信息来判断电路中是否存在木马。但是对于特别小面积的硬件木马电路,木马对旁路信息的贡献通常非常小,特别容易淹没在测试噪声中,简单的旁路数据处理难以顺利区分开木马芯片和非木马芯片。传统的集成电路硬件木马检测方法存在检测准确性低的缺点。
技术实现思路
基于此,有必要针对上述问题,提供一种可提高检测准确性的集成电路硬件木马检测方法和系统。一种集成电路硬件木马检测方法,包括以下步骤:对所有待测芯片进行多参数旁路测试,获取所有待测芯片的旁路数据;提取部分待测芯片的旁路数据进行无监督学习聚类分析,得到第一聚类和第二聚类;分别抽取所述第一聚类和第二聚类中的部分样本进行逆向工程分析,对所述第一聚类和第二聚类进行辨识,得到木马芯片聚类和非木马芯片聚类并分别设置标记值;根据所述木马芯片聚类和非木马芯片聚类中的旁路数据以及对应的标记值进行有监督学习,得到训练后的神经网络;根据所述神经网络对未用作无监督学习聚类分析的待测芯片进行木马检测。一种集成电路硬件木马检测系统,包括:数据获取模块,用于对所有待测芯片进行多参数旁路测试,获取所有待测芯片的旁路数据;数据分类模块,用于提取部分待测芯片的旁路数据进行无监督学习聚类分析,得到第一聚类和第二聚类;聚类识别模块,用于分别抽取所述第一聚类和第二聚类中的部分样本进行逆向工程分析,对所述第一聚类和第二聚类进行辨识,得到木马芯片聚类和非木马芯片聚类并分别设置标记值;学习训练模块,用于根据所述木马芯片聚类和非木马芯片聚类中的旁路数据以及对应的标记值进行有监督学习,得到训练后的神经网络;木马测试模块,用于根据所述神经网络对未用作无监督学习聚类分析的待测芯片进行木马检测。上述集成电路硬件木马检测方法和系统,对所有待测芯片进行多参数旁路测试,获取所有待测芯片的旁路数据。提取部分待测芯片的旁路数据进行无监督学习聚类分析,得到第一聚类和第二聚类。分别抽取第一聚类和第二聚类中的部分样本进行逆向工程分析,对第一聚类和第二聚类进行辨识,得到木马芯片聚类和非木马芯片聚类并分别设置标记值。根据木马芯片聚类和非木马芯片聚类中的旁路数据以及对应的标记值进行有监督学习,得到训练后的神经网络。根据神经网络对未用作无监督学习聚类分析的待测芯片进行木马检测。将无监督学习与有监督学习算法相融合,利用无监督学习对旁路数据进行聚类分析,利用有监督学习对木马芯片聚类和非木马芯片聚类中的旁路数据以及对应的标记值进行训练得到神经网络,通过先聚类后抽样分析的方法可以降低逆向工程分析的工作量和成本,提高分析效率,聚类分析后的数据用于有监督学习可以提高学习的准确度,从而提高硬件木马特征识别能力。与传统的集成电路硬件木马检测方法相比,提高了检测准确性。附图说明图1为一实施例中集成电路硬件木马检测方法的流程图;图2为一实施例中自组织特征映射神经网络的结构图;图3为一实施例中提取部分待测芯片的旁路数据进行无监督学习聚类分析,得到第一聚类和第二聚类的流程图;图4为一实施例中径向基神经网络的结构图;图5为一实施例中根据木马芯片聚类和非木马芯片聚类中的旁路数据以及对应的标记值进行有监督学习,得到训练后的神经网络的流程图;图6为一实施例中集成电路硬件木马检测系统的结构图;图7为一实施例中数据分类模块的结构图;图8为一实施例中学习训练模块的结构图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术。但是本专利技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本专利技术内涵的情况下做类似改进,因此本专利技术不受下面公开的具体实施例的限制。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本专利技术。一种集成电路硬件木马检测方法,如图1所示,包括以下步骤:步骤S110:对所有待测芯片进行多参数旁路测试,获取所有待测芯片的旁路数据。旁路数据可以看作是由待测芯片的最大工作频率、延时、功耗、电磁和热效应等信息组成的多维特征向量。通过对待测芯片进行多参数旁路测试,获取待测芯片的旁路数据,作为区分开木马芯片和非木马芯片的数据基础。具体地,可以是将测得的多维原始数直接作为待测芯片的旁路数据,也可以是对测得的多维原始数进行降维处理,将降维处理后得到的特征数据作为待测芯片的旁路数据。步骤S120:提取部分待测芯片的旁路数据进行无监督学习聚类分析,得到第一聚类和第二聚类。提取部分待测芯片的旁路数据,可以是随机获取预设个数的待测芯片的旁路数据,也可以是按预设比值随机提取待测芯片的数据,例如提取所有待测芯片中20%或30%的待测芯片的数据。对提取的旁路数据进行无监督学习聚类分析,得到第一聚类和第二聚类。在其中一个实施例中,无监督学习聚类分析通过自组织特征映射神经网络完成。在自组织特征映射神经网络中,邻近的神经元能够识别输入空间中邻近的部分,这样自组织特征映射神经网络不但能像自组织竞争神经网络一样学习输入的分布情况,还可以学习进行训练输入向量的拓扑结构。自组织特征映射神经网络是一种无监督聚类方法,它所形成的聚类中心能映射到一个曲面或平面上,而保持拓扑结构不变。由于自组织特征映射神经网络较符合集成电路硬件木马检测实际的分类需求,可提高聚类分析的精度和速度,从而提高检测准确性和检测效率。如图2所示,自组织特征映射神经网络的基本结构是由输入层和竞争层组成的。输入神经元个数为M,竞争层由m*n个神经元组成,构成一个二维平面阵列。网络中有两种连接权,一种是神经元对外部输入反应的连接权值,另一种是神经元之间的连接权值,它的大小控制着神经元之间的交互作用的大小。对于给定的输入模式,训练过程不仅要调节竞争获胜单元的各连接权值,而且要调节获胜单元的邻域单元的权值。如图3所示,步骤S120包括步骤S122至步骤S126。步骤S122:根据提取的部分待测芯片的旁路数据确定竞争层的竞争获胜单元。具体地,在其中一个实施例中,步骤S122包括步骤12至步骤18。步骤12:初始化竞争层各单元的连接权值。对竞争层各单元的连接权值进行初始化处理,赋予[0,1]区间内的随机值。步骤14:将提取的部分待测芯片的旁路数据作为输入层的输入,得到输入模式。将提取的部分待测芯片中每一个待测芯片的旁路数据作为自组织特征映射神经网络的输入层的一个本文档来自技高网
...
集成电路硬件木马检测方法和系统

【技术保护点】
一种集成电路硬件木马检测方法,其特征在于,包括以下步骤:对所有待测芯片进行多参数旁路测试,获取所有待测芯片的旁路数据;提取部分待测芯片的旁路数据进行无监督学习聚类分析,得到第一聚类和第二聚类;分别抽取所述第一聚类和第二聚类中的部分样本进行逆向工程分析,对所述第一聚类和第二聚类进行辨识,得到木马芯片聚类和非木马芯片聚类并分别设置标记值;根据所述木马芯片聚类和非木马芯片聚类中的旁路数据以及对应的标记值进行有监督学习,得到训练后的神经网络;根据所述神经网络对未用作无监督学习聚类分析的待测芯片进行木马检测。

【技术特征摘要】
1.一种集成电路硬件木马检测方法,其特征在于,包括以下步骤:对所有待测芯片进行多参数旁路测试,获取所有待测芯片的旁路数据;提取部分待测芯片的旁路数据进行无监督学习聚类分析,得到第一聚类和第二聚类;分别抽取所述第一聚类和第二聚类中的部分样本进行逆向工程分析,对所述第一聚类和第二聚类进行辨识,得到木马芯片聚类和非木马芯片聚类并分别设置标记值;根据所述木马芯片聚类和非木马芯片聚类中的旁路数据以及对应的标记值进行有监督学习,得到训练后的神经网络;根据所述神经网络对未用作无监督学习聚类分析的待测芯片进行木马检测;所述无监督学习聚类分析通过自组织特征映射神经网络完成;所述提取部分待测芯片的旁路数据进行无监督学习聚类分析,得到第一聚类和第二聚类的步骤,如下:根据提取的部分待测芯片的旁路数据确定竞争层的竞争获胜单元;对所述竞争获胜单元及其邻域单元的连接权值进行更新,具体为ωji(k+1)=ωji(k)+△ωji其中,ωji(k)表示更新前的连接权值,ωji(k+1)表示更新后的连接权值,ηc和ηN分别表示竞争获胜单元和邻域单元的权值学习因子,取值范围为(0,1),且ηc>ηN,xi、ωji分别表示竞争获胜单元的输入样本及连接权值;根据更新连接权值后的竞争获胜单元及其邻域单元,对提取的部分待测芯片的旁路数据进行分类,得到所述第一聚类和第二聚类。2.根据权利要求1所述的集成电路硬件木马检测方法,其特征在于,将所述待测芯片的多维原始数据作为所述待测芯片的旁路数据,或将对所述多维原始数据进行降维处理后得到的特征数据作为所述待测芯片的旁路数据。3.根据权利要求1所述的集成电路硬件木马检测方法,其特征在于,所述根据提取的部分待测芯片的旁路数据确定竞争层的竞争获胜单元的步骤,包括以下步骤:初始化所述竞争层各单元的连接权值;将提取的部分待测芯片的旁路数据作为输入层的输入,得到输入模式;计算所述竞争层各单元的连接权值与所述输入模式之间的距离;提取连接权值与所述输入模式距离最小的单元作为所述竞争获胜单元。4.根据权利要求1所述的集成电路硬件木马检测方法,其特征在于,所述根据更新连接权值后的竞争获胜单元及其邻域单元,对提取的部分待测芯片的旁路数据进行分类,得到所述第一聚类和第二聚类的步骤,具体包括以下步骤:提取分布于所述竞争层,且与所述竞争层各单元的距离小于或等于预设距离的旁路数据,得到所述第一聚类;提取分布于所述竞争层,且与所述竞争层各单元的距离大于预设距离的旁路数据,得到所述第二聚类。5.根据权利要求1所述的集成电路硬件木马检测方法,其特征在于,所述训练后的神经网络为径向基神经网络;所述根据所述木马芯片聚类和非木马芯片聚类中的旁路数据以及对应的标记值进行有监督学习,得到训练后的神经网络的步骤,如下:对隐含层各节点的中心向量进行初始化处理;将所述木马芯片聚类和非木马芯片聚类中的旁路数据作为输入样本,计算隐含层中各节点与所述输入样本的距离,具体为其中,di(k)表示输入样本x(k)与各节点的中心向量ci(k-1)的距离,q为节点个数;dr(k)表示输入样本与节点的最小距离,r为中心向量ci(k-1)与输入样本x(k)距离最近的隐节点序号;对隐含层各节点的中心向量进行更新并计算聚类质量,直至所述聚类质量小于或等于停止阈值,具体为β(k)=β(k-1)/(1+int(k/q))1/2其中,x(k)为输入样本,ci(k-1)、ci(k)分别为与输入样本最近的节点之外的其他节点更新前和更新后的中心向量,cr(k-1)、cr(k)分别表示与输入样本最近的节点更新前和更新后的中心向量,β(k-1)、β(k)分别表示更新前和更新后的学习速率,int()函数表示取整运算,Je为聚类质量,ε为停止阈值;将所述木马芯片聚类和非木马芯片聚类对应的标记值作为输出样本,根据所述输入样本和输出...

【专利技术属性】
技术研发人员:何春华侯波王力纬恩云飞谢少锋
申请(专利权)人:工业和信息化部电子第五研究所
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1