芯片硬件木马检测方法和系统技术方案

技术编号:13605857 阅读:84 留言:0更新日期:2016-08-28 19:58
本发明专利技术涉及一种芯片硬件木马检测方法和系统,其方法包括:对所有的待测芯片进行参数旁路测试,采集待测芯片在工作状态下的旁路数据;根据旁路数据、采用融合K均值算法的遗传算法对待测芯片进行聚类分析,得到聚类芯片集;提取聚类芯片集中的待测芯片进行反向分析,并根据反向分析的结果将聚类芯片集归为木马类芯片或非木马类芯片。通过利用K均值算法较强的局部搜索能力来提高聚类分析能力,利用遗传算法较强的全局搜索能力,通过不断迭代优化,自动筛选出最优的分类结果,极大减小人工的干预,提高特征的自动识别能力,硬件木马检测能力强、效率高。

【技术实现步骤摘要】

本专利技术涉及电子
,特别是涉及一种芯片硬件木马检测方法和系统
技术介绍
硬件木马是指在集成电路中嵌入的某种电路结构。随着电子科学技术的发展,芯片的使用越来越广泛,其使用的安全性也越来越受到重视。然而,芯片在加工过程中不完全自主可控,攻击者可以很容易的对芯片嵌入硬件木马,当硬件木马激活时,可能造成电路系统暂时性瘫痪、芯片失效、功能紊乱或信息泄露等问题。为了加强芯片的安全性,需要对芯片进行硬件木马检测。传统的检测方法主要有:失效分析、逻辑功能检测和旁路信号分析。失效分析主要通过去除芯片封装,研磨芯片层,借助精密仪器设备反复扫描每一层电路,以便对芯片新路功能进行全面分析,判断是否存在木马;这种方法需要对芯片进行破坏性检测,过程繁琐且成本高,而且对于高集成度芯片难以实现。逻辑功能检测是在输入端施加测试向量,观察电路的输出信号与预期的输出之间的差异,从而判断是否存在硬件木马;该方法需要激活硬件木马,且耗时长;旁路信号分析主要通过采集芯片在工作时泄露的物理特征信息,利用信号处理技术进行空间变换和压缩实现特征提取,对基准芯片和待测芯片的物理特征进行刻画与差异判别,根据差异判断是否存在硬件木马;该方法易受到仪器精度和工艺噪声的影响,难以检测出小面积的硬件木马。故,传统的硬件木马检测方法检测能力差,效率低。
技术实现思路
基于此,有必要针对上述问题,提供一种检测能力强、效率高的芯片硬件木马检测方法和系统。一种芯片硬件木马检测方法,包括如下步骤:对所有的待测芯片进行参数旁路测试,采集所述待测芯片在工作状态下的旁路数据;根据所述旁路数据、采用融合K均值算法的遗传算法对所述待测芯片进行聚类分析,得到聚类芯片集;提取所述聚类芯片集中的所述待测芯片进行反向分析,并根据反向分析的结果将所述聚类芯片集归为木马类芯片或非木马类芯片。一种芯片硬件木马检测系统,包括:参数旁路测试模块,用于对所有的待测芯片进行参数旁路测试,采集所述待测芯片在工作状态下的旁路数据;聚类分析模块,用于根据所述旁路数据、采用融合K均值算法的遗传算法对所述待测芯片进行聚类分析,得到聚类芯片集;木马检测模块,用于提取所述聚类芯片集中的所述待测芯片进行反向分析,并根据反向分析的结果将所述聚类芯片集归为木马类芯片或非木马类芯片。上述芯片硬件木马检测方法和系统,对所有的待测芯片进行参数旁路测试,采集待测芯片在工作状态下的旁路数据后,根据旁路数据、采用融合K均值算法的遗传算法对待测芯片进行聚类分析,得到聚类芯片集,然后提取聚类芯片集中的待测芯片进行反向分析,根据反向分析的结果将聚类芯片集归为木马类芯片或非木马类芯片。通过利用K均值算法较强的局部搜索能力来提高聚类分析能力,利用遗传算法较强的全局搜索能力,通过不断迭代优化,自动筛选出最优的分类结果,极大减小人工的干预,提高特征的自动识别能力,硬件木马检测能力强、效率高。附图说明图1为一实施例中本专利技术芯片硬件木马检测方法的流程图;图2为一具体实施例中待测芯片的旁路数据的三维结果图;图3为一实施例中根据旁路数据、采用融合K均值算法的遗传算法对待测芯片进行聚类分析,得到聚类芯片集的具体流程图;图4为一具体实施例中采用本专利技术芯片硬件木马检测方法的结果图;图5为一实施例中本专利技术芯片硬件木马检测系统的模块图;图6为一实施例中聚类分析模块的单元图。具体实施方式参考图1,本专利技术一实施例中的芯片硬件木马检测方法,包括如下步骤。S110:对所有的待测芯片进行参数旁路测试,采集待测芯片在工作状态下的旁路数据。参数旁路测试指对待测芯片进行旁路信号分析,采集待测芯片在工作时泄露的物理特征信息对应的旁路数据。本实施例中,采集的旁路数据包括全局时钟电压均值、动态功耗电压均值和环形振荡器的输出频率。即每一个旁路数据为包括三种信息的三维数据。在其中一具体实施例中,待测芯片有160个,图2为160个待测芯片的全局时钟电压均值(Clk均值)、动态功耗电压均值(Power均值)和环形振荡器的输出频率(fmax)的三维结果图,可见简单的时域数据分析并不能有效地区分开木马和非木马芯片。S130:根据旁路数据、采用融合K均值算法的遗传算法对待测芯片进行聚类分析,得到聚类芯片集。K均值算法是聚类分析中的一种动态聚类算法,基本思想是以某种距离度量作为模式间相似性测度,采用迭代更新的方法,将多维特征向量划分成若干个集合,使相同集合间的特征向量的相似性测度最大。遗传算法(Genetic Algorithms)是一种新发展起来的全局搜索最优解方法。它模拟生命进化机制,其中包括自然选择和遗传进化中发生的繁殖、交配和突变现象,从任意一个初始种群出发,通过随机选择、交叉和变异操作,产生一群新的更适应环境的个体,采用迭代更新方法,使群体进化到搜索空间中越来越好的区域,求得问题的最优解。遗传算法对于复杂的优化问题无须建模和复杂运算,只要利用遗传算法的三个算子(选择算子、交叉算子和变异算子)就能得到最优解,具有较强的全局搜索能力。在其中一实施例中,参考图3,步骤S130包括步骤S131至步骤S138。S132:根据预设聚类数目对所有的待测芯片进行编码得到序列号表示的个体,多次循环直到个体的数量等于预设个体数,并将个体的集合作为父代群体。其中,预设聚类数目指对待测样本进行分类的类别数目。预设聚类数目和预设个体数可以根据实际情况设置。本实施例中,根据需要解决的问题,设置预设聚类数目为2,可将待测样本分为两类。本实施例中,预设个体数为200,即父代群体中包括200个个体。本专利技术所述的编码指对待测样本进行编号分类。在其中一实施例中,步骤S132中根据预设聚类数目对所有的待测芯片进行编码得到序列号表示的个体的步骤包括:对每个待测芯片随机分配一个类号得到多位类号串成的个体。其中,类号的种类数等于预设聚类数目,且每一个类号对应一个基因位。本实施例中,类号包括“1”和“2”。可以理解,在其他的实施例中,类号也可以采用其他数字。一具体实施例中,通过步骤S132对160个待测样本随机分配类号“1”或“2”,得到121121…21的数字串,该数字串组成一个个体,长度为160位(等于待测芯片总数),对应有160个基因位。得到一个个体后,再重复对待测芯片进行编码,直到得到200个个体作为一个父代群体。遗传算法中,待测芯片的编码方式有二进制编码、符号编码和浮点数编码等。本实施例中根据实际的聚类问题,采用符号编码,即设置类号“1”和“2”对待测芯片进行编码,便于后续对包括用类号表示待测芯片的个体进行聚类分析,能够大大提高遗传算法的效率。S133:根据旁路数据获取个体的适应度和选择算子。适应度是整个遗传算法中极为关键的一部分,直接影响到算法收敛的速度和寻找最优个体的效率。适应度高的个体在进化过程中保留,而适应度低的个体在进化过程中逐渐被淘汰。选择算子按照某种方法如何从父代群体中选择哪些个体进行复制,遗传到下一代。在其中一实施例中,步骤S133包括步骤21至步骤23。步骤21:根据类号对个体进行分类,并根据旁路数据获取每一个类的聚类中心,根据聚类中心获取个体的评估值。160位数字串“121121…21”的个体中,将类号“1”表示的待测芯片作为第一类,类号“2”表示的待测芯片作为第二类,然后分别根据旁路数据获取本文档来自技高网...

