在从前“美好的岁月”里,蠕虫只是成为喜欢恶作剧的年轻黑客炫耀技术的工具。而今,蠕虫却充当了犯罪的角色,横行于高风险、高技术领域。网上交易的企业,总是遭到分布式拒绝服务攻击(DDOS)的威胁和侵害。实现DDOS攻击的一个必要条件是大批远程控制的“BOT”网络,通常,蠕虫病毒总是占领可信用户未受保护的机器,然后连成BOT网络。据来自赛门铁克的统计数据显示,仅在2004年的前6个月中,BOT网络的数量就上升了15倍。
随着攻击领域日新月异的发展,比如大范围蠕虫病毒(蠕虫王、冲击波、振荡波等)的爆发、Sarbanes-Oxley法案及其它法案的出台,企业在反病毒项目上都采取了高姿态。
这些反病毒项目通常都会包括终端入侵防护解决方案,其中含有各种不同的基于主机的解决方案和技术。从中选出一个解决问题的方案并非易事,不过,选出的任何一个方案都会符合以下七项指标。
1. 精确性(Accuracy)
一个好的解决方案,必须具有精确性,或者说有能力正确地识别入侵。更重要的是,不能把正当的操作混为入侵。和入侵检测系统不同(入侵检测系统中错误的判断无关紧要),入侵防护系统中每一个错误的判断都会破坏正当的商业行为。因此,如果某解决方案中可以容忍错误判断,不把它当作软件bug处理,那这就不是一个可靠的解决方案。精确性是最为重要的标准,因为在遭受真正的攻击之前,它会对正当的商业操作有持续且实时的影响。
2. 可维护性(Maintainability)
对于一个将在商业领域广泛实施的产品,可维护性显然是非常重要的指标。如果在每次安装或系统更新、升级时都要求用户劳心费神,则对此解决方案的管理无异于深夜噩梦。和基于信号的系统(供应商每天都为之创建信号)不同,基于策略的系统及自学习的系统把许多工作都留给了你。在基于策略的系统中,你可能需要微调每台机器上的策略,并且消除出现的错误判断。同时你还必须确保你所建立的策略足够严密,可以应对下一次攻击的到来。在一个自学习的系统中,你必须把所有可能的情况教给系统,确保没有漏掉关键部分。如果预防操作的代价比清除蠕虫病毒的还高,那就很不值了。
3. 可伸缩性(Scalability)
因为当今所有蠕虫病毒的攻击对象非常广泛,如服务器、台式机、笔记本,甚至嵌入式控制器都在其攻击范围之内,所以可伸缩性就显得非常重要。因而急需制订一个可以保护企业里所有设备的方案。对于Windows系统这一点尤为重要,因为大多数蠕虫都把Windows机器的核心架构程序当作攻击目标。如果某个方案在每个终端都需要用户持续干预,则该方案不具备伸缩性。
4. 覆盖性(Coverage)
覆盖性指解决方案可以抵御的攻击范围。必须了解方案可以对抗哪些类型的攻击,确保受保护单位中所有层级的固件都在保护之列。因为谁也不可能预见未来的攻击,那么就着眼于你现在的安全系统不能有效抵御的入侵,如果部署了这个新的方案会起到什么样的作用?
入侵总是利用漏洞、CVE或微软的安全公告中有完整的漏洞列表。因为攻击总是利用现有的漏洞,不能覆盖大多数重要漏洞的方案就不是好的解决方案。
5. 主动性(Proactivity)
主动性是指用最少的精确信息阻止攻击的能力,这对于零日攻击尤为重要。面对像蠕虫王(Slammer)这样繁殖迅速(只需要10分钟,蠕虫王的感染率就能够在世界范围内从0%达到90%)的病毒,需要信息更新才能阻止攻击的方案显得手足无措。近两年来,漏洞发布和攻击开始之间的时间间隔越来越短,所以最好的解决方案是不需要了解漏洞就可以进行狙击。
6. 抗围攻性(Uncircumventability)
如果攻击者足智多谋且刚强坚韧,则抗围攻性就是解决方案必须满足的一个指标。为了测试某个方案是不是能够彻底对抗零日攻击,你需要制造一个新的攻击,这并不现实。所以可以学学黑客,他们总是从网上学习。为达到测试的目的,可以使用网上的入侵工具,也可以请几个竞争性的公司互相攻击。可别扮演“皇帝的新装”中的主角自欺欺人,绝对不要采用可以被轻易围攻的方案,一定要确保你处于很好的保护之中。
7. 遏制性(Containment)
遏制性用来描述在被解决方案发现并采取措施前,攻击实施的成功程度。在攻击载入系统前,或来自恶意载荷的入侵程序执行前,就能阻止攻击的解决方案具有最好的遏制性。