基于多源知识引导变异的网络协议模糊测试方法和系统
- 国知局
- 2024-08-02 12:40:58
本发明属于网络协议模糊测试,尤其涉及基于多源知识引导变异的网络协议模糊测试方法和系统。
背景技术:
1、随着互联网技术的持续发展,网络协议在信息技术领域的重要性日益增强。网络协议是计算机网络中实体之间进行通信和信息交换的基础,它决定了不同实体在网络中通信的方式,并详细规定了通信实体之间交换信息的格式、含义、顺序和操作规则。然而,由于编码错误、协议复杂性、未及时更新等方面的问题,导致网络协议具体实现的过程中可能引入潜在的安全漏洞。这些漏洞为攻击者提供了可能性,使其能够恶意利用网络协议中的弱点,进行各种攻击和不法行为。
2、目前,网络协议漏洞挖掘技术包括程序静态分析、动态污点分析、动态符号执行以及模糊测试等。随着软件系统规模的逐渐增长和复杂度的提升,除模糊测试以外的其他几种漏洞挖掘技术,要么存在路径爆炸、状态爆炸、约束求解困难和耗时长等问题,要么存在误报率和漏报率高等缺点。而模糊测试具有自动化程度高、不依赖于目标程序源码、适用性好和准确率高等优点,成为目前网络协议漏洞挖掘技术的主流方法。
3、由于网络协议的请求消息通常有格式约束,而目前网络协议模糊测试变异过程缺乏有效信息指导,盲目性过大,难以生成满足协议格式约束的测试用例,导致测试用例在开始阶段因不符格式而被服务器程序丢弃,造成大量测试资源的浪费。
4、从现有技术来看,与本发明最接近的现有网络协议模糊测试消息变异方案有两类:一类是基于aflnet的请求消息变异、一种是基于语法格式的请求消息变异。
5、第一类是基于aflnet的请求消息变异方案,此类方案针对请求消息的各个字段进行变异,有两种变异策略,一种是消息级别的变异,对待变异的请求消息以位或字节为单位进行翻转等变异操作;另一种是序列级别的变异,随机在消息序列中选择一个消息对待变异的请求消息进行替换、插入、删除或重复等变异操作。如图1所示,首先确定种子文件中待变异消息的位置,然后直接对待变异消息所有字段进行无差别的消息级变异和序列级变异。
6、第二类是基于语法格式的请求消息变异方案。此类方案通过获取各种类型的请求消息语法格式模板,确定格式模板中的可变字段,然后在变异过程中只针对请求消息格式的可变字段进行变异操作。如图2所示,首先获取协议请求消息的语法格式模板,根据语法格式模板确定待变异消息中的可变字段,然后针对待变异消息中的可变字段进行消息级变异。
7、第一类方案是目前灰盒网络协议模糊测试主流工具aflnet的变异策略,该方案对待变异消息进行无格式约束的随机性变异,被大多数灰盒模糊测试工具采用。该方案主要存在两点问题,第一个问题是消息级变异没有考虑请求消息的语法约束和语义约束,导致该请求消息无法被服务器程序正确处理。第二个问题是序列级变异没有考虑到请求消息的顺序约束,生成的请求消息很大概率不能跟在其前一个消息后,导致该请求消息无法被服务器程序接收。
8、第二类方案先进行目标协议的语法格式获取步骤。该步骤能够定位消息中哪些字段是协议请求消息中的固定字段,哪些字段是随着服务端和客户端数据变化而变化的字段。对待变异消息进行变异时,只对可变字段进行消息级变异操作。此类方案并没有考虑请求消息的顺序约束和语义约束,生成的请求消息无效概率较大。
技术实现思路
1、为解决上述技术问题,本发明提出基于多源知识引导变异的网络协议模糊测试方案。本发明通过从协议rfc文档和网络服务目标程序中提取协议请求消息的相关约束信息,构建关于目标协议格式的变异知识库,实现自动化生成满足协议格式的测试用例。本发明主要解决的是现有网络协议模糊测试变异过程缺乏有效信息指导,难以生成满足协议格式的测试用例的问题。
2、本发明第一方面提出基于多源知识引导变异的网络协议模糊测试方法。所述方法包括:
3、步骤s1、基于协议rfc文档和网络服务目标程序获取协议请求消息的约束知识,通过对所述协议请求消息的约束知识进行融合来构建涵盖各类协议约束信息的变异知识库;
4、步骤s2、网络程序模糊测试器从经选取的种子文件中定位出待变异消息的位置,并利用所述变异知识库来引导所述待变异消息进行变异操作,从而生成符合所述协议约束信息的测试用例。
5、根据本发明第一方面的方法,在所述步骤s1中,所述协议请求消息的约束知识包括第一约束知识和第二约束知识;其中:
6、利用大语言模型从所述协议rfc文档中的协议功能描述、消息格式、状态码和错误处理策略中获取所述协议请求消息的第一约束知识,包括协议的顺序约束、语法约束和语义约束;
7、通过动态污点分析的方式从所述网络服务目标程序中对输入访问指令的解释描述和执行过程中获取所述协议请求消息的第二约束知识,包括协议的语法约束和语义约束;
8、对所述第一约束知识和所述第二约束知识进行融合,从而构建涵盖各类协议约束信息的所述变异知识库。
9、根据本发明第一方面的方法,在所述步骤s2中,所述网络程序模糊测试器从语料库中选取出所述种子文件,所述种子文件包含多个请求消息组成的消息序列,所述网络程序模糊测试器从所述种子文件包含的由多个请求消息组成的所述消息序列中定位出所述待变异消息的位置;其中:
10、所述消息序列包括前缀消息、中缀消息和后缀消息;
11、所述前缀消息为用于引导待测服务器达到目标状态的请求消息序列;
12、所述中缀消息为目标状态下发送给所述待测服务器的请求消息序列;
13、所述后缀消息为除所述前缀消息和所述中缀消息之外的其他消息序列;
14、在所述中缀消息中定位所述待变异消息的位置。
15、根据本发明第一方面的方法,在所述步骤s2中,利用所述变异知识库来引导所述待变异消息进行变异操作;具体包括:
16、采用所述顺序约束来引导所述变异操作,令当前请求消息的类型与前一个请求消息的类型匹配;
17、采用所述语法约束来引导所述变异操作,令当前待变异请求消息符合相关语法格式;
18、采用所述语义约束来引导所述变异操作,令当前待变异请求消息中的字段值在预设范围内。
19、本发明第二方面提出基于多源知识引导变异的网络协议模糊测试系统。所述系统包括:
20、第一处理单元,被配置为:基于协议rfc文档和网络服务目标程序获取协议请求消息的约束知识,通过对所述协议请求消息的约束知识进行融合来构建涵盖各类协议约束信息的变异知识库;
21、第二处理单元,被配置为:网络程序模糊测试器从经选取的种子文件中定位出待变异消息的位置,并利用所述变异知识库来引导所述待变异消息进行变异操作,从而生成符合所述协议约束信息的测试用例。
22、根据本发明第二方面的系统,所述协议请求消息的约束知识包括第一约束知识和第二约束知识;所述第一处理单元被配置为:
23、利用大语言模型从所述协议rfc文档中的协议功能描述、消息格式、状态码和错误处理策略中获取所述协议请求消息的第一约束知识,包括协议的顺序约束、语法约束和语义约束;
24、通过动态污点分析的方式从所述网络服务目标程序中对输入访问指令的解释描述和执行过程中获取所述协议请求消息的第二约束知识,包括协议的语法约束和语义约束;
25、对所述第一约束知识和所述第二约束知识进行融合,从而构建涵盖各类协议约束信息的所述变异知识库。
26、根据本发明第二方面的系统,所述第二处理单元具体被配置为:所述网络程序模糊测试器从语料库中选取出所述种子文件,所述种子文件包含多个请求消息组成的消息序列,所述网络程序模糊测试器从所述种子文件包含的由多个请求消息组成的所述消息序列中定位出所述待变异消息的位置;其中:
27、所述消息序列包括前缀消息、中缀消息和后缀消息;
28、所述前缀消息为用于引导待测服务器达到目标状态的请求消息序列;
29、所述中缀消息为目标状态下发送给所述待测服务器的请求消息序列;
30、所述后缀消息为除所述前缀消息和所述中缀消息之外的其他消息序列;
31、在所述中缀消息中定位所述待变异消息的位置。
32、根据本发明第二方面的系统,所述第二处理单元被配置为:利用所述变异知识库来引导所述待变异消息进行变异操作;具体包括:
33、采用所述顺序约束来引导所述变异操作,令当前请求消息的类型与前一个请求消息的类型匹配;
34、采用所述语法约束来引导所述变异操作,令当前待变异请求消息符合相关语法格式;
35、采用所述语义约束来引导所述变异操作,令当前待变异请求消息中的字段值在预设范围内。
36、本发明第三方面公开了一种电子设备。电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时,实现本公开第一方面的基于多源知识引导变异的网络协议模糊测试方法。
37、本发明第四方面公开了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本公开第一方面的基于多源知识引导变异的网络协议模糊测试方法。
38、综上,本发明的技术方案带来的技术效果包括:(1)更全面地获取协议格式的约束信息;(2)自动化生成满足协议格式的测试用例;(3)节约测试成本。
39、第一点,本技术从协议rfc文档和网络服务目标程序两个维度获取协议约束信息,两种来源的知识相互补充融合,构建一个较为完整的目标协议的变异知识库。
40、第二点,本技术使用构建的变异知识库来引导消息变异过程。在顺序约束、语法约束、语义约束指导下进行变异,确保请求消息类型与前一个消息的类型相匹配,同时请求消息符合基本语法语义格式,从而保证服务器程序能够正确接收、解析并处理请求消息。
41、第三点,本技术可以节约网络协议模糊测试的测试成本。对于网络协议模糊测试来讲,如果测试用例中的请求消息不符合协议格式约束,则会在开始阶段被服务器程序拒绝并丢弃,造成模糊测试大量测试资源的浪费。而本技术通过构建目标协议的变异知识库来引导消息变异过程,生成的测试用例符合协议格式约束,可以有效地对服务器程序进行测试。
本文地址:https://www.jishuxx.com/zhuanli/20240802/237303.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。