主权项 |
基于协议逆向解析的自动化漏洞挖掘系统,其特征在于包括协议逆向解析模块和模糊测试模块,其中协议逆向解析模块包括报文预处理、报文分类、报文格式提取模块;模糊测试模块包括进程监控、网络监控、输入控制和会话控制模块;采用C/S架构,客户端包括协议逆向解析模块、输入控制模块和会话控制模块,服务器端包括进程监控模块和网络监控模块;整个过程除了输入控制模块以外都是自动化完成,不用人工参与,其中:报文预处理模块:自动从目标测试对象的通信数据流中抓取网络通信数据包,通过数据包过滤、分片重组、提取有效载荷数据的操作,从数据包中分离出应用层数据作为报文序列集;报文分类模块:将报文预处理模块得到的报文序列集,按照匹配规则,特别引入了先验知识,即关键字词典技术,将格式相似的报文序列划分到同一个报文分组;报文格式提取模块:对每个报文分组,利用多序列比对技术对报文进行比对,对齐报文,分析报文的变化率,识别出可变域、不可变域;二进制域、文本域以及分隔符域等报文关键信息域,然后形式化描述这些报文信息,甚至包括未知协议的格式,这样就大大扩展了可测试网络协议的范围;输入控制模块:用脚本文件对所述第三步中的识别的报文域进行处理,对于不可变域和分隔符域用静态字符串表示,对可变域进行变异,形成模糊测试的测试用例基;会话控制模块:根据输入控制脚本,生成测试用例,然后连接目标测试对象,将这些模糊请求序列以软件可接受的正常的输入来和测试对象交互,同时与进程监控模块和网络监控模块交互,确定目标测试对象的状态,记录网络通信数据包;进程监控模块:监控目标测试对象的进程是否出现异常,如果某个测试用例引发目标测试对象的进程异常,将截获目标测试对象的进程发送给操作系统的信息,并将该信息传回所述会话控制模块,同时保存该信息,报告一个潜在的安全漏洞;进程监控模块还负责重启目标测试对象的进程,继续后续的模糊测试;网络监控模块:捕获会话控制模块与目标测试对象进程之间的测试用例数据包,保存在指定文件中,并以测试用例编号命名。 |