Web应用防火墙的国内现状与发展建议 作者:王峰 张骁 许源 张宝峰

        根据中国国家信息安全漏洞库CNNVD统计,对Web网站的黑客攻击约占所有网络攻击的70%以上。Web攻击可造成用户重要数据被窃取,甚至服务器被完全控制等后果,给用户带来巨大损失。Web应用防火墙(以下简称WAF)作为专业的网站防护产品可以为用户提供重要保障。有关市场调查也显示,WAF在不断成长,但WAF的安全性也需要同步提高。
       WAF通过定制的安全策略来检测、过滤或阻断HTTP/HTTPS流量,能够防止诸如SQL注入、XSS攻击、代码执行、文件包含等传统的Web攻击,也能够检测针对心脏出血、Java反序列化、Struts2系列漏洞的攻击。WAF的产品形态包括硬件WAF、软件WAF以及云WAF等,本文讨论的主要是硬件WAF。
中国信息安全测评中心根据自身的测评经验和实践,通过分析国内外WAF产品的现状,总结认为WAF产品应具备如下基本功能:
       1. HTTP、HTTPS协议的解析和过滤,如协议不同版本的识别和解析、协议参数长度限制等。
       2. Web传统攻击防护,如XSS攻击、SQL注入、CSRF攻击、Cookie攻击、XPath注入、LDAP注入、XML注入、代码执行、文件包含等。
       3. Web应用漏洞防护,如心脏滴血(CNNVD-201404-073)、Struts2漏洞(CNNVD-201403-191、CNNVD-201603-234、CNNVD-201604-585)等。
       4. 其他防护功能,如防扫描、防爬虫、防盗链、Webshell检测等。
       5. 其他过滤功能,如黑白名单、内容过滤、文件上传限制等。
       6. 应用层DDoS攻击防护功能,如CC攻击、HTTP协议慢速攻击等。
       7. 其他管理与审计功能,如安全配置、攻击日志、报表与统计等。
       综上所述,WAF产品最显著的特点在Web协议的解析和过滤、Web攻击防护以及Web应用漏洞防护等方面。与其他类型的网络安全产品相比有着明显的不同,WAF产品更应专注针对Web应用层面攻击的细粒度检测和阻断。比如Web服务器系统漏洞和非Web应用漏洞应该通过IPS产品来防护,网络层或大规模DDOS攻击还是交给专业的抗DDOS产品来防护比较合理。
       关键技术与现状
       硬件WAF在部署方式、协议支持、攻击检测技术和产品性能指标等方面的现状描述与评价如下:
       1.部署方式
       通常情况下,WAF产品主要负责保护Web服务器,因此,WAF产品一般放在对外提供Web服务的服务器区前端。根据WAF的工作方式及工作原理不同,当前常见的WAF部署方式有四种:透明模式、路由代理模式、反向代理模式和旁路模式。对比国内的WAF产品,基本都支持其中的三到四种。
四种部署模式在实际使用中体现了各自的优缺点,具体分析如表1所示(见下页)。
 
       2. 协议支持
       在进行WAF攻击检测之前,需要对HTTP、HTTPS协议的数据报文进行解析,其解析能力将直接影响到后续的检测效果。WAF应考虑到以下协议解析能力:
