從游戲論壇被攻擊事件看DDoS防范
據近日媒體報道,“知名的游戲討論社群游戲基地與巴哈姆特,分別遭到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 |
【編輯推薦】