【技术保护点】
一种芯片硬件木马检测方法,其特征在于,包括如下步骤:对所有的待测芯片进行参数旁路测试,采集所述待测芯片在工作状态下的旁路数据;根据所述旁路数据、采用融合K均值算法的遗传算法对所述待测芯片进行聚类分析,得到聚类芯片集;提取所述聚类芯片集中的所述待测芯片进行反向分析,并根据反向分析的结果将所述聚类芯片集归为木马类芯片或非木马类芯片。

【技术特征摘要】
1.一种芯片硬件木马检测方法,其特征在于,包括如下步骤:对所有的待测芯片进行参数旁路测试,采集所述待测芯片在工作状态下的旁路数据;根据所述旁路数据、采用融合K均值算法的遗传算法对所述待测芯片进行聚类分析,得到聚类芯片集;提取所述聚类芯片集中的所述待测芯片进行反向分析,并根据反向分析的结果将所述聚类芯片集归为木马类芯片或非木马类芯片。2.根据权利要求1所述的芯片硬件木马检测方法,其特征在于,所述根据所述旁路数据、采用融合K均值算法的遗传算法对所述待测芯片进行聚类分析,得到聚类芯片集的步骤包括:根据预设聚类数目对所有的所述待测芯片进行编码得到序列号表示的个体,多次循环直到所述个体的数量等于预设个体数,并将所述个体的集合作为父代群体;根据所述旁路数据获取所述个体的适应度和选择算子;根据所述个体的选择算子从所述父代群体中选择对应个体,多次循环直到选择的个体的数量等于所述预设个体数,并复制选择的个体作为中间群体;根据预设交叉概率和预设变异概率对所述中间群体中的个体进行交叉和变异,得到下一代群体,并获取所述下一代群体中个体的适应度和选择算子;将预设的迭代次数加一得到新的迭代次数,判断所述新的迭代次数是否等于预设最大迭代次数;若否,将所述下一代群体作为新的父代群体,并返回所述根据所述个体的选择算子从所述父代群体中选择对应个体,多次循环直到选择的个体的数量等于所述预设个体数,并复制选择的个体作为中间群体的步骤;若是,则从所述下一代群体中选择适应度最大的个体作为最优个体,根据所述最优个体的编码对所述待测芯片进行分类,得到所述聚类芯片集。3.根据权利要求2所述的芯片硬件木马检测方法,其特征在于,所述根据预设聚类数目对所有的所述待测芯片进行编码得到序列号表示的个体的步骤包括:对每个所述待测芯片随机分配一个类号得到多位类号串成的个体,其中,所述类号的种类数等于所述预设聚类数目,且每一个所述类号对应一个基因位。4.根据权利要求3所述的芯片硬件木马检测方法,其特征在于,所述根据所述旁路数据获取所述个体的适应度和选择算子的步骤包括:根据所述类号对所述个体进行分类,并根据所述旁路数据获取每一个类的聚类中心,根据所述聚类中心获取所述个体的评估值;对所述个体的评估值进行大小排序,并根据排序的序号和预设影响因子获取对应个体的适应度;根据所述个体的适应度获取对应个体的选择算子。5.根据权利要求4所述的芯片硬件木马检测方法,其特征在于,所述根据所述旁路数据获取每一个类的聚类中心,根据所述聚类中心获取所述个体的评估值的步骤,具体为:X(ki)‾=1Ni(k)Σj=1Ni(k)Xj(ki);]]>m_pop(k).value=Σi=1centerNumΣj=1Ni(k)||Xj(ki)-X(ki)‾||2;]]>所述对所述个体的评估值进行大小排序,并根据排序的序号和预设影响因子获取对应个体的适应度的步骤具体为:m_pop(k).fitness=(1-α)index-1;根据所述个体的适应度获取对应个体的选择算子的步骤具体为:cFitness(k)=Σn=1km_pop(n).fitnessΣm=1popSizem_pop(m).fitness;]]>其中,Xjki表示第k个个体的第i类中第j个待测芯片的所述旁路数据对应的向量,Ni(k)表示第k个个体的第i类中所述待测芯片的数目,表示第k个个体中第i个类的聚类中心;centerNum表示所述预设聚类数目,m_pop(k).value表示第k个个体的评估值;α表示所述预设影响因子,index表示所述评估值的排序序号,m_pop(k).fitness表示第k个个...

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

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

1