Web应用防火墙WAF技术的综述
来源:用户上传
作者:
摘 要: Web应用的广泛扩展,使得传统的网络防护技术已经不能有效地应对来自应用层的各种攻击。随着服务提供商对Web应用的安全需求不断提升,Web应用防火墙(WAF)作为应用层防护工具开始备受关注。为了研究Web应用防火墙技术的发展现状,通过阅读大量文献,對Web应用防火墙技术进行总结和分析,提出了Web应用防火墙的发展新趋势。
关键词: WAF; 应用层防护; Web应用防火墙; 防火墙; WAF部署
中图分类号:TP393 文献标识码:A 文章编号:1006-8228(2020)03-13-03
Research on technologies of Web application firewall
Ma Yue, Hou Xuecheng, Wu Jiashuai, Xi Qisen, Xu Yingying
(Wenzhou University, College of Computer Science and Artificial Intelligence, Wenzhou, Zhejiang 325035, China)
Abstract: With the extensive development of Web applications, traditional protection technologies can no longer cope with the various attacks from application layer. With the increasing requirements of service providers for security of Web application, Web application firewall (WAF), as an application layer protection tool, has attracted more and more attention. In order to study the development of Web application firewall technology, this paper summarizes and analyzes the Web application firewall technology by reading a large number of literatures, and then puts forward the new development trend of Web application firewall.
Key words: application layer protection; Web application firewall; firewall; WAF deployment
0 引言
据统计表明,近75%的网络攻击发生在应用层[1]。传统的防火墙一般是通过分组过滤的形式来实现,但是这种传统的方法只能控制和过滤对一些端口或IP地址的非授权访问。当恶意攻击者针对Web服务发动应用层攻击时,如注入、失效的身份认证、敏感数据泄露、XML外部实体、失效的访问控制、安全配置错误、跨站脚本、不安全的反序列化等[2],传统分组过滤防火墙无法检测到异常流量与提供Web应用系统防护。Web应用防火墙(Web Application Firewall,以下简称WAF)可以检测HTTP协议的请求,解析HTTP请求中的响应元素,对存在威胁的请求进行拦截,从而实现对Web应用实现应用层的安全防护工作[3]。
WAF可以是硬件产品或软件产品,一般架设在Web应用服务器的前端。它通过截获或者复制得到来自客户端的HTTP请求,将得到的请求进行解析来得到特定的解析实体,然后放入规则库来检测请求的安全性与合法性,通过建立一个可靠的请求准入机制实现对各类网站站点的有效防护。同时,WAF的数据中心将依据新增加的应用程序或新的软件模块进行相应的更新、变化[4]。
1 WAF的分类
根据WAF系统的实现方式,WAF可以分为三类:硬件WAF、软件WAF和云WAF。
硬件WAF一般由硬件完成防护工作,通常以串行方式部署在Web服务器的前端,截获对Web服务器的请求进行检测,如华为的WAF5000 Web应用防火墙。硬件WAF部署相对简单,仅需要简单的网络配置即可,并且可以承受较大的数据访问量。由于在物理层面部署在Web服务器之前,被绕过的可能性较低,能有效保护后端服务器的安全。
软件WAF一般安装在需要防护的服务器上,以WAF监听端口的方式进行请求检测和阻断,如国内的ShareWAF。软件WAF管理方便,提供可视化的友好的管理界面,但由于只能单台服务器部署,一般适合中小型网站使用。
云WAF,也称WAF的云模式。云WAF一般基于云计算技术实现,在这种模式下用户可以直接使用服务商提供的相应Web防护服务,如华讯网络云WAF。云WAF利用DNS技术,通过移交域名解析权将HTTP请求移交到云端进行检测,确认其合法性后再转发到真实服务器。由于采用移交DNS解析权的工作方式,使得其存在被轻易绕过的风险,可靠性较低[5]。
2 WAF的工作原理
2.1 工作流程
WAF的工作流程可分为三个阶段,如图1所示。
前期是WAF工作搭建的基础,系统将根据匹配规则、工作环境和工作方式的设定为相关Web服务提供特定保护。匹配规则包括配置URL黑白名单、配置IP黑白名单、配置策略文件、设置正则表达式等。工作环境配置包括设置WAF要保护的Web站点、配置负载均衡策略、搭建部署平台环境等。工作方式配置包括设置WAF的部署模式,以及配置请求与响应行为。 在中期,WAF工作需要经过用户协议获取、用户操作获取、数据清洗、规则匹配与二次检验等五个环节[6],实现对客户端用户操作的获取、HTTP/HTTPS请求的解析与错误处理的解析,对无用数据进行清洗,并进行二次检验。通过规则匹配与行为分析,系统将进行拦截、重定向等响应。
在后期,WAF系统将对日志统计整合,并存檔以便于数据分析与执行基于数据的相关行为。
2.2 部署模式
WAF不同部署方式,对应不同的工作原理与工作方式。
⑴ 透明代理模式:也称为网桥代理模式,WAF在后台起到类似网桥的作用,因为在客户端眼中是直接访问Web服务器的,WAF对于用户而言是透明的[7],如图2所示。WAF在其中起了代理客户请求的作用,拦截并检测来自客户端的请求。
⑵ 反向代理模式:如图3所示,WAF起到反向代理服务器的作用。在客户端眼中,WAF的地址就是真实服务器的地址,实际上客户端的请求是直接发送给WAF服务器的,而不能直接访问到真实的Web服务器。当WAF检测请求合法后,才会将请求转发到真实服务器上并返回来自服务器的响应。
⑶ 路由代理模式:如图4所示,路由代理模式和透明代理模式类似,但透明代理模式是基于网桥模式转发请求,而路由代理模式则是基于路由器转发客户端请求。
⑷ 端口镜像模式:如图5所示,WAF通过交换机镜像一份来自客户端的请求。在这种部署模式下,因为WAF没有直接截取HTTP请求,所以不能对客户端请求进行拦截,一般用于对客户端请求的流量监控及分析工作[8]。
3 传统WAF的不足
WAF通过检测访问服务器的数据流量来实现防护工作。由此,当恶意攻击者的访问请求主动绕开WAF(Bypass),直接攻击Web服务器时,WAF的防护功能就失效了。以下介绍几种常见的WAF绕过策略。
⑴ 从架构层Bypass WAF:主要是针对云WAF而言,攻击者访问时,获取真实的服务器的IP地址,使访问请求不经过云WAF,而直达应用,实现绕过。
⑵ 从资源角度:HTTP请求POST BODY数据较多,检测所有的内容将导致WAF消耗太多资源。因此许多WAF只检测数据的部分内容。攻击者通过把攻击内容放在POST BODY尾部的方式,来绕过部分WAF的检测。
⑶ 从协议层面:WAF只检测HTTP协议相关的请求。通过构造非HTTP协议或者利用HTTP协议解析中的不一致进行攻击。HTTP协议解析不一致是指:某些攻击数据包被WAF认为并非HTTP协议内容,不对其进行检测,而后端应用对协议存在一定的容错性,导致攻击数据包仍被认为是HTTP协议内容,在应用端被解析后造成攻击。
⑷ 从规则缺陷:攻击者构造WAF检测规则库未配置检测规则的请求,规避WAF的检测[3]。
4 传统WAF的演变
4.1 WAF1.0
第一代WAF有两个主要内容:HTTP属性(方法、地址、参数)和分析前的数据转换。通过采用了基于签名的方法,防止服务器攻击,如RCE、路径遍历和SQL注入等攻击。
4.2 WAF 2.0
技术栈和关键Web应用程序数量的爆炸式增长推动了WAF 的发展。Web应用程序的庞大数量和其复杂性令传统的基于签名的方法发生误报检测的数量过多。因此,第二代WAF采用了建立一个动态模型的办法,即“自学习模型”的检测手段,出现了保护用户免受攻击(XSS和CSRF)的方法。但由于监督机器学习优化签名需要广泛的人工干预,这一过程需耗费大量的时间,降低了用户的Web体验。
4.3 WAF3.0
为了逃避特征分析,黑客将注意力转移到“零日漏洞”上。防护者被迫建立一个正常应用程序功能模型,以便在保持低误报的同时检测异常情况。由于没有“干净”的流量作为自学习模型的样本,完全自动化的方法也出现了短板。后在“隐含马尔可夫模型”来建立用户行为模型的帮助下,第三代WAF可以使用这种合法请求中混杂着恶意请求的混合流量进行学习,避免“零日漏洞攻击”,防止绕过攻击。
4.4 WAF4.0
第四代WAF采用了基于算法的检测新技术,根据攻击手法进行分析,运用应对该攻击手法的新算法,实时地分析网络数据。WAF内部的“轻型虚拟机”可模拟攻击,分析攻击特征,从而预测和防御相关Web攻击。以此来弥补基于自学习模型检测手段的资源耗用问题和基于创新的安全模型的变种检测准确率不高的问题。
5 WAF新趋势
WAF可利用虚拟化技术来做私人数据网络与互联网的分割,为私人网络搭建一座防护屏障以保护其网络、端点设备与网络内用户的安全,来避免相关Web攻击。
Socialbot是一种控制社交媒体帐户的机器人,是自动化软件,可在网络社交中模仿人类的行为。它通过欺骗真实用户来传播,往往攻击一个社交圈就可同时影响多个不同受众群体。对此,部分WAF有考虑检测与阻止Socialbo来实现社交网络僵尸用户检测。
SEO(Search Engine Optimization),即搜索引擎优化,它容易带来错误的入口页或是恶意反向链接,诱导用户点击进入恶意网站。为此,WAF还允许配置合适的URL过滤及应用保护以减小用户不经意点击此等恶意网站的几率,来抵制利用搜索引擎结果包装恶意攻击连接隐藏不法意图的攻击[9]。
6 结束语
本文围绕WAF这一主题,介绍了主要实现方式、传统WAF的不足和发展趋势,旨在便于开展后续相关WAF研究和设计工作。随着科技的不断革新,网络攻击者的手段也日益高明,WAF防护技术将不断迎接挑战。新生代的WAF还可以结合其所防护的Web的功能,从使用者或运营者的逻辑特征下手,提供灵活多变、适用于更多复杂环境的防护。
参考文献(References):
[1] 冯芳梅.基于ColdFusion的Web应用防火墙引擎[D].电子科技大学,2012.
[2] OWASP Top 10 2017中文版V1.3[EB/OL]http://www.owasp.org.cn/owasp-project/OWASPTop102017v1.3.pdf.
[3] 马一腾,成辰,金海旻等.浅谈WAF技术在商业银行安全领域的应用及前景[J].中国金融电脑,2017.8:60-65
[4] 魏涛.Web应用防火墙的应用与研究[J].现代商贸工业,2012.24:213-214
[5] 何军.基于云计算的Web防御系统研究[J].网络安全技术与应用,2017.3:81-82
[6] 王亚丽.Web应用防火墙绕过技术[J].电子技术与软件工程,2017.18:209
[7] 刘志光.Web应用防火墙技术分析[J].情报探索,2014.3:103-105
[8] 薛鹏飞.Web应用防火墙(WAF)在高校中的应用与管理[J].电脑迷,2018.97(6):182
[9] 吕明.浅谈WAF市场中常见的检测技术[J].信息安全与通信保密,2012.5:48-48
转载注明来源:https://www.xzbu.com/8/view-15151181.htm