【技术实现步骤摘要】
一种FPGA软件可疑电路特征库构建方法
[0001]本专利技术涉及FPGA安全检测
,具体涉及一种FPGA软件可疑电路特征库构建方法。
技术介绍
[0002]可疑电路是FPGA软件设计中由恶意硬件木马或设计不完善引入的电路结构,这些电路在运行到某种特定的条件下时被激活,可导致芯片损毁、难以正常运行、性能降低或泄露用户私密信息等后果。
[0003]目前,针对FPGA软件存在的可疑电路,通常将已知的可疑电路整理为文本形式的测试集或库文件(如Trust
‑
hub等),作为安全检测的示例。现有方法主要存在的问题如下:
[0004](1)难以直接用于检测。文本形式的可疑电路一般无法直接被检测工具识别和执行,仅能作为安全检测的参考材料,对FPGA软件安全检测帮助较小;
[0005](2)缺少高效的管理和使用方法。在维护文本形式的可疑电路时,需要管理者手动增加文本信息和代码片段,维护过程较为繁琐。在使用文本形式的可疑电路时,需要使用者结合可疑电路的文本描述和代码进行分析,才能得出有价值的可疑 ...
【技术保护点】
【技术特征摘要】
1.一种FPGA软件可疑电路特征库构建方法,其特征在于,包括以下步骤:(一)进行数据流和控制流特征提取:对门级网表和RTL代码进行处理,生成数据流和控制流图,形成可疑电路特征;(二)基于步骤一进行分支概率计算,为控制流图增加分支概率的属性;(三)可疑电路特征库构建与数据存储:对于输入的可疑电路,在进行数据流和控制流特征提取、分支概率计算之后,基于步骤二构建可疑电路特征库,通过结构化文件来存储特征信息。2.如权利要求1所述的方法,其特征在于,步骤一具体包括:1)词法语法解析对可疑电路门级网表和RTL代码进行词法和语法解析,形成抽象语法树;2)基于步骤1进行数据流图和控制流图的抽取在抽象语法树解析的基础上,对抽象语法树进行二次分析,形成数据流图和控制流图。3.如权利要求2所述的方法,其特征在于,采用邻接表作为数据流图和控制流图的数据结构,控制流图的邻接表结构中,最左一列为节点,箭头代表流向,其余部分为边。4.如权利要求3所述的方法,其特征在于,对数据流图进行如下定义:DFG(P)=(B,E,s,e),其中B={b_1,
…
,b_n}是节点的有限集合,是一个节点间的边的有限集合,s,e∈B分别是第一个和最后一个节点;数据流图的抽取,首先是对端口、变量进行解析,再通过分析表达式得出变量之间数据的流向,添加到数据流的邻接表中,形成数据流图。5.如权利要求4所述的方法,其特征在于,对控制流图进行如下定义:CFG=(N,E,s),N为节点,即基本块的集合,基本块为一系列连续的中间语句,其中控制流只能在开头进入并在结尾离开,只有基本块的最后一条语句才能成为分支语句,并且只有基本块的第一条语句才能成为分支的目标;E为N中节点可能存在的流向/跳转表示;s为入口节点;控制流图的抽取,是搜索代码中的条件判断语句,得到代...
【专利技术属性】
技术研发人员:李东方,沈炜,陈亚莎,张健,黄琼,朱立博,杨光,王志昊,
申请(专利权)人:北京计算机技术及应用研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。