|
Netscreen VS. checkpoint 杂谈(4) 我们知道,随着网络技术的不断发展,网络攻击行为已经逐步向高层转移,利用操作系统和网络设备本身安全问题入侵和攻击的浪潮已经逐步降低,人们越来越将攻击的目标转向高层的应用,相信这以后会是网络安全攻防的趋势。关于这方面的内容,各位可以参考OWASPWebApplicationSecurityTopTen这篇文档(http://www.owasp.org/ 需要使用代理) 本人对这一技术非常感兴趣,仔细的研究了一下checkpoint公布的相关文档,关于Application Integlligence的功能,主要有以下四点: 1:确认网络通讯符合相关的协议标准,比如:不允许http头出现二进制数据内容。 2:确认网络通讯没有滥用相关的协议标准,比如:不允许P2P通讯利用80口穿过防火墙。 3:限制应用程序携带恶意数据,比如:控制跨站脚本 4:控制对应用程序的操作,比如上面我们举的snmp例子。 仔细的分析上面的内容,个人理解对checkpoint而言,其实Application Integlligence也不能算是非常新的技术,可能只是在SPI基础上的升级和进一步扩充。 此外关于checkpoint需要注意一点的是,checkpoint数据包处理引擎INSPECT对高层的数据包核查并不象想象的那样支持非常多的应用,而是将主要精力放在了常用的http,ftp,mail等一些比较普遍的应用上,也即,不是所有的高层的所有数据包都会被INSPECT审核,使用者不要迷信checkpoint宣称的INSPECT技术,我们可以看下面的例子: 这里是checkpoint在sql slammer蠕虫蔓延时的一个扩展的INSPECT CODE, deffunc sql_worm_slammer() { ( dport = 1434, packetlen >= (20 +8 +1 +96 +4), [UDPDATA:1] = 0x04, [UDPDATA+97:4,b] = 0xDCC9B042, LOG(long, LOG_NOALERT, 0) or 1, drop ) or accept; }; 本人没有找到关于checkpoint INSPECT CODE的说明文档,但是观察上面的内容,我们可以猜出来一些东西。至少从这个CODE内容看,这是个基于签名的代码,我们可以看到比较关键部门可能包括两点:dport = 1434,端口1434,packetlen >= (20 +8 +1 +96 +4),数据包长度?20是ip头,8是udp长度,1,96,4是什么? 本人没使劲猜(我猜得到开始,猜不到结局…… ;)) 从上面的内容来看,其实checkpoint防火墙本身在处理sql slammer蠕虫时,并不象想象的那样真正的懂得sql的应用的,它可能只是执行了简单的匹配而已(本来想多看几个INSPECT CODE的,可惜要口令,幸亏原来下了一个sql slammer的)。
|