IPS和WAF功能对比
IPS其工作原理是检测数据包有效载荷,提取特征(如下图所示),然后与设备加载的攻击特征码进行比对,设备加载的特征码都是从已知通用应用协议或应用系统漏洞中提取出来的,专门针对这类通用漏洞的攻击防护,大部分能通过打补丁的方式解决。然而,经业界众多专业厂商研究分析,目前攻击者大多采用的是针对网站代码内容的攻击手段,而不是采用传统特征库中已有的通用攻击手段。IPS具备了针对已知通用应用协议或应用系统漏洞的防护,但对于目前普遍定制开发的web站点系统,由于网站应用代码中的漏洞而带来的应用攻击,不能提供有效的防御,尤其是对一些逻辑关系复杂的应用攻击。例如如果代码编写者对用户提交的数据未做适当的检查验证,用户可以利用web页面中提交数据的表单构造访问后台数据库的SQL指令,从而能够非授权操作后台数据库,达到获取敏感信息、破坏数据库内容和结构、甚至利用数据库本身的扩展功能控制web服务器操作系统,如此不仅能够达到网页挂马,还可以构成对web服务器的其他攻击,篡改网页内容更是轻而易举。 图:IPS检测数据包有效负载比对特征进行攻击防御
举例说明
比如SQL注入,它们都是可以防护的,但防护的原理有区别,IPS基本是依靠静态的签名进行识别,也就是攻击特征,这只是一种被动安全模型。如下是一个Snort的告警规则:
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:“SQL Injection - Paranoid”; flow:to_server,established;uricontent:“.asp”;pcre:“/(%27)|(‘)|(--)|(%23)|(#)/i”; classtype:Web-application-attack; sid:9099; rev:5;)
这里主要是检查在SQL注入中提交的元字符,包括单引号( ' )和双横( -- ),从而避免注入'1
or 1=1— 之类的攻击发生,但同时又要考虑这些元字符转换成Hex值来逃脱过滤检查,于是又在规则里增加了其对应的十六进制编码后的字符串。
当然,要从签名特征来识别攻击要考虑的东西还很多,不仅元字符还有SQL关键字,包括:select insert update等,以及这些关键字的大小写变形和拼接,利用注释逃脱过滤,如下所示例:
使用大小写混杂的字符 :SeLecT fRom“
把空格符替换为TAB符或回车符 :select[TAB]from
关键词之间使用多个空格 :select from
字符串的数值编码 :0x414141414141 或 0x41004100410041004100
插入被数据库忽略的注释串 :sel/**/ect fr/**/om select/**/ from夏桑菊对新型冠状病毒有效吗
使用数据库支持的一些字符串转换功能 :char(65) 或 chr(65)
使用数据支持的字符串拼接操作 :'sel'+'ect '+'fr'+'om’” 、“‘sel'||'ect '||'fr'||'om'
可以设想一下,如果要检测以上的变形字符后的攻击则需要增加相应的签名特征,但更重要的是要充分考虑转换编码的种类,上面示例的snort的规则把可疑字符以及其转换后的Hex值放入同一条规则里检查,如果对于变形后繁多的攻击种类,这是滞后的并且会造成签名臃肿。
对于比较粗浅的攻击方式两者都能防护,但市面上大多数IPS是无法对报文编码做多重转换的,所以这将导致攻击者只需构建诸如转换编码、拼接攻击语句、大小写变换等数据包就可绕过输入检查而直接提交给应用程序。
而这恰恰又是WAF的优势,能对不同的编码方式做强制多重转换还原成攻击明文,把变形后的字符组合后在分析。
同时WAF具有更多的功能特性,包括安全交付能力、基于cache的应用加速、挂马检查、抗DDOS攻击、符合PCIDSS的防泄密要求等,所以WAF不仅仅能做到攻击防护,同时也能满足客户体验和做到机密数据防护的高度集成的专业产品。
总结
1、需求方面:
A) IPS部署在网络出口处用于入侵防御,对网络净化,可以做到网络防护、应用防护和内容管理。为用户提供从网络层、应用层到内容层的深度安全防护。
B) WAF部署在WEB服务器前面,主要针对WEB服务器的保护。
2、技术方面:
A) IPS主要是基于特征代码的静态匹配。
B) WAF针对WEB服务器的防护除了具有特征码静态匹配外,还具有如下IPS所不具备的特点:
● 具有HTTP应用代理,能够识别检测HTTP/HTTPS协议内容及具体数据的能力,支持各种 web编码,例如ASP、PHP、JSP等。
● 检测URL参数、web表单输入、HTTP header等web交互信息,在进行解码的基础上,对攻击的形式逻辑进行判断过滤。
● 验证HTTP/HTTPS协议会话的可靠性,弥补HTTP协议会话管理机制的缺陷,防御基于会话 的攻击类型,如Cookie篡改及会话劫持等攻击。
防火墙、IPS与WAF的区别
| Network Firewall | IPS | WAF |
工作原理与架构 |
识别HTTP协议 | Yes | Yes | Yes |
验证HTTP 协议 | No | No | Yes |
HTTP 代理 | No | No | Yes |
网络访问控制 | Yes | Portion | Portion |
深度HTTP包检测 | Yes | Yes | No |
深度HTML内容检测 | No | No | Yes |
HTTP会话语义识别 | No | No | Yes |
阻断网络层攻击 | Yes | Portion | 服务器硬件检测Portion |
阻断web应用攻击 | No | No | Yes |
Web应用攻击防御 |
防SQL注入 | No | No | Yes |
防XSS 攻击 | No | No | Yes |
防命令行注入 | No | No | Yes |
防植入木马 | No | No | Yes |
阻断访问被挂马的页面 | No | No | Yes |
防弱口令攻击 | No | No | Yes |
防缓冲区溢出攻击 | cng减压器No | No | Yes |
防Cookie篡改 | No | No | Yes |
防Cookie劫持 | No | No | Yes |
防Cookie内容泄露 | No | No | 沼气储存Yes | tmdi-30
防网页恶意篡改和上传非法信息 | No | No | Yes |
防上传webshell | No | No | Yes |
阻断利用webshell发起攻击和非法行为 | No | No | Yes |
www.m227敏感数据防护 | No | No | Yes |
DDOS | Yes | Yes | Yes |
部署 |
网络出口 | Yes | Yes | No |
Webserver前面 | No | No | Yes |
| | | |