[发明专利]基于子图同构的FPGA软件可疑电路检测方法在审
| 申请号: | 202110302752.3 | 申请日: | 2021-03-22 |
| 公开(公告)号: | CN113051858A | 公开(公告)日: | 2021-06-29 |
| 发明(设计)人: | 李东方;张健;黄琼;沈炜;朱立博;王志昊 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
| 主分类号: | G06F30/34 | 分类号: | G06F30/34;G06F11/36 |
| 代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 王雪芬 |
| 地址: | 100854*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 图同构 fpga 软件 可疑 电路 检测 方法 | ||
本发明涉及一种基于子图同构的FPGA软件可疑电路检测方法,属于技术领域。本发明提供的一种基于子图同构的FPGA软件可疑电路检测方法,可实现对FPGA软件设计阶段代码中存在的可疑电路的快速和低成本检测。
技术领域
本发明属于FPGA安全检测技术领域,具体涉及一种基于子图同构的FPGA软件可疑电路检测方法。
背景技术
可疑电路是指FPGA软件设计中含有被有意引入或无意引入的电路结构,这些电路在运行到某种特定的条件下时被激活,导致芯片损毁、难以正常运行、性能降低或泄露用户私密信息等后果。在FPGA软件的设计过程中,普遍会使用第三方IP核和多种EDA工具,在无法获取全部技术细节的情况下,FPGA软件可能被植入可疑电路,对其安全性产生严重影响。
目前,现有的可疑电路检测方法主要有:
(1)逆向工程检测方法。逆向工程可疑电路检测方法使用扫描电镜等设备将去除封装后的芯片电路逐层与原始电路版图进行比对,从而判断芯片中是否被植入可疑电路以及哪些电路遭到恶意篡改。
(2)旁路分析方法。可疑电路的存在会对芯片的一些物理参数,如热信号、电磁辐射信号、功耗信号、以及电路延时的信息等产生影响,旁路分析方法通过收集待测电路工作过程中的各类旁路信号并与原始电路工作做比较,来检测可疑电路。
(3)形式化验证方法。形式化验证需定义一系列预定义的安全属性规则,通过数学推断详尽地证明芯片是否符合既定属性的要求,从而检测是否存在违反安全需求的可疑电路。
现有方法主要存在以下问题:
(1)检测成本较高。逆向工程、旁路分析检测方法依赖于专业的设备,成本较高,且有些检测方法会对电路造成不可恢复性的破坏。
(2)检测难度大、入门门槛高。形式化验证方法检测流程较为复杂,入门门槛较高,检测时间难以保证,且无法检测满足安全属性要求的非预期的额外功能。
(3)检测方法集中于流片后。逆向工程、旁路分析为流片后的检测方法,检测对象需为流片后芯片,导致修改芯片成本较高,影响交付或上市时间。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何设计一种FPGA软件可疑电路检测方法,实现对FPGA软件设计阶段代码中存在的可疑电路的快速和低成本检测。
(二)技术方案
为了解决上述技术问题,本发明提供了一种基于子图同构的FPGA软件可疑电路检测方法,包括以下步骤:
步骤1、进行RTL代码的数据流图和控制流图结构提取
步骤2、将得到的数据流图和控制流图作为可疑电路的特征,构建可疑电路特征库;
步骤3、基于子图匹配方法进行可疑电路特征匹配。
优选地,步骤1中,对RTL代码进行处理,生成数据流图和控制流图;提取的可疑电路的数据流图和控制流图作为可疑电路的特征;同时也用于特征匹配过程中对待测RTL代码的处理。
优选地,步骤1具体为:
1)输入可疑电路的RTL代码,对代码进行词法和语法解析,形成抽象语法树;
2)搜索抽象语法树中所有的reg、wire以及端口信号,结合代码结构中的过程块或连续赋值语句,建立每个信号的连接关系,生成数据流图;
3)搜索代码中的条件判断语句,得到代码中所有的分支状态和激活条件,整理形成控制流图。
优选地,步骤2中,可疑电路数据库中的数据库项包括可疑电路的数据流图、控制流图、抽象层次、安全危害这些信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110302752.3/2.html,转载请声明来源钻瓜专利网。





