[发明专利]一种基于提升算法的硬件木马检测方法有效
申请号: | 201911142702.2 | 申请日: | 2019-11-20 |
公开(公告)号: | CN110929301B | 公开(公告)日: | 2022-07-26 |
发明(设计)人: | 吴承翰;李尔平 | 申请(专利权)人: | 海宁利伊电子科技有限公司 |
主分类号: | G06F21/76 | 分类号: | G06F21/76 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 林超 |
地址: | 314400 浙江省嘉兴市海宁*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 提升 算法 硬件 木马 检测 方法 | ||
1.一种基于提升算法的硬件木马检测方法,其特征在于:
过程一、根据集成电路的拓扑结构进行处理获得集成电路每个节点的第一、第二可控性值CC0、CC1和可观性值CO;
过程二、根据集成电路每个节点的第一、第二可控性值CC0、CC1和可观性值CO进行基于密度的聚类,获得带类距离的矩阵X’;
所述过程二,具体为:
步骤(21).导入过程一得到的集成电路可测性数据X,其为m×6大小的整型矩阵,其中m为集成电路中的节点总数,对应为矩阵的行,集成电路可测性数据X的6列中的第一列代表与门数量NA,第二列代表原始门数量NP,第三列代表或门数量NO,后三列包含着各节点的两个可控性值CC0、CC1和一个可观性值CO;
步骤(22).创建m×1的空白矩阵Y,其中每一个元素为经过排序后的K-距离,是指每个节点在与其余所有节点计算相邻距离后排序获得的第k个最近的相邻距离,按照K-距离对各节点对应的行进行升序排序;
步骤(23).创建一个m×1大小的元素全为0的处理标志向量V,处理标志向量V的每个元素为节点对应的处理值,若处理标志向量V中的处理值为0,则表示未被处理过,若为1则处理过;
步骤(24).创建元组C,元组C中包含多个集合,每一个集合包含着被识别为同一类的节点;
步骤(25).
(25.1).根据处理标志向量V从头到尾遍历矩阵Y,找出其中未被处理过且k-距离最大的节点作为当前父节点,计算当前父节点与所有其余节点之间的相邻距离,取在邻域半径阈值ε内的相邻距离对应的所有其余未处理节点作为子节点,把所有子节点和当前父节点一起归为元组C中的一个集合中,作为同一类;
步骤(25.2).判断该同一类中的节点数量是否超过了最大邻域点数M,若超过最大邻域点数M,则将按照与当前父节点的相邻距离排序,取前M-1个相邻距离最近的子节点和当前父节点一起归为一个集合中作为同一类;
步骤(25.3).对于当前父节点的每个没有与其划分到同一类中的子节点,如果该子节点未被处理过,则在处理标志向量V标记为已处理,并作为当前子节点p;将当前子节点p与当前父节点的其余各个没有在任何类中的子节点计算相邻距离并将按照与子节点p的相邻距离排序,取相邻距离小于邻域半径阈值ε内的所有节点和子节点p一起归为一个集合中作为同一类,取相邻距离大于或等于邻域半径ε的所有节点一起归为一个集合中作为另一同一类;
步骤(25.4).将所有已在某一类中的节点标记;
步骤(26).重复上述步骤(25)直到所有的节点都被处理过,则结束,进行下一步;
步骤(27).对于元组C中的同一类,计算同一类的中心,得到类的中心坐标;对于每个类,采用欧氏距离计算自身到其他每个类之间的类间距,取最大类间距作为该电路的类距离;
步骤(28).创建对应该集成电路的特征矩阵X’,其为1×7大小的整型矩阵,特征矩阵X’的7列中的第一列代表与门数量NA,第二列代表原始门数量NP,第三列代表或门数量NO,第四列代表集成电路所有节点的第一可控性值的算术平均值,第五列代表所有节点的第二可控性值的算术平均值,第六列代表所有节点的可观性值的算术平均值,第七列代表集成电路的类距离;
过程三、采用弱分类器进行训练分类,并组合弱分类器获得最终分类器,进而采用最终分类器对待测集成电路处理获得的带类距离的矩阵X’进行处理,获得待测集成电路的硬件木马检测结果;
所述过程三,具体为:
步骤(31).利用过程二获得的结果,以若干个电路作为样本,建立有标记的样本训练集D={(x1,y1),···,(xi,yi),···,(xm,ym)},xi是1×7大小的整型矩阵,为第i个电路的特征矩阵X’,yi为该电路是否具有硬件木马的标签,m是该样本训练集D中的电路数量;
步骤(32).初始化各个弱分类器的权重系数W,w(n)=1/N,n=1,2...,N,w(n)表示第n个弱训练器的权重系数,N表示预先设定的弱分类器总数量;
步骤(33).对n从1到N,对于第n次过程,执行以下步骤:
步骤(33.1).对样本训练集D进行随机采样获取样本数量为m/2的样本训练集作为第n个弱分类器的训练集Dn,若m为小数则向下取整;
步骤(33.2).计算训练集Dn的标准差γ,以核函数为高斯核,用训练集Dn训练弱分类器Gn(X’);
步骤(33.3).计算弱分类器Gn(X’)在初始的样本训练集D上的分类误差率,其中分类误差率:
其中,en表示该弱分类器Gn(X’)在样本训练集D上的分类误差率,I(Gn(xi)≠yi)表示第n个弱分类器分类样本训练集D的每一个样本是否被分错的代表值;
步骤(33.4).计算弱分类器Gn(X’)的系数:
步骤(34).进行上述步骤,构建最终分类器:
其中,F(X’)表示最终分类器,若F(X’)为1,则特征矩阵X’的集成电路含硬件木马,若F(X’)为-1,则特征矩阵X’的集成电路不含硬件木马,sign表示符号函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于海宁利伊电子科技有限公司,未经海宁利伊电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911142702.2/1.html,转载请声明来源钻瓜专利网。