论文部分内容阅读
目前WAF(Web Application Firewall,网站应用防火墙)设备应用得越来越广泛,它能够较好地阻止Web应用层面的攻击,并满足我国信息系统安全等级保护第三级别的要求。不过对于三级等保单位,需要对WAF设备进行安全能力评测,若人工对目标系统的WAF设备规则进行探测需要耗费大量的人力,因此本文提出了一种WAF规则自动检测的技术,设计并实现了一个WAF规则自动探测系统,可以自动探测生效的WAF规则,提升信息系统安全等级保护能力的测评效率。本文的WAF规则自动探测所用的关键技术包括响应相似度的计算、MEF算法、基于二分法的生效字符组合探测、字符检测树以及攻击载荷规则库的设计。响应相似度的计算对于两个响应要进行多维度的比较,包括是否停止响应、响应码是否相同以及响应内容的字符串相似度是多少。比较响应相似度的目的是分离WAF响应和正常响应。MEF算法中文名称为最小元素优先法,解决的问题是找出多个关键字组成的字符串的检测结果为真时,其中所有可使检测结果为真的关键字组合,基本思想是小组合数的关键字组合要优先进行检测。基于二分法的生效字符组合探测解决的问题是找出字符串检测结果为真时,字符串中唯一的使检测结果为真的字符组合。基本思想是不断二分查找字符串中最右的有效字符。字符检测树的功能是对正则表达式的通配符进行探测,能够完美辨识7种通配符。攻击载荷规则库的设计是本文的核心技术,该库设计的完整程度将直接影响WAF规则的探测结果。目前攻击载荷规则库包括SQL注入、XSS、LFI(本地文件包含)、PHP木马四种攻击类型。本文使用这些关键技术设计并实现了WAF规则自动探测与发现系统,系统根据不同功能划分为三大模块:网站过滤检测模块、攻击向量生成模块、过滤规则生成模块。网站过滤检测模块的功能是提取网站WAF响应特征供后续模块使用;攻击向量生成模块的功能是发送不同类型的攻击载荷对网站进行探测,得到不同攻击载荷的响应结果并归类;过滤规则生成模块的功能是利用攻击向量生成模块得到的恶意字符串列表,针对每个字符串进行变形探测,从而获得WAF规则正则表达式。最后使用本系统对十家网站进行了WAF规则的探测,大部分得到了比较好的探测结果。