基于函数语义的固件漏洞检测方法、装置、设备及介质与流程
- 国知局
- 2024-10-09 15:02:46
本发明涉及固件安全,尤其是涉及一种基于函数语义的固件漏洞检测方法、装置、设备及介质。
背景技术:
1、随着互联网和物联网技术的快速发展,智能化时代正在到来。物联网设备已经广泛应用于各个领域,从智能家居到工业设备再到智慧城市,这些设备通过互联网连接在一起,实现了数据的流通,构建了万物互联的世界。但与此同时,物联网设备的快速增长也带来了安全隐患。由于这些设备广泛分布,容易受到各种网络攻击,给生产安全和用户隐私带来了严重威胁。因此,对物联网设备中的漏洞进行识别,对于工业互联网的安全防范具有重要意义。通过及时发现和修复物联网设备中存在的漏洞,可以有效降低工业互联网系统受到网络攻击的风险,保障工业生产和运营的安全稳定。
2、由于物联网设备属于商业产品,大部分厂家不会公开源代码,直接进行代码审计以挖掘漏洞的思路确实难以实施。因此,研究人员通常会从物联网固件层面入手,利用逆向工程技术从固件中提取二进制代码,并在二进制函数级别对固件进行漏洞识别和检测,这种方法具有更好的适用性和灵活性。随着物联网设备制造过程研发分离的趋势,为了降低开发成本和提高效率,程序研发人员通常会引入第三方开源组件。然而,在项目中大量使用第三方组件可能导致漏洞扩散的问题。一旦某个第三方组件存在安全漏洞,那些复用了该组件的项目也会面临相同的安全风险。
3、近年来,关于已知漏洞的挖掘,行业内提出了很多方法,但其对物联网固件进行漏洞检测的准确性和鲁棒性较低,影响了物联网固件漏洞检测的性能。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种基于函数语义的固件漏洞检测方法、装置、设备及介质,可以有效提升固件漏洞检测的准确性和鲁棒性,为物联网固件漏洞检测带来了显著的性能提升。
2、第一方面,本发明实施例提供了一种基于函数语义的固件漏洞检测方法,包括:
3、对待检测物联网固件进行固件解析处理,以从待检测物联网固件中提取可执行文件及其对应的文件信息;
4、基于文件信息对可执行文件进行漏洞函数预筛选处理,得到待检测物联网固件包含的可疑漏洞函数;
5、通过预先训练的目标函数语义提取模型,基于函数漏洞库内包含的已知漏洞函数,对可疑漏洞函数进行函数相似度匹配,以判断函数漏洞库中是否存在有可疑漏洞函数同源的已知漏洞函数;
6、如果是,确定待检测物联网固件存在漏洞。
7、在一种实施方式中,通过预先训练的目标函数语义提取模型,基于函数漏洞库内包含的已知漏洞函数,对可疑漏洞函数进行函数相似度匹配,包括:
8、分别提取函数漏洞库内包含的已知漏洞函数对应的第一函数控制流程图和可疑漏洞函数对应的第二函数控制流程图;
9、将第一函数控制流程图中各个节点处的二进制汇编代码转换为中间语言,以及将第二函数控制流程图中各个节点处的二进制汇编代码转换为中间语言;
10、通过预先训练的目标函数语义提取模型,对转换后的第一函数控制流程图和第二函数控制流程图进行函数相似度匹配,得到已知漏洞函数与可疑漏洞函数之间的函数相似度。
11、在一种实施方式中,目标函数语义提取模型包括两个支路,每个支路均包括中间语言单元和图嵌入单元;
12、通过预先训练的目标函数语义提取模型,对转换后的第一函数控制流程图和第二函数控制流程图进行函数相似度匹配,得到已知漏洞函数与可疑漏洞函数之间的函数相似度,包括:
13、通过一个支路内的中间语言单元,基于转换后的第一函数控制流程图生成第一语义控制流程图,并通过该支路内的图嵌入单元,基于第一语义控制流程图生成第一嵌入向量;
14、以及,通过另一个支路内的中间语言单元,基于转换后的第二函数控制流程图生成第二语义控制流程图,并通过该支路内的图嵌入单元,基于第二语义控制流程图生成第二嵌入向量;
15、将第一嵌入向量与第二嵌入向量之间的距离,作为已知漏洞函数与可疑漏洞函数之间的函数相似度。
16、在一种实施方式中,目标函数语义提取模型的训练步骤,包括:
17、获取训练数据集,训练数据集包括用于训练的二进制汇编代码及其对应的函数控制流程图、中间语言;
18、将训练数据集中不同架构下同名的二进制汇编代码组合为正样本函数对;以及将训练数据集中不同名的二进制汇编代码组合为负样本函数对;
19、将正样本函数对和负样本函数对作为函数对数据集;
20、利用函数对数据集,对初始函数语义提取模型进行训练、验证和测试,以得到目标函数语义提取模型。
21、在一种实施方式中,对待检测物联网固件进行固件解析处理,以从待检测物联网固件中提取可执行文件及其对应的文件信息,包括:
22、使用逆向工具对待检测物联网固件进行解压得到系统文件;
23、使用指定命令从系统文件中提取可执行文件,并提取可执行文件对应的文件信息。
24、在一种实施方式中,基于文件信息对可执行文件进行漏洞函数预筛选处理,得到待检测物联网固件包含的可疑漏洞函数,包括:
25、基于文件信息从函数漏洞库中检索文件记录,并判断文件记录中的hash值和可执行文件对应的hash值是否一致;
26、如果hash值一致,则确定可执行文件包含文件记录中的可疑漏洞函数;
27、如果hash值不一致,则对可执行文件进行反汇编得到可执行文件对应的函数集合,并判断可执行文件对应的函数集合中是否包含文件记录中的可疑漏洞函数;
28、如果可执行文件对应的函数集合中不包含文件记录中的可疑漏洞函数,则将可执行文件对应的函数集合和文件记录中的函数集合的补集,作为可疑漏洞函数。
29、在一种实施方式中,判断函数漏洞库中是否存在于可疑漏洞函数同源的已知漏洞函数,包括:
30、如果已知漏洞函数与可疑漏洞函数之间的函数相似度大于预设相似度阈值,则将已知漏洞函数确定为可疑漏洞函数同源的已知漏洞函数。
31、第二方面,本发明实施例还提供一种基于函数语义的固件漏洞检测装置,包括:
32、固件解析模块,用于对待检测物联网固件进行固件解析处理,以从待检测物联网固件中提取可执行文件及其对应的文件信息;
33、漏洞预筛选模块,用于基于文件信息对可执行文件进行漏洞函数预筛选处理,得到待检测物联网固件包含的可疑漏洞函数;
34、相似度匹配模块,用于通过预先训练的函数语义提取模型,基于函数漏洞库内包含的已知漏洞函数,对可疑漏洞函数进行函数相似度匹配,以判断函数漏洞库中是否存在有可疑漏洞函数同源的已知漏洞函数;
35、漏洞检测模块,用于在相似度匹配模块的判断结果为是时,确定待检测物联网固件存在漏洞。
36、第三方面,本发明实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现第一方面提供的任一项的方法。
37、第四方面,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现第一方面提供的任一项的方法。
38、本发明实施例提供的一种基于函数语义的固件漏洞检测方法、装置、设备及介质,首先对待检测物联网固件进行固件解析处理,以从待检测物联网固件中提取可执行文件及其对应的文件信息;然后基于文件信息对可执行文件进行漏洞函数预筛选处理,得到待检测物联网固件包含的可疑漏洞函数;最后通过预先训练的目标函数语义提取模型,基于函数漏洞库内包含的已知漏洞函数,对可疑漏洞函数进行函数相似度匹配,以判断函数漏洞库中是否存在有可疑漏洞函数同源的已知漏洞函数,从而在判断结果为是时确定待检测物联网固件存在漏洞。上述方法通过固件解析待检测物联网固件得到可执行文件及其对应的文件信息,并在此基础上基于文件信息实现漏洞函数预筛选,得到可执行文件中的可疑漏洞函数,进而通过基于函数语义的提取模型,结合函数漏洞库内包含的已知漏洞函数,对可疑漏洞函数进行函数相似度匹配,最终确定待检测物联网固件是否存在漏洞,本发明实施例提出了一种新的函数语义提取模型,利用该函数语义提取模型实现固件漏洞检测,可以有效提升固件漏洞检测的准确性和鲁棒性,为物联网固件漏洞检测带来了显著的性能提升。
39、本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
40、为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
本文地址:https://www.jishuxx.com/zhuanli/20241009/307398.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表