据近日媒体报道,“知名的游戏讨论社群游戏基地与巴哈姆特,分别遭到DDoS(分布式阻断服务)攻击,其攻击者甚至要求网站配合宣传,否则将继续攻击,行径令业者咋舌。”
拥有众多用户的巴哈姆特与游戏基地网站,自4月27日起分别传出因同时涌现大量联机要求导致首页主机当机事件,其中巴哈姆特甚至收到来自网名为wuwebshell的黑客来信,要求巴哈姆特刊登其经营的非法在线游戏服务器(私服)广告,否则便会再发动攻击,巴哈姆特回绝后,竟又在28日下午受到更强大的攻击,“没见过这么明目张胆的手法,”巴哈姆特站长陈建弘(网名Sega)说。
同样遭到DDoS攻击的游戏基地,社长江文忠表示,并未收到类似巴哈姆特所收到的“条件交换”讯息,但表示总机曾接获可疑电话,但当时并未立即处理,在与巴哈姆特沟通后,怀疑攻击应是出自同一人或同一集团之手。
江文忠表示,在攻击最高峰时,系统曾在十秒内接到一万个以上的联机请求,且来源遍布世界各地;陈建宏则说,同一时间内曾遭到数千台计算机的攻击,初步判定是黑客发动旗下的殭尸网络(botnet)大军,瘫痪巴哈姆特的服务器。
DDoS攻击带来的威胁已经越来越大。除严重影响以至中断用户的应用外,尤其是在游戏行业利用DDoS的相互攻击现象已经非常普遍,甚至形成了只有交“保护费”才能免遭攻击的局面,这大大提高了企业运营的门槛,已经对新经济发展造成严重的阻碍。
利用DDoS进行网络攻击已经不是第一次了,其中最著名的事件就是遐迩网络攻击游戏网站事件。
07年6月10日晚,北京海淀区,完美时空公司总部遭遇黑客攻击。公司技术部工作人员最先发现异常,大量攻击数据突然从网上涌来,冲向公司网站域名服务器,随后网站瘫痪无法打开。技术人员随即进行维护和防御,但攻击数据有增无减。6月11日下午,攻击流量总计已超过100G。实际上07年4月开始,一股黑客攻击狂潮席卷联众、完美时空等国内多家大型网络游戏公司。攻击造成经济损失达上千万元。事后发现,此幕后黑手是遐迩防火墙经理罗春等人,此事件也是DDOS攻击首例告破案件。
分布式拒绝服务攻击使用与普通的拒绝服务攻击同样的方法,但是发起攻击的源是多个。通常攻击者使用下载的工具渗透无保护的主机,当获得该主机的适当的访问权限后,攻击者在主机中安装软件的服务或进程(以下简称代理或傀儡机)。
这些代理保持睡眠状态,直到从它们的主控端得到指令,对指定的目标发起拒绝服务攻击。随着危害力极强的黑客工具的广泛传播使用,分布式拒绝服务攻击可以同时对一个目标发起几千个攻击。单个的拒绝服务攻击的威力也许对带宽较宽的站点没有影响,而分布于全球的几千个攻击将会产生致命的后果。
DDoS攻击一般分为四个阶段:
第一阶段是目标确认:黑客会在互联网上锁定一个企业网络的IP地址。这个被锁定的IP地址可能代表了企业的 Web服务器,DNS服务器,互联网网关等。而选择这些目标进行攻击的目的同样多种多样,比如为了赚钱(有人会付费给黑客攻击某些站点),或者只是以破坏为乐。
第二个阶段是占领傀儡机阶段:这一阶段实际上是使用了另一大类的攻击手段:利用形攻击。简单地说,就是占领和控制被攻击的主机。取得最高的管理权限,或者至少得到一个有权限完成DDoS攻击任务的帐号。黑客想要占领的傀儡机是链路状态好、性能高、安全性差的主机。
第三个阶段植入程序阶段:在占领傀儡机之后,黑客在主控端上安装主控制软件master;在代理端上安装守护程序daemon。代理端主机上的守护程序在指定端口上监听来自主控端主机发送的攻击命令,而主控端主机接受从攻击者计算机发送的指令。为了安全起见,黑客要傀儡机上安装ROOT KIT程序,使主控制软件和守护程序本身不被傀儡机的管理员发现。
第四个阶段是实际攻击阶段:黑客命令这些计算机利用预先植入的攻击工具不断向攻击目标发送数据包,使得目标无法处理大量的数据或者频宽被占满。
到目前为止,进行DDoS攻击的防御还是比较困难的。这种攻击的特点是它利用了TCP/IP协议的漏洞,除非不用TCP/IP,才有可能完全抵御住DDoS攻击。
即使难于防范,也不是完全没有办法,我们必须在以下几个方面防范DDoS:
1、主机上防范
使用网络和主机扫描工具检测脆弱性 DDoS能够成功的关键是在Internet上寻找到大量安全防御措施薄弱的计算机。因此,经常使用安全检测工具检测网络和主机,找出目前存在的安全隐患并给出相应的应对措施,可以减少甚至避免主机被黑客利用成为傀儡机的可能性。安全扫描工具能够检测并删除主机上被黑客安装的进行DDoS攻击的软件。安全扫描工具应该随着攻击方式的演变而升级。
采用NIDS和嗅探器 当系统收到未知地址的可疑流量时,NIDS(Network Intrusion Detection Systems,网络入侵检测系统)会发出报警信号, 提醒系统管理员及时采取应对措施,如切断连接或反向跟踪等。NIDS的安全策略或规则应该是最新的,并包含当前最新攻击技术的特征描述。
嗅探器(sniffer)可用来在网络级识别网络攻击行为并成为NIDS原始检测信息的来源。例如,当黑客修改IP 包的数据部分,使其包含某些隐蔽信息,嗅探器就可以探测到这些信息并将此信息提供给有关人员进行分析, 成为采取阻断、分流恶意流量或追查黑客的依据。
及时更新系统补丁 现有的操作系统都有很多漏洞,这很容易让黑客找到后门,所以及时下载和更新系统补丁也是抵御黑客很重要的一点。
2、网络设备上防范
单机上防御主要是减少被作为傀儡机的可能,在路由器上采取防范措施才是抵御DDoS的关键,这里以Cisco路由器为例分析一下阻止攻击的方法:
检查每一个经过路由器的数据包 在路由器的CEF(Cisco Express Forwarding)表里,某数据包所到达网络接口的所有路由项中,如果没有该数据包源IP地址的路由,路由器将丢弃该数据包。例如,路由器接收到一个源IP地址为a.b.c.d的数据包,如果CEF路由表中没有为IP地址a.b.c.d提供任何路由(即反向数据包传输时所需的路由),则路由器会丢弃它。
设置SYN数据包流量速率 许多DDoS攻击采用SYN洪水攻击的形式,所以有必要在路由器上限制SYN数据包流量速率。采用这种方法时必须在进行测量时确保网络的正常工作以避免出现较大误差。
[table=95%][tr][td] rate-limit output access-group 153 45000000 100000 100000 conform-action transmit exceed-action drop rate-limit output access-group 152 1000000 100000 100000 conform-action transmit exceed-action drop access-list 152 permit tcp any host eq www access-list 153 permit tcp any host eq www established[/td][/tr][/table] |
在边界路由器上部署策略 网络管理员可以在边界路由器上部署过滤策略如下:
ISP端边界路由器应该只接受源地址属于客户端网络的通信,而客户端网络则应该只接受源地址未被客户端网络过滤的通信。
ISP端边界路由器的访问控制列表:
access-list 190 permit ip 客户端网络 客户端网络掩码 any
access-list 190 deny ip any any [log] |
interface 内部网络接口 网络接口号
ip access-group 190 in |
客户端边界路由器的访问控制列表:
access-list 187 deny ip 客户端网络 客户端网络掩码 any
access-list 187 permit ip any any |
access-list 188 permit ip 客户端网络 客户端网络掩码 any
access-list 188 deny ip any any |
interface 外部网络接口 网络接口号
ip access-group 187 in ip access-group 188 out |
使用CAR限制ICMP数据包流量速率 CAR(Control Access Rate),可以用来限制包的流量速率,是实现QoS(Quality of Service,服务质量)一种工具。可以用它来限制ICMP包来防止DDoS。
rate-limit output access-group 2020 3000000 512000 786000 conform-action transmit exceed-action drop access-list 2020 permit icmp any any echo-reply |
用ACL过滤RFC 1918中列出的所有地址 ACL(Acess Control List,访问控制列表),是路由器过滤特定目标地址、源地址、协议的包的工具,可以用它来过滤掉RFC 1918中列出的所有地址,即私有IP地址(10.0.0.0/8,172.16.0.0/12, 192.168.0.0/16)。
ip access-group 101 in access-list 101 deny ip 10.0.0.0 0.255.255.255 any access-list 101 deny ip 192.168.0.0 0.0.255.255 any access-list 101 deny ip 172.16.0.0 0.15.255.255 any access-list 101 permit ip any any |
搜集证据 可以为路由器建立log server,建议使用SUN工作站或Linux等高速计算机捕获数据包。常用的数据包捕获工具包括TCPDump和snoop等。基本语法为:
tcpdump -i interface -s 1500 -w capture_file snoop -d interface -o capture_file -s 1500 |
【编辑推荐】