从2008年开始,大量企业、政府的网站遭遇Web攻击,甚至有黑客通过攻击企业网站勒索钱财。众多的事例使企业逐渐认识到,由于很多攻击已经转向应用层,传统的防火墙、IPS、网页防篡改设备都无法彻底阻止此类攻击,必须要安装Web应用防火墙(以下简称WAF)来保护Web应用。
保护应用的“墙”
只要有网络的地方就会有防火墙,但传统的防火墙只是针对一些底层(网络层、传输层)的信息进行阻断,而WAF则深入到应用层,对所有应用信息进行过滤,这是二者的本质区别。
WAF的运行基础是应用层访问控制列表。整个应用层的访问控制列表所面对的对象是网站的地址、网站的参数、在整个网站互动过程中所提交的一些内容,包括HTTP协议报文内容,由于WAF对HTTP协议完全认知,通过内容分析就可知道报文是恶意攻击还是非恶意攻击。IPS只是做部分的扫描,而WAF会做完全、深层次的扫描。
梭子鱼中国区技术总监谷新说:“区别于IDS/IPS,WAF的技术特点在于,能够完全代理服务器的应用层协议(HTTP/HTTPS),包括对应用层请求的审查,以及对请求响应的代理,既能提供被动安全模式,也能提供主动安全模式进行防御。”
绿盟科技产品市场经理赵旭向记者介绍,WAF定位为网站安全防护设备,全面防范网站面临的具有较高风险的安全问题。从降低网站安全风险角度来看,WAF产品应以一个可闭环又可循环的方式去影响导致网站安全问题的各种因素(包括攻击者因素、漏洞因素、技术影响性因素),从而降低潜在的风险。
从攻击发生的时间轴来看,WAF应具备事前预防、事中防护及事后补偿的综合能力。对最为核心的事中防护能力而言,WAF作为一种专业的Web安全防护工具,基于对HTTP/HTTPS流量的双向解码和分析,可应对HTTP/HTTPS应用中的各类安全威胁,如SQL注入、XSS、跨站请求伪造攻击(CSRF)、Cookie篡改以及应用层DDoS等,能有效解决网页篡改、网页挂马、敏感信息泄露等安全问题,充分保障Web应用的高可用性和可靠性。
对于事中疏漏的攻击,可用事前的预发现和事后的弥补,形成环环相扣的动态安全防护。事前是用扫描方式主动检查网站,而事后的防篡改可以保证即使出现疏漏也让攻击的步伐止于此,不能进一步修改和损坏网站文件,对于要求高信誉和完整性的用户来说,这是尤为重要的环节。
WAF的核心技术在于对HTTP本质的理解以及Web攻击防护的能力。前者要求WAF能完整地解析HTTP,包括报文头部、参数及载荷;支持各种HTTP编码(如chunked encoding);提供严格的HTTP协议验证;提供HTML限制;支持各类字符集编码;具备HTTPResponse过滤能力。从降低安全风险的角度而言,后者要求WAF能有效影响攻击者因素中的机会、群体因子以及漏洞因素中的发现难易度、利用难易度、入侵检测与觉察度因子。
下面我们来看看WAF是如何防御Web攻击的。CSRF是一类被广泛利用的Web应用安全漏洞,该攻击通过伪造来自受信任用户的服务请求,诱使用户按照攻击者的意图访问网站信息,或者执行一些恶意的操作,比如登出网站,购买物品,改变账户信息,获取账号,或其他任何网站授权给该用户的操作等。
谷新表示,WAF利用数字加密、签名,或时间戳Cookie,来保护信息不被篡改,同时将会话Cookie与源客户端请求进行绑定,来阻止他人利用受信用户进行CSRF攻击。
赵旭介绍说,相对于使用特征集的静态防护,WAF所采用的动态防护机制更具智能性和灵活性。基本思路是通过WAF随机产生的隐含表单来打断一个不变的会话,也就是说即使攻击者获取到了用户身份,但是随机变化的验证码让攻击者无法构造一个不变的报文。
除了上述用户输入类型的攻击,还有一类影响Web应用可用性的攻击也比较典型,即应用层DDoS攻击,在国内更习惯称为CC攻击。不同于网络层带宽耗尽型的DDoS攻击,此类攻击构思更为精巧,意在以相对较小的代价耗尽Web服务器侧的系统资源,如磁盘存储、数据库连接、线程等。2009年6月18日,国际安全组织SANS报导了一种新型Apache HTTP DoS工具。运用此工具,一个带宽很小的用户都可能对一台高速服务器发起攻击。该工具对Apache 1.x和 Apache 2.x版本以及Squid都有效。攻击原理为:如果向服务器发送不完整的HTTP请求报文,会让HTTP连接一直处于开放状态。工具可在Web服务器超时时间内频繁发起这样的连接,导致连接耗尽。其构思精巧之处还在于,GET请求是不带数据的,而攻击者恶意构造了Content-Length字段、表示后续有数据,哄骗Web服务器持续等待后续数据的到达,从而占用连接。
基于规则的DoS防护或者调整Apache配置(如增加MaxClients值,只是增加攻击的难度)均很难应对这种攻击工具。而应用了多种防护技术(重定向、HTTP头部解析会话超时机制以及请求方法识别等)的WAF产品,可天然应对基于这类工具的攻击。
学习让WAF进步
面对日趋精细化和复杂化的Web攻击手法,厂商对Web攻击的持续研究实力将充分体现在WAF的防护能力上,同时对WAF提出了需要与业务结合更为紧密的要求。WAF需要了解数据流向、应用的业务逻辑、用户访问习惯等,在此基础上进行安全建模,采用一种白名单的方式,即只有符合此安全建模的输入,WAF才予以放行。另一方面,WAF与其他安全产品的有效结合也是一种很好的思路,如WAF与Web扫描工具结合,Web扫描工具的扫描结果可以形成WAF的防护规则;WAF与蜜罐结合,由蜜罐捕获到的新型恶意行为特征,同样可以转化为WAF的防护规则,从而在这类攻击广为流行之前,WAF能预先提供有效的应对措施。
云安全是现有安全架构的自然发展和有利补充。作为可能的发展方向,将WAF集成于云安全体系中,会让WAF提前对Web安全威胁进行响应,同时,开放和实时的云安全服务也将显著改善最终用户体验。
应对Web安全威胁与满足合规要求(如PCI DSS合规要求)是目前客户采购WAF的主要驱动力。与前几年相比,2009年WAF技术有两方面的变化。一方面,核心技术的加强、功能的横向扩展以及产品性能的提升,如正向安全模型(白名单)及反向安全模型(黑名单)相结合、双向内容检测、集成Web扫描功能、单一平台整合Web应用安全与交付功能,采用具备应用层高吞吐能力的平台。另一方面体现为降低管理开销,提供集中管理、面向特定应用的策略模板、自学习模型、简单易用且功能强大的报表系统(体现网站合规状态及安全状态)等。
WAF在保护云计算的安全方面也可尽一份力。赵旭认为,云计算服务架构自上而下包括SaaS(软件作为服务)、PaaS(平台作为服务)及IaaS(基础设施作为服务)。WAF可以应用于解决云计算服务架构的自身安全问题,如在SaaS层面提供应用及数据安全,保护数据中心,确保云计算服务的质量。另一方面,WAF本身也可以融于云安全平台,以灵活的产品形态(不拘泥于现今市场比较主流的硬件盒子)提供Web应用安全服务。
“为了给云计算提供安全保护,必须将WAF对应用服务器的防护扩展到云系统中的大型数据中心,允许在托管的应用间灵活地分配资源(包括网络带宽、服务请求等),并且能够根据每个托管应用程序提供完整的虚拟化服务(包括安全、日志、审计、应用交付等)。”谷新说。
Internet计算环境出现了这样的矛盾:业务资源集中化,资源端计算能力强;在网络边界访问业务资源的客户端通常带宽、计算能力都较弱,同时客户端也经常成为安全威胁的宿主。这种矛盾导致了客户端的体验差,业务资源无法充分发挥效能。未来,Web安全和Web应用交付融合的趋势日趋明显,对于机构的IT决策者来说,面临的最大挑战在于如何缓解针对Web业务的各类安全威胁,高效保障Web应用的可用性和可靠性、优化业务资源和提高应用系统敏捷性。
从技术发展来说,WAF需要确保Web业务在安全和性能两方面的收益最大化。一方面,WAF需提供增强的安全功能,应对日趋复杂且针对性强的高风险Web攻击,另一方面,WAF还需要确保Web应用的可用性、可伸缩性、高性能,降低服务响应时间、显著改善终端用户体验,优化业务资源和提高应用系统敏捷性,提高数据中心的效率和服务器的投资回报率。
此外,从产品向服务的演变也是一种趋势。下一步,WAF厂商可与MSSP(托管安全服务提供商)合作,面向用户按需提供基于网络的WAF服务或者虚拟化的WAF服务。
编看编想
WAF不能Plug and Play
由于WAF和应用的结合很紧密,因此WAF的安装并不是插上网线,接上电源这么简单。用户购买WAF后,除了上线之前要做一些简单的配置之外,还要进行更复杂的设置,例如配置与应用密切相关的高级属性策略(内容安全、CSRF防护、网页盗链等)。管理员还要根据实际应用灵活地调整具体特征规则,以实现模型或基于协议的规则不能或不方便实现的安全策略。
架设WAF可能会对网站访问产生意外的影响,应用某个不当的规则也可能影响当前应用的正常访问,因此不少管理员都在犹豫要不要使用最高安全等级的过滤策略。
WAF的审计模式可以帮助用户解决这个担忧。用户在购买WAF后,首先选择采用审计模式进行部署。在审计模式下,用户可以对网站的访问流量进行观测,WAF会将所有侦测到的异常和入侵、攻击等行为记录到日志中,但对这些流量本身不作任何限制和阻断,所有的业务流量将透明通过WAF。通过审计模式,用户可以充分了解网站的状态和行为,对针对该网站的异常行为进行分析,然后对WAF的防护策略进行合理配置。最后再将WAF中配置的服务逐一激活。
在激活模式下,WAF将根据防护策略对业务流量进行分析,对于违背策略的异常行为(入侵、攻击等)进行阻断。阻断的同时会产生日志,用户可以根据对日志的分析不断调整和完善防护策略,以减少WAF的误判、漏判或其他副作用。