【技术实现步骤摘要】
一种双端支持的协议模糊测试方法和装置
[0001]本申请涉及网络协议测试
,特别是涉及一种双端支持的协议模糊测试方法和装置。
技术介绍
[0002]网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合,它是计算机网络实现其功能的最基本机制,因此为了保障网络协议程序安全可靠的运行对协议程序进行必要的测试是非常重要的。
[0003]模糊测试是一种自动化的程序测试技术,它通过不断地随机产生测试用例(测试用例又常称为“种子”,对于协议程序,协议包就是种子),然后将这些测试用例作为输入运行目标程序并监视程序异常来挖掘程序漏洞,如图1所示。目前,有许多模糊测试工具可用于软件的缺陷检测,如American Fuzzy Lop(简称为AFL)、Defencis、Peach等。从它们产生新测试用例的方式而言,它们可以被分为两类:基于变异的和基于生成的。基于变异的模糊测试工具通过对现有种子的变异来产生新的测试输入,如AFL;相反,基于生成的模糊测试工具需要用户提供输入文件的格式说明,它们通过利用这份格式说明来生成新的种 ...
【技术保护点】
【技术特征摘要】
1.一种双端支持的协议模糊测试方法,其特征在于,所述方法包括:步骤一,基于构建的服务端与客户端之间的数据传输信道,在测试时的信息传输过程中,监听数据传输信道上的协议包序列,并通过分析协议包结构生成包含有协议包抽象路径的反馈信息;步骤二,根据所述反馈信息动态调整变异策略,生成变异操作指令;步骤三,按照所述变异操作指令,在所述数据传输信道上实施相应的变异操作来生成新的协议包序列。2.根据权利要求1所述的方法,其特征在于,步骤一中所述的构建数据传输信道是通过对网络读写操作相关的函数编写相应的钩子函数、构建数据传输接口,构造出一个可被操控的数据传输信道,或者通过在客户端和服务端之间构造一个代理建立所述数据传输信道。3.根据权利要求1所述的方法,其特征在于,步骤二中所述的变异操作指令引入的协议包变异算子包括协议包字段层面上的变异和协议包序列层面上的变异。4.根据权利要求3所述的方法,其特征在于,所述协议包字段层面上的变异包含修改字段内容、删除部分字段、增加部分字段以及重复某些字段;所述协议包序列层面上的变异包括协议包重复和协议包乱序。5.根据权利要求1或2所述的方法,其特征在于,步骤一中所述的监听数据传输信道上的协议包序列,并通过分析协议包结构生成包含有协议包抽象路径的反馈信息,具体包括:过滤协议包序列,基于监听到的协议包序列,提取其中由协议参与方所发出的、与协议系统内部状态相关的部分;对所述过滤后得到的协议包格式进行解析,得到相应的解析树;对所述解析树进行分析,提取其中的关键信息,把一个具体的现实协议包序列转化为一个协议包抽象路径,并以此抽象路径作为反馈信息。6.根据权利要求5所述的方法,其特征在于,所述提取其中的关键信息...
【专利技术属性】
技术研发人员:罗正雄,于珺泽,左飞龙,周林路,姜宇,
申请(专利权)人:北京水木羽林科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。