Smurf攻擊
Smurf攻擊
Smurf攻擊通過使用將回復地址設置成受害網路的廣播地址的ICMP應答請求(ping)數據包,來淹沒受害主機,最終導致該網路的所有主機都對此ICMP應答請求做出答覆,導致網路阻塞。更加複雜的Smurf將源地址改為第三方的受害者,最終導致第三方崩潰。
攻擊的過程是這樣的:Woodlly Attacker向一個具有大量主機和網際網路連接的網路的廣播地址發送一個欺騙性Ping分組(echo 請求),這個目標網路被稱為反彈站點,而欺騙性Ping分組的源地址就是Woodlly希望攻擊的系統。
這種攻擊的前提是,路由器接收到這個發送給IP廣播地址(如206.121.73.255)的分組后,會認為這就是廣播分組,並且把乙太網廣播地址FF:FF:FF:FF:FF:FF:映射過來。這樣路由器因網際網路上接收到該分組,會對本地網段中的所有主機進行廣播。
由於多數系統都會儘快地處理ICMP傳輸信息,Woodlly Attacker把分組的源地址設置為目標系統,因此目標系統都很快就會被大量的echo信息吞沒,這樣輕而易舉地就能夠阻止該系統處理其它任何網路傳輸,從而引起拒絕為正常系統服務。
這種攻擊不僅影響目標系統,還影響目標公司的網際網路連接。如果反彈站點具有T3連接(45Mbps),而目標系統所在的公司使用的是租用線路(56Kbps),則所有進出該公司的通訊都會停止下來。
這種攻擊現在已經很少見,大多數的網路已經對這種攻擊免疫了。
在分析Smurf 攻擊原理的基礎上,本文提出Smurf 攻擊的檢測方法。
ICMP 應答風暴的檢測
對網路進行監控和統計發現, 若出現Smurf 攻擊,則會出現大量的echo 報文。由於存在echo 應答風暴,此時,echo 報文在所有報文中所佔的比例大大增加。所以,如出現這種情況,就可能遭到了Smurf 攻擊。
報文丟失率和重傳率的上升
由於echo 風暴造成網路負載過重,會出現大量報文丟失和報文重傳現象。所以,若有明顯的報文丟失率和重傳率上升現象,就有可能遭到了Smurf 攻擊。
常出現意外的連接重置的現象
在受到Smurf 攻擊時,由於網路重載,會使其它的網路連接出現意外的中斷或重置的現象。如反覆出現意外的中斷或重置,也可能受到了Smurf 攻擊。
挫敗一個Smurf攻擊的最簡單的方法就是對邊界路由器的迴音應答(echo reply)信息包進行過濾,然後丟棄他們,使網路避免被湮沒。
如果你的主機不幸成為了Smurf攻擊的目標,在這兒可以找到很多種方法來限制這種拒絕服務攻擊造成的影響。在最近新進修改的Cisco IOS操作系統中,被訪問列表所拒絕的數據包直接就被丟棄(其丟棄速度幾乎接近於硬體速度)。不過每秒鐘每個列錶行有兩個數據包例外,這就是向中間代理回思科學習視頻資料下載中心送ICMP不可達消息的數據包。因此,如果你不想做為別人Ping的目標,那麼在邊界路由器上就直接可以阻塞掉。
激活這個列表的命令是:
ip icmp rate-limit unreachable
如果必須允許Ping命令,你可以通過使用命令訪問速率(Committed Access Rate ,CAR)來限制ICMP的流量。以下列出了其它Cisco IOS的例子:
config t
Access-list 100 permit icmp any {你的網路號} {你的網路子網掩碼} echo
Interface e1
Rate-limit input access-group 100 512000 8000 8000 conform action transmit exceed action drop
這個例子限制ICMP的傳輸速率不能超過512Kbps,突發速率不能超過8000bits。所有多出的包將被丟棄。可以有多個速率限制命令同時添加到一個介面上,可以對不同的數據包進行不同的速率限制。
查找黑客
對發起Smurf攻擊的機器的定位非常困難,但並不是不可能的。不過在你開始查找之前,應該考慮是否使用法律這一重要武器。
為了跟蹤這類拒絕服務攻擊的真正源頭,可以採取以下幾步:
確定中間代理的IP地址空間,並與他們的網路管理員取得聯繫。記住你看到的這些包是從中間代理那兒來的,並不是從真正黑客處來的。那些以被攻擊的主機的IP地址為源IP地址的進入該網路的數據包,就是黑客使用的源地址欺騙數據包。
從這些數據包上取得源IP地址欺騙的物理地址,並用這些物理地址做一下ip arp(適用於Cisco IOS),得到的結果就是源IP地址欺騙來的最後一跳節點的IP地址。與他們的管理員取得聯繫。
重複以上幾步,直到你找到與跟蹤的物理地址相同的路由器。
在cisco路由器上配置如下可以防止將包傳遞到廣播地址上:
Router(config-if)# no ip directed-broadcast
why this command can prevent Smurf attacks?
The reason is that it prevents your network device from being a reflector in an attack.