疏与堵的博弈
近几年来,蠕虫病毒是Internet上最大的安全问题,某些蠕虫病毒除了具有传统的特征之外,还嵌入了DDoS攻击代码,加之Botnet的出现,黑客可以掌握大量的傀儡主机发动DDoS攻击,从而导致其流量巨大。在2004年唐山黑客针对北京某知名音乐网站发动的DoS攻击中,其攻击流量竟然高达700M,对整个业务系统造成了极大的损失。
目前绝大部分的抗拒绝服务攻击系统虽然都号称是硬件产品,但实际上都是架构在X86平台的服务器或是工控机之上,其关键部件都是采用Intel或AMD的通用CPU,运行在经过裁剪的操作系统(通常是Linux或BSD)上,所有数据包解析和防护工作都由软件完成。由于CPU处理能力以及PCI总线速度的制约,这类产品的处理能力受到了很大的限制,通常这类抗拒绝服务攻击产品的处理能力最高不会超过80万pps。
然而,面对DDoS攻击,传统X86架构下的DDoS防护设备在性能及稳定性上都很难满足防护要求,更何况在传统抗DDoS攻击方案中,基本上都采用了串联部署(即:接在防火墙、路由器或交换机与被保护网络之间)的模式,这种模式存在较多的缺陷:一方面增加了网络中的单点故障,同时可能造成性能方面的瓶颈,尤其在攻击流量和背景流量同时存在的情况下,可能导致设备负载过高,从而影响正常业务的运行;另一方面,以往的DDoS防护设备和防火墙系统都有着千丝万缕的联系,所以其防护功能主要在协议栈的三层/四层实现,这类设备针对目前承载在应用层协议之上的DDoS攻击防护乏力。
正是因为如此,我们应该从架构上对整个抗拒绝服务攻击设备进行重新设计,以达到从性能、功能以及稳定性上满足目前DDoS防护的进一步需要。
抗海量拒绝服务攻击,可谓疏与堵的一场博弈。