网络中分布式拒绝服务攻击的防范
2009-09-29徐亮
徐 亮
[摘要]DDos(Distributed Denial of Service)即分布式拒绝服务攻击,攻击者在Client(客户端)操纵攻击过程。每个Handler(主控端)是一台已被入侵并运行了特定程序的系统主机。每个主控端主机能够控制多个Agent(代理端)。每个代理端也是台已被入侵并运行另一种特定程序的系统主机。每个响应攻击命令的代理端会向被攻击目标主机发送拒绝服务攻击数据包。对这种攻击的防范措施进行研究。
[关键词]分布式拒绝服务攻击 防范 措施
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2009)0720055-01
前些年,Yhaoo等一些大型商业站点所遭受的分布式拒绝服务攻击,是继Internet蠕虫之后最引人注目的网络攻击事件。其攻击强度和范围之广令人震惊,更让人担忧。与以前所有的攻击不同,受攻击者无法通过改善其防范措施来有效抵御这类攻击。这次事件充分证明了新式攻击工具的威力,也给我们带来新的启示,网络时代的安全需要广泛的相互支持和合作。无论你的系统如何健壮、资源如何充足,攻击者总是能通过分布式拒绝服务攻击网络把许多零散、微不足道的资源组织起来,会聚成十倍甚至百倍于你的资源。如果你的系统每秒钟可以处理10000个请求,攻击者可以通过分布式拒绝服务攻击网络调用100台每秒发送200个请求的攻击代理来淹没你的系统。
一、分布式拒绝服务攻击
攻击代理程序在接收到攻击主管程序发送来的攻击命令后,将对其提供的攻击目标、攻击时间长度以及攻击方法发起攻击。Trinoo的攻击幽灵程序使用UDt洪潮的方法攻击日标;而TNF和Stacheldraht都可以选用UDt洪潮、TCP同步洪潮、CIMP_ECHO请求洪潮、Smurfmg这4种方法中的一种或多种,并且这4种攻击方法将与源IP地址相结合,这一方面使攻击难以跟踪,另一方面使目标收到的数据包更类似于正常情况。
分布式拒绝服务攻击的安装过程包括一系列非常隐蔽的入侵攻击。通常的做法是攻击者首先在某个具有高速的Internet连接,且用户多而管理松散的主机上盗用N个帐户,用以存放预先编译好的扫描工具入侵工具,Root Kit(用以隐藏入侵踪迹的工具)、Sniffer监听工具、分布式拒绝服务攻击的主管和代理程序,以及已经在控制之中的Internet主机(俘虏主机)的IP列表和具有可利用安全漏洞的主机(以下称脆弱主机)的1P列表,预先编译好的脚本程序能根据IP列表在俘虏主机或脆弱主机上安装分布式拒绝服务攻击的主管程序,安装完毕,则通过预先定义的端口自动建立与被盗用帐户所在主机的连接,或者向某个指定的免费Web MaR帐户发送电子邮件以确认安装成功。接着,攻击者根据攻击主管节点和俘虏主机、脆弱主机的分布情况,设计分布式拒绝服务攻击网络的分布图。编制脚本程序上载到被盗帐户中,该脚本程序将自动在入侵者指定的俘虏主机上安装攻击代理程序,攻击者在每个攻击主管节点上维护一份由该主管程序控制的攻击代理节点的1P列表。
在目前发现的分布式拒绝服务攻击网络中,攻击代理程序的自动安装程序会在系统的定时一程序表中增加一条记录,设定攻击代理程序每分钟启动一次,在Stacheldraht中攻击代理程序甚至可以按照攻击主管程序的指令,到某个指定的地方获取新的版本,进行自我升级。
二、抵御攻击的措施
方法:1.紧密跟踪安全动态:这是一条普遍适用的原则。在技术飞速发展的今天,随时了解有关的安全动态更显必要。随时一掌握最新安全信息有三个主要目的:(1)是了解、掌握最新的安全保护技术、工具;(2)是了解新出现的安全漏洞或攻击方法,以及新的攻击工具的特点;(3)是根据对当前安全动态和自身网络、系统特点的综合分析,采取必要的措施增进网络、系统的安,包括及时安装必要的补丁程序,修订原有的安全策略,引进必要的安全工具等等。
2.简单的服务,严格的访问控制:这条原则的指导思想来源于越单一越安全。在网络边缘,即连接(不仅是物理还包括逻辑连接)内部网络与外部网络的节点处,这个原则尤其重要。简单的服务指仅提供必需的服务/功能,功能齐全是争取用户的一项重要措施,许多工具、「产品的缺省安装都提供了名目繁多的功能。这些功能在方便用户的同时,也可能给攻击者带来了更多入侵的机会。
严格的访问控制策略:指除非被明确允许,否则一律拒绝。这要依靠路由器等网络设备和防火墙、甚至是自主开发的一些安全工具来辅助实现。网络通讯是通过交换数据包实现的,所以应严格限制数据包的类型除非在被明确允许的数据包类型之列,否则不允许进/出本网。这两项措施相配合,可以降低主机系统、网络系统的复杂程度,减小遭受未知模式攻击的可能性,可以减轻日常管理的工作量(比如需要审计的日志减少,系统配置时只需考虑为数不多的几类服务的特殊要求等等),而且一旦出现意外事件,实时搜查的范围小,便于迅速找到事情起因。
如果系统管理员可以在本地对网络设备进行配置管理,就应关闭其远程管理功能,以免入侵者利用其中某个还未公开的漏洞使你的系统成为他的俘虏:如果没有特殊的需要,可设置路山器使之阻隔来自外界的直接广播使之不响应发往广播地址的PING包,这可以使你的网络避免成为Smurf攻击的中转网络;使路由器仅允许源于内部的IP包向外发出,可以防止本网段的IP地址欺骗;严格配置的防火墙可限制外部网络对内部主机、端口的访问,记录各种对系统的越权访问请求。这样的系统,能把入侵者的端口扫描拒之门外,即使网络中己经存在Satcheldrhat的攻击主管节点,攻击控制台也无法通过16660端口与其取得联系。
3.定期对系统进行安全检查:一般的系统日志仅提供有限的信息,所以,除了常规的日志审查之外,有必要定期对系统进行安全检查。安全检查的目的至少有两个:其一及时发现系统的安全缺陷,这些缺陷可能是新发现的,或者是由于系统配置改变引起的,或者是对系统的使用不当引起的;其二及时发现入侵的踪迹。
有两类工具值得推荐:一类是入侵检测工具,它能够实时检测入侵踪迹。通常也具有漏洞检测工具的功能,即通过模拟入侵行为,帮助管理员了解系统的安全漏洞所在;另一类是文件系统完整性检查工具,典型的有Tripe Wire,它通过记录、比较文件或目录的MDS等多种难以仿冒的签名等信息,帮助管理员迅速发现被非法篡改的重要文件。需要提醒的是,对于记录文件/目录完好状态信息的签名文件,应该妥善保存,比如把它存放在一次性可写的CDROM上,以防被篡改。
参考文献:
[1]郑显举、张敏、徐琳、龚茗茗,DDoS攻击原理及防御[J]成都电子机械高等专科学校学报,2007,(02).
[2]张胡,校园网DDoS攻击防御平台建设方案研究[J]电脑知识与技术,2008,(33).