[发明专利]一种基于子图同构的RTL级硬件木马检测方法在审
申请号: | 202211424243.9 | 申请日: | 2022-11-14 |
公开(公告)号: | CN115688104A | 公开(公告)日: | 2023-02-03 |
发明(设计)人: | 李东方;刘诗宇;沈炜;王志昊;杨光 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/57;G06F18/22 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 王雪芬 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 图同构 rtl 硬件 木马 检测 方法 | ||
1.一种基于子图同构的RTL级硬件木马检测方法,其特征在于,包括以下步骤:
步骤1:对已知硬件木马文件进行分析,将其转换为木马特征有向图;
步骤2:根据步骤1中获取的木马特征有向图及木马相关信息构建木马库;
步骤3:对待测工程文件采取步骤1中的方法进行处理,得到待测工程文件的特征有向图;
步骤4:将待测工程文件的特征有向图与木马库中的木马特征有向图,利用子图同构匹配的方法,得到匹配结果;
步骤5:基于匹配结果输出检测结果。
2.如权利要求1所述的方法,其特征在于,步骤1中转换的过程包括对木马文件进行词法分析与语法分析,生成抽象语法树,解析抽象语法树获取其数据流图与控制流图,采用静态分支概率计算获得控制流图概率,并将数据流图与控制流图关联为木马特征有向图,所述木马文件包括一个或多个RTL文件。
3.如权利要求1所述的方法,其特征在于,步骤1中转换的过程具体包括以下步骤:
语法树生成:读取硬件木马的RTL文件,通过词法分析与语法分析,构建抽象语法树;
数据流图与控制流图获取:通过对所述抽象语法树进行模块解析,端口、变量及代码块解析,获得表达式与条件语句,然后对表达式与条件语句进行解析,根据变量关系获取数据流图边权值,形成数据流图与控制流图;
其中,所述数据流图表示数据在系统中被处理的过程,体现了数据之间的关系,其定义如下:
DFG(G)=(V,E,ρe,h,t)
其中,V={v0,v1,…,vn}表示节点的有限集合,节点是代码中变量的抽象表示;为相连节点的边的集合,如(v0,v1)∈E表示节点v0和v1表示的变量之间存在赋值、条件关系;ρe为边权值函数,ρe(e0)表示边e0的权值;h,t分别表示第一个和最后一个节点;
所述控制流图表示系统状态的变化和转移,体现了系统运行状态之间的关系,其定义如下:
CFG(G)=(V,E,ρe,p,h,t)
其中,V={v0,v1,…,vn}表示节点的有限集合,为条件语句的抽象状态;为相连节点的边的集合,(v0,v1)∈E表示节点v0在满足一定条件后进入节点v1;ρe为边权值函数,ρe(e0)表示边e0的权值;p为概率函数,p(v0,v1)表示从节点v0转换为节点v1的概率;h,t分别表示第一个和最后一个节点;
对于数据流图,通过边权值表示节点之间的关系,数据流图有以下三种节点关系:赋值关系,条件关系以及条件赋值关系,对应的三种边权值分别用1,2,3表示;
对于控制流图,通过边权值表示分支概率;
分支概率获取:通过对所述抽象语法树与所述控制流图进行静态分支概率计算,得到所述控制流图的分支概率;由语法树解析的结果得到端口、变量及条件语句,之后进一步解析将待计算的语句调整为树形结构;
木马特征有向图获取:通过将所述数据流图的节点与所述控制流图关联,获得木马特征有向图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211424243.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种端拾器、机械手和冲压流水线
- 下一篇:一种变电站异常数据辨识终端装置