很多用户认为,在网络中不断部署防火墙、入侵检测系统(IDS)、人侵防御系统(IPS)等设备,可以提高网络的安全性。但是为何基于应用的攻击事件仍然不断发生?其根本的原因在于传统的网络安全设备对于应用层的攻击防范,作用十分有限。目前大多防火墙都是工作在网络层,通过对网络层的数据过滤(基于TCP/IP报文头部的ACL)实现访问控制的功能;通过状态防火墙保证内部网络不会被外部网络非法接人。所有的处理都是在网络层,而应用层攻击的特征在网络层次上是无法检测出来的。IDS、IPS通过使用深包检测的技术检查网络数据中的应用层流量,与攻击特征库进行匹配,从而识别出已知的网络攻击,达到对应用层攻击的防护。但是对于未知攻击和将来才会出现的攻击,以及通过灵活编码和报文分割来实现的应用层攻击,DS和IPS不能有效防护。
堆栈中的恶意指令。缓冲区溢出一攻击者利用超出缓冲区大小的请求和构造的二进制代码让服务器执行谥出Cookie假冒一精心修改Cookie数据进行用户假冒。认证逃避一攻击者利用不安全的证书和身份管理。
对于和后台数据库产生交互的网页,如果没有对用户输人数据的合法性进行全面的判断,就会使应用程序存在安全隐患。用户可以在提交正常数据的URL或者表单输人框中提交-段精心构造的数据库查询代码,使后台应用执行攻击者的SQL代码,攻击者根据程序返回的结果,获得某些他想知道的敏感数据,如管理员密码,保密商业资料等。
由于网页可以包含由服务器生成的、并且由客户机浏览器解释的文本和HTML标记。如果不可信的内容被引人到动态页面中,则无论是网站还是客户机都没有足够的信息识别这种情况并采取保护措施。攻击者如果知道某一网站上的应用程序接收跨站点脚本的提交,他就可以在网上上提交能够完成攻击的脚本,如JavaScript.VBScript、ActiveX、HTML或Flash等内容,普通用户一旦点击了网页上这些攻击者提交的脚本,那么就会在用户客户机上执行,完成从截获账户、更改用户设置、窃取和篡改Cookie到虚假广告在内的种种攻击行为。
随着攻击网站制作应用层发展,传统网络安全设备不能有效解决目前的安全威胁,网络中的应用部署面临的安全问题必须通过一一种全新设计的安全防火墙-一应用防火墙来解决。应用防火墙通过执行应用会话内部的请求来处理应用层。应用防火墙专门保护Web应用通信流和所有相关的应用资源免受利用Web协议发动的攻击。应用防火墙可以阻止将应用行为用于恶意目的的浏览器和HTTP攻击。这些攻击包括利用特殊字符或通配符修改数据的数据攻击,设法得到命令串或逻辑语句的逻辑内容攻击,以及以账户、文件或主机为主要目标的目标攻击。