论文部分内容阅读
安全防御软件与安全检测设备是抵御网络攻击最为快捷和有效的方式。随着Web应用的日益增加,由于各类安全防御软件可能存在缺陷与不足,攻击者可以利用该缺陷绕过安全防御设备的检测。因此,提前发现各类安全防御软件与安全检测设备的缺陷与不足并及时修补,在网络飞速发展的今天显得尤为必要。 本论文在分析逃逸技术的基本原理和总结Web层出现的各种逃逸技术的基础上,结合当前漏洞挖掘的方法—Fuzzing技术,设计了一套基于插件的高级逃逸技术挖掘框架。该框架首先采用插件的形式完成负载的“修饰”,改变了以往漏洞挖掘的单一模式,提高了 Fuzzing的灵活性;其次使用增量组合算法完成负载的合理组合叠加,提高了测试样例的空间复杂度;第三,采用代理中转的形式,实现自动信息采集,更大程度提高了请求数据的真实性;第四,采用莱文斯坦算法,提高了实时测试响应处理的效率;第五,设计开发了基于B/S架构的高级逃逸技术挖掘系统。 基于插件的高级逃逸技术挖掘系统由自动化信息采集模块、插件定义与管理模块、负载生成模块、Fuzzing模块和测试结果校验模块五个部分组成。自动化信息采集完成探测目标上安全防御软件与系统特征的采集,采集结果作为校验模块的参考对象;插件定义与管理模块完成插件格式的定义与接口的定义,其中插件可灵活增加。负载生成模块调用插件“修饰”采集模块采集的请求信息,“修饰”过程引入增量组合法,确保测试样例的空间复杂度。Fuzzing模块引入模糊测试的思想,完成探测目标的漏洞探测。五个模块协同工作构成完整的测试框架。最后,系统采用Django的Web框架完成界面设计,测试过程变得轻松易操作。 经测试可知,本系统能更快、更准确的定位到安全防御软件与检测设备存在的缺陷, Fuzzing和莱文斯坦算法的采用大大提高了探测结果校验的准确率,而其灵活且可自定义的插件模式大大提高了逃逸技术挖掘与探测的效率,且测试结果有效可靠。