■协议类型:HTTP0.9、HTTP1.0、HTTP1.1、HTTP2.0、HTTPS等;
■请求类型:GET、POST、PUT、HEAD、DELETE、TRACE、OPTIONS、
CONNECT、COPY、MOVE、LOCK、UNLOCK等;
■协议限制:最大请求头长度、请求行最大长度、请求Header头最大个数、请求Header头最大长度、请求Header行最大长度、Content-Length头最大长度、Body 最大长度等;
■参数限制:参数名称的最大长度、参数值的最大长度、参数的最大个数、参数的最大总长度等;
■编码方式:application/x-www-form-urlencoded
编码、multipart/form-data编码、Unicode编码、Base64编码等。
目前,大多数WAF都支持这些HTTP协议和参数的解析,但有些WAF对不常见的HTTP0.9协议以及部分参数不支持,则会导致检测不到特定的攻击行为。
       3. 攻击检测技术
       WAF的核心功能就是针对Web相关攻击的检测,针对近几年影响面较广、威胁较大的各类攻击,国内WAF当前的防护类型主要包括注入类等九种,如表2所示。
 

       不同厂商的WAF采取了各自的检测和防护技术,这些检测技术的主要特点如下:
       基于规则的检测技术
       基于规则的Web检测技术是WAF识别和阻止已知攻击的基础检测方法,可以抵御大多数Web攻击。每家安全厂商都有各自的规则库及策略模板,对于常见且特征明显的Web攻击来说,基于规则的检测技术在识别上较为准确。但是,随着安全威胁数量的显著增加,当前攻击特征的变化种类繁多,在应对攻击变形的情况时,漏报率也会随之增加。同时,特征库的维护难度会越来越高,特征数量会越来越庞大,对于性能也有一定影响。
       基于算法的检测技术
       由于基于单个特征匹配技术存在的不足,大多数WAF厂商为了应对千变万化的攻击形势,通过结合自身WAF的特点,对所有攻击进行研究归类,对相同类的攻击特征进行模式化,不再是单个特征的比较,从而各自开发出了应对Web攻击的独特算法。类似于模式匹配,针对像注入类攻击、拒绝服务类攻击等都有相应的识别算法。其算法模型是基于对语义的理解,实时解析流经WAF的HTTP流量,进而分析攻击的行为和特征,而不是简单的特征匹配。因此,在攻击变形的识别上,准确率有一定提高。
       基于自学习的检测技术
       国内部分WAF产品开始支持自学习模式,可以根据用户环境的真实流量、提供的Web服务和应用进行识别和学习,可以对业务相关的URL、业务访问特征、参数类型等进行动态统计学习,一旦出现不符合正常业务的异常参数或行为,将被视为潜在攻击,主动发现并进行防护。这类检测技术对Web业务应用识别能力较强,但在学习阶段需要长期大量的经验积累,否则学习准确度不高。
针对以上三种检测技术发现的攻击行为,大多数WAF产品一般会采取阻断HTTP请求、阻断TCP连接、锁定IP地址、阻断应用层会话、阻断应用层用户、执行访问控制机制、推送错误页、丢弃、重定向等多种响应动作。针对敏感信息泄露,有些WAF厂商还会采取对敏感字段进行隐藏或替换等操作。
       4.产品性能
       由于WAF需要对所有访问Web服务器的HTTP数据报文进行深度解析和内容识别,因此,WAF的性能面临着很大的压力。为了更加全面真实的反映WAF的性能情况,测试HTTP传输速率、HTTP新建连接速率以及HTTP并发连接数的统计分析如下:
       就千兆WAF而言,HTTP传输速率基本都在900Mbps以上,最高接近线速1Gbps;而HTTP新建连接速率和HTTP并发连接数各厂商存在较大的差异,两个指标的最低值和最高值相差分别达到了80%和90%。
对于万兆WAF来说,HTTP传输速率普遍不是很高,大部分都在5Gbps以下;HTTP新建连接速率和HTTP并发连接数各厂商也存在较大的差异,两个指标的最低值和最高值相差分别达到了70%和90%。
       当前WAF产品存在的问题
       通过分析国内主流WAF产品的测试结果发现,当前我国WAF产品存在以下一些不足之处。
       1. 攻击规避检测能力不足
WAF产品大部分都是基于规则库的攻击检测,对Payload规避变形后的攻击识别率较低,包括如大小写混合、插入无效字符、替换关键字、分段拼接、使用编码、使用注释、等价函数与命令、使用特殊符号、参数污染、多重组合绕过等多种规避攻击检测的方法,大多数WAF还是存在或多或少的缺陷。另外,部分WAF对数据包的分片重组能力不够,不能抵御分片攻击。
       2. 应用防护更新不及时
新的Web应用及技术不断出现,用户的业务需求也在不断改变。相比传统的关系型数据库来说,非关系型数据库(NoSQL)近年来增长飞速,已在数据库市场占有率排到了前几位。针对NoSQL的注入攻击(MongoDB注入等)则越来越多。但是,由于NoSQL注入的攻击语句与传统的SQL注入不同,因此,现有的SQL注入检测规则并不适用。测评数据显示,部分WAF厂商不能紧跟市场变化来及时调整自身产品,对NoSQL注入攻击的防护力度不够。
       3. 未重视产品自身安全性
