一种IP软核恶意逻辑检测方法,系统,终端及存储介质
文献发布时间:2024-01-17 01:26:37
技术领域
本发明涉及芯片安全检测技术领域,具体涉及一种IP软核恶意逻辑检测方法,系统,终端及存储介质。
背景技术
随着IC设计技术的不断发展,为加速产品的生产制造,从而大量使用IP软核,但受IP软核复杂度、稳定性和工艺等因素的影响,设计中使用的大量IP软核,其设计、制造均由第三方进行实施,导致IP软核极易被恶意植入硬件木马,存在着严重的安全隐患。
目前国内对IP软核的硬件木马检测方法中后仿流片后的反向分析破坏式硬件木马检测十分耗时,而且费用昂贵,同时这些检测方法无法解决集成度不断提高、结构日趋复杂的芯片;DFTT辅助检测方法目前只支持Verilog HDL代码,不支持其它硬件描述语言的代码;基于旁路信号分析的方法易受到工艺变量和各种噪声的影响,对小型木马的检测效果不理想;逻辑检测方法测试向量生成复杂,对大型木马的检测效果不够理想。
发明内容
本发明提出了一种IP软核恶意逻辑检测方法,系统,终端及存储介质,以解决代码支持度不够和检测效果不理想的技术问题。
为解决上述技术问题,本发明提供了一种IP软核恶意逻辑检测方法,包括以下步骤:
步骤S1:提取待检测IP软核内RTL级硬件描述语言的程序代码;
步骤S2:将所述RTL级硬件描述语言的程序代码转化为十六进制数据流,并通过灰度图谱算法进行图谱映射,得到待检测灰度图谱矩阵;
步骤S3:将标准电路程序转化为十六进制数据流,并通过灰度图谱算法进行图谱映射,得到对比灰度图谱矩阵;
步骤S4:将所述待检测灰度图谱矩阵与对比灰度图谱矩阵进行差值计算,以绘制差异图,当所述差异图上存在尖峰时,则判断所述待检测IP软核存在木马。
优选地,步骤S2中所述灰度图谱算法的步骤包括:
步骤S21:对十六进制数据流的每两位进行拆分,并转化为二进制数值;
步骤S22:将所述二进制数值进行拼接转化为无符号位八位二进制字符串;
步骤S23:将所述二进制字符串转成0-255的值,得到待检测灰度图谱矩阵。
优选地,步骤S21中转化为二进制数值的方法为:先转化为十进制数值,再转化为二进制数值。
优选地,步骤S4中进行差值计算的方法包括以下步骤:
步骤S41:对所述待检测灰度图谱矩阵和对比灰度图谱矩阵进行标准化处理;
步骤S42:设定分块匹配大小,所述待检测灰度图谱矩阵基于分块匹配大小,遍历整个对比灰度图谱矩阵,以进行差值计算;
步骤S43:对每个差值计算的结果进行绝对值处理并累加,最后取最小值得到对应位置的差值结果。
优选地,步骤S43中进行差值计算的表达式为:
式中,X
优选地,步骤S41中所述标准化处理的方法为:设定数据量大小和灰度图谱大小以进行标准化。
优选地,所述标准电路程序基于基准电路集Trust-Hub进行构建,并进行更新和扩充。
本发明还提供了一种IP软核恶意逻辑检测系统,所述系统包括程序代码提取模块、标准电路程序构建模块、灰度图谱矩阵转换模块、差异对比模块和恶意逻辑判定模块;
所述程序代码提取模块,用于提取待检测IP软核内RTL级硬件描述语言的程序代码;
所述标准电路程序构建模块,用于构建标准电路程序;
所述灰度图谱矩阵转换模块,用于将所述RTL级硬件描述语言的程序代码转化为待检测灰度图谱矩阵,将标准电路程序转化为对比灰度图谱矩阵;
所述差异对比模块,用于将所述待检测灰度图谱矩阵与对比灰度图谱矩阵进行差值计算,得到差值;
所述恶意逻辑判定模块,用于基于所述差异对比模块所计算的差值,判断所述待检测IP软核是否存在木马。
本发明还提供了一种IP软核恶意逻辑检测终端,包括存储器和处理器;
所述存储器,用于存储计算机程序及IP软核恶意逻辑检测方法;
所述处理器,用于执行所述计算机程序及IP软核恶意逻辑检测方法,以实现上述方法中的步骤。
本发明还提供了一种存储有计算机指令的计算机可读存储介质,所述计算机指令用于使处理器执行时实现如1至7所述的任意一项所述方法中的步骤。
本发明的有益效果至少包括:针对IP软核RTL级代码进行映射灰度图谱,通过计算灰度图谱之间的差异程度,利用匹配算法实现硬件木马检测,以对不同的代码进行支持,同时具有良好的检测效果;不存在传统检测中信号翻转率低和检测操作复杂的问题,操作较为方便;能够有效的对非可控IP软核进行无损检测,检测时间短,检测效率较高,能够提升检测的效率和准确性。
附图说明
图1为本发明实施例的方法流程图;
图2为本发明实施例的灰度图谱生成示意图;
图3为本发明实施例的标准电路程序构建示意图;
图4为本发明实施例的差值计算流程示意图;
图5为本发明实施例的B19-T100 IP软核与标准电路程序的对比结果示意图;
图6位本发明实施例的None-HT软核与标准电路程序的对比结果示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
目前针对IP软核硬件木马检测的侧重于伪穷举功能测试,并在测试过程中进行覆盖率和翻转率分析,或在语义层面进行关键字匹配分析,检测精度和可信度不高,且无法对加密后的IP软核进行检测。且在RTL级层面无法实现加密IP软核的硬件木马检测,还没有形成一套可靠的检测模型和检测算法,给IP软核的安全性带来一定的风险。
如图1所示,本发明实施例提供了一种IP软核恶意逻辑检测方法,包括以下步骤:
步骤S1:提取待检测IP软核内RTL级硬件描述语言的程序代码。
步骤S2:将所述RTL级硬件描述语言的程序代码转化为十六进制数据流,并通过灰度图谱算法进行图谱映射,得到待检测灰度图谱矩阵。
具体地,硬件木马在IP软核中是以Verilog HDL硬件语言描述储存,本发明实施例中通过Winhex软件完成将Verilog HDL语言转换成计算机语言,得到十六进制数据流。
具体地,如图2所示,灰度图谱算法的步骤包括:
步骤S21:对十六进制数据流的每两位进行拆分,并转化为二进制数值;
步骤S22:将所述二进制数值进行拼接转化为无符号位八位二进制字符串;
步骤S23:将所述二进制字符串转成0-255的值,得到待检测灰度图谱矩阵。
步骤S3:将标准电路程序转化为十六进制数据流,并通过灰度图谱算法进行图谱映射,得到对比灰度图谱矩阵。
具体地,如图3所示,本发明实施例中标准电路程序Golden依托于Trust-Hub库中标准电路进行构建,Trust-Hub库可以快速建立并及时更新扩充新型标准电路,确保对IP软核检测的准确性。
本发明实施例中,转化为二进制数值的方法为:先转化为十进制数值,再转化为二进制数值,通过先转化为十进制再转化为二进制,操作和处理上更为方便。
步骤S4:将所述待检测灰度图谱矩阵与对比灰度图谱矩阵进行差值计算,以绘制差异图,当所述差异图上存在尖峰时,则判断所述待检测IP软核存在木马。
具体地,进行差值计算的方法包括以下步骤:
步骤S41:对所述待检测灰度图谱矩阵和对比灰度图谱矩阵进行标准化处理。
具体地,标准化的方法为:设定数据量大小和灰度图谱大小,将待检测灰度图谱矩阵和灰度图谱矩阵进行统一以进行标准化处理。
步骤S42:设定分块匹配大小,所述待检测灰度图谱矩阵基于分块匹配大小,遍历整个对比灰度图谱矩阵,以进行差值计算;
差值计算的表达式为:
式中,X
步骤S43:对每个差值计算的结果进行绝对值处理并累加,最后取最小值得到对应位置的差值结果。
具体地,进行累加的表达式为:
式中,Sum表示累加值。
本发明还提供一种IP软核恶意逻辑检测系统,所述系统包括程序代码提取模块、标准电路程序构建模块、灰度图谱矩阵转换模块、差异对比模块和恶意逻辑判定模块;
所述程序代码提取模块,用于提取待检测IP软核内RTL级硬件描述语言的程序代码;
所述标准电路程序构建模块,用于构建标准电路程序;
所述灰度图谱矩阵转换模块,用于将所述RTL级硬件描述语言的程序代码转化为待检测灰度图谱矩阵,将标准电路程序转化为对比灰度图谱矩阵;
所述差异对比模块,用于将所述待检测灰度图谱矩阵与对比灰度图谱矩阵进行差值计算,得到差值;
所述恶意逻辑判定模块,用于基于所述差异对比模块所计算的差值,判断所述待检测IP软核是否存在木马。
本发明还提供了一种IP软核恶意逻辑检测终端,其特征在于:包括存储器和处理器;
所述存储器,用于存储计算机程序及IP软核恶意逻辑检测方法;
所述处理器,用于执行所述计算机程序及IP软核恶意逻辑检测方法,以实现上述方法中的步骤。
本发明还提供了一种存储有计算机指令的计算机可读存储介质,其特征在于:所述计算机指令用于使处理器执行时实现上述方法中的步骤。
以下通过具体的实施例被发明进行说明,具体地,以功能篡改型B19-T100 IP软核作为实验对象,进行实验验证。
将B19-T100 IP软核数据的“Sample to be tested.txt”文件与标准化程序的“Golden Set.txt”文件,两个文件读取进MATLAB分别保存到新矩阵G[i]和C[i,j],将数据量大小设为9×10^5,灰度图谱大小设为1800*500,将矩阵G[i]和C[i,j]进行标准化。
如图4所示,设定分块匹配大小为5*400,对矩阵G[i]和C[i,j]进行遍历差值计算,对每一次差值计算完成的数据进行累加,由于差异值的大小反应在数值而非符号,因此需要进行绝对值处理。
对进行匹配检测完成后得到的数据进行取最小值处理,并记录取值的位置,绘制差异对比图如图5所示,观察图像是否存在尖峰,若存在尖峰,则证明此待测样本中含有硬件木马,可以发现,本发明实施例中的待测功能篡改型B19-T100 IP软核即HT软核与标准电路程序进行灰度图谱匹配检测中可以明显的发现在图像中有尖峰的存在,表明待测样本极有可能是被恶意植入的硬件木马。同时,作为参考,不存在木马的None-HT软核与标准电路程序进行灰度图谱匹配检测如图6所示,可以看出其中未发现明显尖峰的存在,这就表明了此软核含有硬件木马的概率是极低的。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,仅表达了本发明的较佳实施例而已,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
- 基站传输层IP及终端本地IP的分配方法、系统及存储介质
- 一种用于裁床上的裁刀角度检测方法及系统、计算机可读存储介质、终端
- 一种基于关键点回归的通用物体检测方法、系统、终端和存储介质
- 一种物联网终端升级方法、装置、系统、终端及存储介质
- 终端检测方法、检测设备、系统及存储介质
- 恶意软件感染终端的检测装置、恶意软件感染终端的检测系统、恶意软件感染终端的检测方法以及记录介质
- 恶意扫描IP检测方法、系统、装置、设备和存储介质