[发明专利]一种基于语义理解的深度学习硬件木马检测方法有效
申请号: | 202110739931.3 | 申请日: | 2021-06-30 |
公开(公告)号: | CN113486347B | 公开(公告)日: | 2023-07-14 |
发明(设计)人: | 董晨;许熠;黄槟鸿;刘西蒙 | 申请(专利权)人: | 福州大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F40/211;G06F40/284;G06F40/30;G06N3/0464;G06N3/08 |
代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 陈明鑫;蔡学俊 |
地址: | 350108 福建省福州市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 语义 理解 深度 学习 硬件 木马 检测 方法 | ||
1.一种基于语义理解的深度学习硬件木马检测方法,其特征在于:包括如下步骤:
步骤S1:首先对芯片网表文件进行预处理,提取任意一个输入端口线网Xiport和输出端口线网Xoport来组成所有可能的路径对[Xiport,Xoport];接着在这些路径对上寻找所有存在的简单路径Tspath,并生成对应句子fspath,再打上硬件木马标签构成带标签的句子数据集;
步骤S2:把步骤S1中生成到的句子数据集进行组件类型名的去重清洗,并用word2vec完成词库训练,得到预训练好的词向量WVpre;
步骤S3:来自步骤S1的句子数据集和来自步骤S2的词向量WVpre共同作为材料放入TextCNN的输入层中,经过静动态相结合的词向量矩阵训练得到硬件木马的检测结果;
所述步骤S1具体包括以下步骤:
步骤S11:从网表中获取组件N(N1,N2,N3,…,Nl)和线网S(S1,S2,S3,…,Sk)的信息,并定义任意一个组件Ni中的入线网信息Xii和出线网信息Xio;
步骤S12:以每个组件N(N1,N2,N3,…,Nl)为节点V和以每个线网S(S1,S2,S3,…,Sk)为边E,并根据每个组件中的输入输出线网关系Ni[Xii,Xio],运用深度优先搜索算法构建整个网表电路的拓扑结构G=(V,E);根据电路的信号传递法则追踪各组件之间的连接关系,信号传递法则公式如下:
其中,Ni中的某个出线网标识符与Nj中的某个入线网标识符一致的话,则表明电路信号能够从组件Ni传递到组件Nj;
步骤S13:对所有的组件N(N1,N2,N3,…,Nl)中的入线网Xi和出线网Xo进行起始点集合Spath和终止点集合Fpath的分类,以此来确定所有的路径对组[Xiport,Xoport];集合分类遵循以下公式:
其中,Xii和Xio分别代表组件集合中任意一个组件Ni的入线网和出线网;
步骤S14:在已经建立好的电路拓扑基础上,运用简单路径算法对所有的路径对组合[Xiport,Xoport]搜索出所有可能的简单路径Tspath;路径生成的方法从组件角度的判断公式如下:
Path:fsv(Ni)=Nj(Ni≠Nj)
其中,v表示函数fs的迭代次数;那么上述公式的定义,组件Ni为起点经过v次的信号传递函数的迭代作用下形成了通向Nj为终点的路径,并约束起点和终点不是同一个逻辑门即不是同一个节点;
接着对于上述搜索到的路径进行进一步的简单路径判断,判定公式如下:
其中,fsp表示为简单路径函数;根据上述公式,任意个经过a次信号传递后的节点都不与除a次以外的任意个经过b次信号传递后的节点相同,则这样传递后形成的路径为简单路径Tspath;
步骤S15:对步骤S14中搜索并判断好的简单路径Tspath里所经过的电路组件都直接以组件类型名形式表示出来,形成了一个个简单路径句子fspath进而构成一个完整的句子数据集;
步骤S16:对所有的句子数据集根据是否有经过硬件木马组件来标注标签,并规定有木马的句子标签为正样本,无木马的句子标签为负样本,这样得到了带标签的句子数据集;
所述步骤S3具体包括以下步骤:
步骤S31:在TextCNN的输入层依次放入步骤S1句子数据集,同时把步骤S2中预训练好的词向量WVpre作为静态词向量矩阵WVMS和动态词向量矩阵WVMD的初始化张量;其中,静态词向量矩阵WVMS不参与TextCNN的迭代更新,而动态词向量矩阵WVMD则为相反;
步骤S32:在一维卷积层中,选用大小分别为3、4和5的卷积核对输入层中的张量进行特征计算;在卷积核与卷积核同等大小的卷积层局部范围内,进行两者的矩阵上同一位置的相乘后再相加的结果就是特征计算,并以滑动窗口式的扫描计算形成一串串输出通道;
步骤S33:把步骤S32中的输出通道利用最大池化层挑选出对检测木马句子为最大值的特征,并将这些输出通道的最大值特征接在一起;
步骤S34:最后的全连接层依靠一个线性函数收束所有的这些最大值特征,并在输出层得出句子是否包含木马类型名的结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福州大学,未经福州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110739931.3/1.html,转载请声明来源钻瓜专利网。