[发明专利]一种基于HDL代码的硬件脆弱性评估方法在审
申请号: | 201711103362.3 | 申请日: | 2017-11-10 |
公开(公告)号: | CN107807812A | 公开(公告)日: | 2018-03-16 |
发明(设计)人: | 陈哲;王坚;郭世泽;李玉柏;高振标 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F8/34 | 分类号: | G06F8/34;G06F11/36 |
代理公司: | 成都正华专利代理事务所(普通合伙)51229 | 代理人: | 李蕊,李林合 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hdl 代码 硬件 脆弱 评估 方法 | ||
技术领域
本发明属于硬件安全技术领域,具体涉及一种基于HDL代码的硬件脆弱性评估方法的设计。
背景技术
基于FPGA和ASIC的广泛应用,硬件描述语言(HDL,Hardware Description Language)的程序开发越来越多,使用HDL程序的安全性和可靠性越来越难以保证。正如各种各样的软件安全漏洞一样,HDL的程序开发流程中也存在各种各样的安全漏洞和设计缺陷。HDL语言与软件语言在语义上有一定相似,因此可以借鉴和利用软件脆弱性的分析研究方法,这为HDL程序的硬件脆弱性提供了一个方向。
软件分析以分析过程“是否需要运行软件”为准则,将软件分析技术划分为静态分析技术与动态分析技术两大类。不过,动态检测方法无法准确定位问题的发生位置,检测问题的覆盖率和检测的效率也都不够理想。相比而言,静态检测方法只需要分析软件的源代码便可准确定位软件中存在的安全缺陷,具有成本低、自动化等特点,更适合应用于大规模、复杂的软件系统的检测工作。
从脆弱性分析方法来看,已有的软件脆弱性分析方式主要有4种,分别是:模糊测试(Fuzzing)、污点分析、模型检测、符号执行。
Fang等人提出了模糊测试的方法,它通过提供随机输入数据,监视分析异常结果来试图发现软件的脆弱性;Halford等人提出了污点注入的方法,将非信任源的数据标记为污点,对污点数据进行跟踪,以此达到发现软件脆弱性的目的;Tsitovich等人提出模型检测的方法,通过对待检验的系统建模方法来发现软件的脆弱性;King等人提出符号执行的方法,使用输入变量的符号值模拟执行程序进而分析软件的脆弱性。
这些方法都能在一定程度上挖掘软件程序的漏洞,然而,HDL程序依赖硬件电路实现,不同HDL程序的硬件电路则不同;高级语言程序依赖CPU计算实现,不同的高级语言程序只是指令的执行顺序不同,而底层硬件电路是相同的。因此,高级语言程序的脆弱性主要是指令执行顺序的脆弱性,HDL程序的脆弱性主要是底层硬件电路的脆弱性。
在HDL程序中,各模块之间都是通过各种输入输出接口连接的,这些模块之间的连接可称为链路。一个模块程序运行所需的数据信号和控制信号可能来自多个模块,并且这个模块处理完后的数据会通过相应的输出链路与其他模块相连接。一般地,重要性越高的模块,它就会有更多的链路与其他模块相连接;而对于两个互连的模块来说,连接它们的链路所包含的输入输出接口数目越多,潜在脆弱性也就越高,受到攻击后产生错误以及发生错误传递的概率也就越高。
发明内容
本发明的目的是提出一种基于HDL代码的硬件脆弱性评估方法,以便评估程序中各模块的硬件脆弱性,提高HDL程序的稳定性和可靠性。
本发明的技术方案为:一种基于HDL代码的硬件脆弱性评估方法,包括以下步骤:
S1、编写脚本程序,把一个HDL程序文件作为脚本程序的输入,识别HDL程序中的模块数量,并分析与每个模块关联的边的数目。
S2、提出HDL程序的硬件脆弱性分析策略,计算每条边的脆弱性权值,建立脆弱性权值拓扑图。
脆弱性权值的计算公式为:
其中Vi和Vj分别表示HDL程序中的第i个模块与第j个模块,i=0,1,...,n-1,j=0,1,...,n-1,n为HDL程序中的模块数量,TD(·)表示与模块关联的边的数目,vij表示模块Vi和Vj连接边的脆弱性权值。a为重要性系数,若模块的程序来源是程序员自己编写的程序,则a=0.8;若模块的程序来源是调用IP核编写的程序,则a=1。pij为模块Vi和Vj连接边的初始权值,即模块Vi和Vj连接边所表示链路的相关接口数量。w为脆弱性修正值,h为输入接口到各模块的跳数。
S3、构建HDL程序的硬件脆弱性评价体系,根据脆弱性权值拓扑图对各模块进行硬件脆弱性分级,其中HDL程序的硬件脆弱性评价体系具体为:
根据HDL程序的脆弱性权值拓扑图得到每条边的脆弱性,由于脆弱性越高的边所连接的两个模块脆弱性也越高,因此根据边的脆弱性对模块的脆弱性进行等级划分,分为脆弱性高、中、低三个级别,每个级别的相应比例分别为20%、30%和50%。
S4、编写图形界面,展示HDL程序中的模块连接关系以及各模块的硬件脆弱性级别。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711103362.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:环卫多媒体消息分发平台
- 下一篇:一种旋钮结构