System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机安全和网络,具体涉及一种基于gnn与angr的路由器固件双阶段漏洞自动挖掘方法。
技术介绍
1、随着网络设备的普及和路由器在日常生活及商业活动中的关键作用,路由器固件的安全性显得尤为重要。固件中的安全漏洞可能导致严重的信息泄露和网络攻击,因此,及时发现并修补这些漏洞是网络安全领域的重要任务。
2、传统的漏洞检测技术,如静态分析和符号执行,虽然能够在一定程度上进行漏洞挖掘,但这些方法往往面临多种挑战。然而,动态分析常常受困于路径爆炸问题,即潜在的执行路径数量过多,导致分析过程资源消耗巨大,效率低下。
3、为了克服这些问题,近年来研究开始探索使用图神经网络(gnn)来分析静态分析工具生成的cfg。gnn能有效处理图结构数据,通过学习图中节点间的复杂关系来提高漏洞识别的准确性和效率。gnn的引入为固件漏洞的自动检测提供了新的技术手段,能够更好地理解和预测程序行为中潜在的安全问题。然而,将gnn应用于固件漏洞检测还面临一些技术挑战,包括如何有效地从cfg中提取特征,以及如何设计适应固件分析的gnn架构,得到的分析结果是否准确。此外,现有的gnn模型在处理大规模固件数据时还需进一步优化其性能和扩展性。
技术实现思路
1、针对现有技术中的上述不足,本专利技术提供了一种基于gnn与angr的路由器固件双阶段漏洞自动挖掘方法,通过结合angr的深入动静态混合分析能力和gnn的高效图数据处理能力,提高漏洞检测的自动化水平和准确性,同时解决传统二进制分析工具
2、为了达到上述专利技术目的,本专利技术采用的技术方案为:
3、一种基于gnn与angr的路由器固件双阶段漏洞自动挖掘方法,包括以下步骤:
4、利用静态分析工具从路由器固件中生成控制流图;
5、对控制流图进行数据转换和数据增强处理;
6、利用预训练的图神经网络模型对处理后的控制流图进行漏洞识别,并对存在漏洞的程序执行路径进行优先级排序;
7、基于存在漏洞的程序执行路径排序结果,利用动静态混合分析工具对程序执行路径进行符号执行,得到路由器固件漏洞挖掘结果。
8、作为优选地,对控制流图进行数据转换包括:
9、将控制流图转换为json数据格式,记录控制流图中每个节点和边的指令类型和跳转条件。
10、作为优选地,对控制流图进行数据增强处理包括:
11、随机删除控制流图中的节点;
12、随机删除控制流图中的边;
13、在控制流图中添加新的节点和边,或修改现有节点和边的属性信息。
14、作为优选地,对存在漏洞的程序执行路径进行优先级排序包括:
15、根据不同漏洞类别的优先级和图神经网络模型输出的漏洞类别预测概率计算每个节点的路径优先级得分;
16、根据每个节点的路径优先级得分对存在漏洞的程序执行路径进行优先级排序。
17、作为优选地,每个节点的路径优先级得分的计算方式为:
18、
19、其中,为节点i的路径优先级得分,为漏洞类别c的重要性权重,为节点i属于漏洞类别c的预测概率,为漏洞类别总数。
20、作为优选地,利用动静态混合分析工具对程序执行路径进行符号执行包括:
21、根据不同的漏洞类型,对不同架构下的指令集、操作方式和寄存器配置进行检测逻辑和约束条件优化。
22、作为优选地,利用动静态混合分析工具对程序执行路径进行符号执行时,
23、针对缓冲区溢出漏洞,对arm固件架构和mips固件架构的指令特性,监控对堆栈的写入操作,监控特定寄存器的变化以发现返回地址可能被篡改导致的溢出,并验证堆栈指针是否指向合法的堆栈区域。
24、作为优选地,利用动静态混合分析工具对程序执行路径进行符号执行时,
25、针对权限绕过漏洞,在符号执行的上下文中,检测即使在输入参数被篡改的情况下,权限检查函数也返回授权成功的标志。
26、作为优选地,利用动静态混合分析工具对程序执行路径进行符号执行时,
27、针对命令注入漏洞,通过检测外部输入是否影响命令执行逻辑,并监控输入对系统命令执行函数的调用。
28、作为优选地,利用动静态混合分析工具对程序执行路径进行符号执行时,
29、针对使用后释放漏洞,在符号执行中通过跟踪内存的分配和释放事件来监控是否存在非法引用;具体策略为在每个内存分配操作后标记内存块为已分配,在每个内存释放后标记内存块为已释放,对于每次内存访问检查相关内存块的状态,如果访问的是已释放的内存块则触发uaf警报。
30、本专利技术具有以下有益效果:
31、本专利技术基于gnn的动静态混合分析方法通过angr生成的cfg获得详尽的程序执行路径信息,进一步通过数据预处理和增强技术提升模型的泛化能力和预测准确度,结合数据特点进行针对性的模型训练和漏洞分类,从而在保持高效率的同时增强检测的精确度;基于符号执行的动态分析方法,依据静态分析的初步结果进行剪枝,避免传统符号执行中的路径爆炸问题,并实现了针对mips和arm类型的固件二进制程序的符号执行策略;通过动态分析和静态分析的结合,全面提升了对路由器固件漏洞检测的精准度和可靠性。
本文档来自技高网...【技术保护点】
1.一种基于GNN与angr的路由器固件双阶段漏洞自动挖掘方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于GNN与angr的路由器固件双阶段漏洞自动挖掘方法,其特征在于,对控制流图进行数据转换包括:
3.根据权利要求1所述的一种基于GNN与angr的路由器固件双阶段漏洞自动挖掘方法,其特征在于,对控制流图进行数据增强处理包括:
4.根据权利要求1所述的一种基于GNN与angr的路由器固件双阶段漏洞自动挖掘方法,其特征在于,对存在漏洞的程序执行路径进行优先级排序包括:
5.根据权利要求4所述的一种基于GNN与angr的路由器固件双阶段漏洞自动挖掘方法,其特征在于,每个节点的路径优先级得分的计算方式为:
6.根据权利要求1所述的一种基于GNN与angr的路由器固件双阶段漏洞自动挖掘方法,其特征在于,利用动静态混合分析工具对程序执行路径进行符号执行包括:
7.根据权利要求6所述的一种基于GNN与angr的路由器固件双阶段漏洞自动挖掘方法,其特征在于,利用动静态混合分析工具对程序执行路径进行符号执行
8.根据权利要求6所述的一种基于GNN与angr的路由器固件双阶段漏洞自动挖掘方法,其特征在于,利用动静态混合分析工具对程序执行路径进行符号执行时,
9.根据权利要求6所述的一种基于GNN与angr的路由器固件双阶段漏洞自动挖掘方法,其特征在于,利用动静态混合分析工具对程序执行路径进行符号执行时,
10.根据权利要求6所述的一种基于GNN与angr的路由器固件双阶段漏洞自动挖掘方法,其特征在于,利用动静态混合分析工具对程序执行路径进行符号执行时,
...【技术特征摘要】
1.一种基于gnn与angr的路由器固件双阶段漏洞自动挖掘方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于gnn与angr的路由器固件双阶段漏洞自动挖掘方法,其特征在于,对控制流图进行数据转换包括:
3.根据权利要求1所述的一种基于gnn与angr的路由器固件双阶段漏洞自动挖掘方法,其特征在于,对控制流图进行数据增强处理包括:
4.根据权利要求1所述的一种基于gnn与angr的路由器固件双阶段漏洞自动挖掘方法,其特征在于,对存在漏洞的程序执行路径进行优先级排序包括:
5.根据权利要求4所述的一种基于gnn与angr的路由器固件双阶段漏洞自动挖掘方法,其特征在于,每个节点的路径优先级得分的计算方式为:
6.根据权利要求1所述的一种基于gnn与angr的路由器固...
【专利技术属性】
技术研发人员:许琼,周逸杰,周孝强,杨雪跃,谢茂靖,胥林,余一帆,
申请(专利权)人:西南石油大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。