WAF本身也是一款集成各种系统管理功能的产品,有Web、SSH、Telnet、Console等多种管理方式。部分WAF厂商只关注产品的业务功能,忽视产品自身的安全性。国测信息安全实验室的深度安全检测结果显示,部分WAF产品在实际使用中开放了多余的服务端口,以及在Web和SSH管理方式上存在多个严重安全漏洞,可导致设备自身遭受攻击。
       4. 产品性能仍有提高空间
       WAF一般都直接部署到Web服务器前端,同时作为串联在网络中的设备,其性能的高低至关重要。从之前的性能测试数据不难看出,目前WAF,特别是万兆产品的性能亟待提高。硬件架构中CPU和内存的配置,软件算法中Web攻击防护和应用过滤的优化,都是影响产品性能的关键因素。相对于开启一些基本安全策略,WAF在开启全部安全策略条件下,性能会出现不同程度的下降,个别产品的HTTP传输速率降幅甚至接近50%,安全厂商对WAF各种安全策略的配置仍有改进的空间。
       发展方向与建议
       综合现阶段我国网络安全发展及WAF产品现状,我们提出以下建议:
       1. 增强检测攻击规避能力
在深入研究和分析国内外各种针对WAF的规避和逃逸方法的基础上,在更新规则库的同时,加强算法和自学习的功能,提高Web攻击规避或变形后的识别与检测。WAF生产厂商也要提高对Web协议的解析能力和数据包分片的重组能力,以及异常HTTP/HTTPS协议的处理能力。
       2. 提高应用防护更新能力
如何保证支持不同的编程语言、框架和平台开发出的各种Web应用是WAF厂商面临的一大难点。因此,应该实时追踪Web应用的变化形势,并组织专门的研究部门跟踪新应用的攻击方法,针对新应用进行规则库或算法更新等防护措施。在实际部署时,分析用户环境中的Web应用,提供有针对性的一整套解决方案。
       3.加强产品自身安全性
WAF生产厂商应分析自身产品面临的威胁和攻击,排查已经存在的漏洞,对产品进行更新升级,并在未来的设计、开发和测试阶段多重视产品自身的安全性,通过安全开发生命周期(SDL)来规范化产品开发过程。
       4. 持续优化产品性能
由于实际的Web服务器日常访问量巨大,而WAF产品往往部署在Web服务器前端、执行多种Web安全防护策略,其性能问题不容忽视。为了避免成为Web正常访问的瓶颈,安全厂商应持续加强对WAF硬件架构以及软件算法的优化,确保产品的性能满足实际环境日益增长的需求。
       5. 关注虚拟补丁功能
虚拟补丁是WAF通过导入被保护网站的漏洞扫描报告,并根据自身已有规则自动生成的一套新规则,应用于被保护网站。在打上虚拟补丁之后,之前被扫描出的Web应用漏洞将无法重现。在面对突发事件和攻击的时候,Web应用的更新补丁往往不能适应快速响应的需求,所以,WAF在这种情况下也可以使用虚拟补丁作为一种快速的解决方案。如果一个Web应用的早期版本已不再获得支持,那么虚拟补丁也是一个很好的解决办法。
       6. 更紧密结合用户需求
很多购买WAF的用户是没有足够的技术人员来进行日常维护和支持的。不少企业只是简单把WAF配置成旁路模式(不阻断攻击),甚至也不查看日志。WAF厂商应重视服务,结合用户具体业务,针对用户Web应用做WAF安全防护策略或配置上的优化,以及给予技术上的指导,使WAF产品达到更好的检测效果。另外,可以增加与用户自身的Web漏洞扫描器、网络威胁态势感知系统等产品进行联动的功能,形成完整的安全闭环。
结束语
       WAF的出现是互联网安全和日益发展的网络技术共同作用的结果,顺应了互联网高速发展的同时对Web安全的需求。企业和政府部门应加大对WAF产品的重视程度与投入力度,更好地保障用户数据安全。WAF生产厂商也应加强检测、防护技术的研究与创新,指导用户正确使用。各方协调努力推动我国互联网健康快速发展。


2017-01-04 14:32
来源:中国信息安全杂志(2016.12)
热门推荐更多
热点新闻更多