如何应对WEB攻击的防护盲点(1) |
发布时间: 2012/9/15 19:32:56 |
WEB攻击的数量逐年上升,占了大部分攻击事件比例。WEB安全已经推到了前沿浪尖,无论是政府还是企业都迫切解决这个棘手的问题,Gartner统计:目前75%攻击转移到应用层。原有的传统防御设备已经不能满足企业对网络攻击的防御。WEB应用技术在积极发展的同时需要强有力的安全保障,所以WAF是应形势需求诞生的产品,它走上应用安全的舞台,是一个必然的趋势。 Web漏洞归类 众所周知,WEB服务系统实际不是一个单一的软件,它由OS+Database+WEB服务软件(比如:IIS、Apache)+脚本程序(比如:Jscript、PHP代码文件)构成,所以要考虑它最基本的依赖,那就是OS和Database、WEB服务软件自身的安全,这个可以通过安全加固服务来实现,而最核心的应用程序代码是不能用同样的手段来解决,这也是WEB安全问题的主要来源。 WEB 应用安全漏洞与操作系统或者网络设备的漏洞是不同的,这是因为编写代码者是不同的,产生的代码也是不同的,所以国外有成立正门的WEB安全组织来归类一些漏洞,让开发人员、安全厂家、第三方专家等能用一种一致的语言来讨论WEB安全问题。比较有名的是OWASP的TOP10漏洞,还有Web Application Security Consortium (WASC)归类的Thread Classification,如下表: 从安全角度看,WEB从设计到开发必须遵循: 1.安全设计 2.安全编码 3.安全测试(代码审计和扫描、渗透) 4.安全运维 其中最根本的在于安全设计和安全编码,也就是上线前必须保证WEB产品的自身强壮性。目前大部分的WEB应用程序是用户自己或请人编写,其他的或网站里部分组件,比如论坛、邮件系统、留言板等会用到商业版,代码是不相同的,而且程序员的水平参差不齐,更重要的是他们都遵循了软件的安全开发标准吗? 记住,这是我们为什么需要WAF的第一个理由! 攻击从未停止 让我们先看下图,是攻击网站的基本步骤和方法。 如上所示,互联网每天都充斥着数千万的攻击流量,而WAF可以自动识别和屏蔽大部分主流的攻击工具特征,使得它们在攻击的前奏就失效,绿盟科技WAF采用的是透明代理模式,使得客户端和服务器的双向流量都必须经过WAF清洗,而又无需另外配置,保持原有的网络结构,每个报文需要接受WAF对其的“搜身检查”,合格之后再进行转发。 可能有人会说Firewall和IPS不是这样的设备吗?它们为什么不能防御呢?详细的对比参数我就不列举了,大家知道OSI 7层模型,防火墙通常工作在OSI的第三层,也就是针对网络层,包括包过滤型和状态包检测型防火墙,即使是应用层防火墙也无法阻挡大多数WEB攻击行为,这是它自身技术定位决定的局限性。攻击者只需在浏览器上操纵URL就可攻击目标网站。当然,作为互补型的IDS(入侵检测系统)、IPS(入侵防护系统)产品是能防护应用层的攻击行为,但是市面上绝大多数的产品都只能防护一部分WEB攻击,甚至有些产品也是直接在IDS类产品上做修改而形成的WAF,基本只依靠规则来实现,严重滞后于繁杂多样的WEB攻击手段。当然,我在这里要重申一下,WAF可以和传统的FS+IPS作为一个有益的补充,但绝不是去代替他们。 所以,WAF的自身代理架构使得分析和阻挡攻击具有天然的优势,这是我们为什么需要WAF的第二个理由! WAF的防护原理 好,我们再回到防护盲点的产生这个焦点话题,那就是无论如何安全设计和编码,或者经过最严谨代码审计、渗透测试之后都难免会有漏洞,因为理论上1000行代码就有1个Bug,检查只能让这些减少而已,无法真正做到没有安全漏洞的产品,这也就是为什么软件厂商会不断地推出一个个补丁来弥补,而这些Bug只要能被攻击者发现和利用那么就会带来威胁。 也就是说代码缺陷是先天存在的,即使后来修复也会具有一定的滞后性,而且不能保证100%地发现所有存在的漏洞那个缺陷。为了给大家更好地理解WAF防护的天然优势我们从两个例子来进行分析,从技术实现角度看WAF,SQL注入采用了规则集静态防护,CSRF采用了算法的动态防护。 本文出自:亿恩科技【www.enkj.com】 |