駭客技術大放送,欺騙IP攻擊的追蹤(轉)[@more@]
實際配置中的關鍵是對網路中的路由器作出修改,以便讓這個機制能有效地實施,可以是新增配置,也可以是同現有的基礎結構的向後相容。我們描述一種追蹤規則,只需要一點或者不需要路由器的臨界向前路徑,可以增加配置允許在子網路由器內追蹤,來支援我們的設計。更進一步,我們要論證我們能透過這種方法得到重要的路徑資訊,並且不影響現有路由器、主機系統和通常的流量。
在1985年的論文中,Morris指出:"The weakness in this scheme[the Internet Protocol] is that the source host itself fills in the IP source host id, and there is no provision in TCP/IP to discover the true origin of a packet."
入口過濾 (Ingress filtering) 一種對付匿名攻擊的方法就是消除偽造源地址的能力。這種方法,通常就是入口過濾(ingress filtering),透過配置路由器去阻止不合理的源地址資料包透過。這要求路由器有足夠能力去檢查每個包的源地址,並且能夠有足夠的能力去區別正常的和不正常的地址。因此,入口過濾在ISP的邊緣或者客戶網路中更加有作用,這裡處理資料包更加明確,並且流量負載相對低些。
如果包是從多個ISP匯合進入,這就不能有足夠的資訊去明確決定是否資料包擁有"合法的"源地址。而且,以高速連線來說,對於許多路由器架構,入口過濾的消耗變得太不實際了。
入口過濾的主要問題還是因為它的效能依賴於大範圍或者全體的配置。不幸的是,主要的ISP,也許是絕大多數不提供這樣的服務,也許他們沒有被通知或者被阻礙,因為:管理負擔、潛在的路由花費以及本身就是源地址欺騙的服務(比如:某些版本的移動IP,某些混合的衛星通訊體系)因素。第二個問題就是,即便入口過濾機制在客戶-ISP之間普遍運用,攻擊者仍然能夠偽造客戶網路中的成百上千的IP地址。
很明顯,入口過濾可能會戲劇性地發展網路的暴力拒絕服務攻擊。同時,可以假設一個系統從來沒有被欺騙過,因此,追蹤(traceback)技術就顯得很重要了。
鏈級測試 (Link Testing) 多數的追蹤技術都是從最接近victim的路由器開始,然後開始檢查上流資料鏈,直到找到攻擊流量發起源。理想情況下,這種過程可以遞迴執行直到找到攻擊源頭。這種技術假設攻擊一直保持活動直到完成追蹤,因此很難在攻擊結束後、間歇性攻擊或對追蹤進行攻擊調整等情況進行追蹤。
1、Input debugging
很多路由器都提供Input debugging特性,這能讓管理員在一些出口端過濾特定的資料包,而且能決定可以達到那些入口。這種特性就被用來作traceback:首先,victim在確定被攻擊時,要從所有的資料包中描述出攻擊包標誌。透過這些標誌,管理員在上流的出口端配置合適的Input debugging。這個過濾會體現出相關的input埠,這個過濾過程可以一直朝上流進行,直到能夠到達最初的源頭。當然這種工作很多依靠手工,一些國外的ISP聯合開發的工具能夠在它們的網路中進行自動的追蹤。
但是這種辦法最大的問題就是管理花費。聯絡多個ISP並同他們合作需要時間。因此這種辦法需要大量的時間,而且幾乎不可能完成。
具體例項參考《追蹤偽造的IP地址》(by refdom, 2002-11)。
2、Controlled flooding
Burch和 Cheswick提出的方法。這種方法實際上就是製造flood攻擊,透過觀察路由器的狀態來判斷攻擊路徑。首先應該有一張上游的路徑圖,當受到攻擊的時候,可以從victim的上級路由器開始依照路徑圖對上游的路由器進行控制的flood,因為這些資料包同攻擊者發起的資料包同時共享了路由器,因此增加了路由器丟包的可能性。透過這種沿路徑圖不斷向上進行,就能夠接近攻擊發起的源頭。
這種想法很有獨創性而且也很實際,但是有幾個缺點和限制。最大的缺點就是這種辦法本身就是一種DOS攻擊,會對一些信任路徑也進行DOS,這個缺點也很難用程式實施。而且,Controlled flooding要求有一個幾乎覆蓋整個網路的拓撲圖。Burch和 Cheswick也指出,這種辦法很難用於DDOS攻擊的追蹤。這種方法也只能對正在進行攻擊的情況有效。
3、Logging
這種方法透過在主路由器上記錄包,然後透過資料採集技術來決定這些資料包的穿越路徑。雖然這種辦法可以用於對攻擊後的資料進行追蹤,它也有很明顯的缺點,比如可能要求大量的資源(或者取樣),並且對付大量資料的綜合問題。
4、ICMP追蹤
這種方法主要依靠路由器自身產生的ICMP跟蹤訊息。每個路由器都有很低的機率(比如:1/200000),資料包可能會把內容複製到一個ICMP訊息包中,並且包含了到臨近源地址的路由器資訊。當flood攻擊開始的時候,victim就可以利用這些ICMP訊息來重新構造攻擊者的路徑。這種方式同上面介紹的比較,有很多優點,但是也有一些缺點。比如:ICMP可能被從普通流量中過濾掉,並且,ICMP追蹤訊息還要同input debugging特性(將資料包同資料包input埠和/或者要到達的MAC地址關聯的能力)相關,但是,可能一些路由器就沒有這樣的功能。同時,這種辦法還必須有一種辦法來處理攻擊者可能傳送的偽造ICMP Traceback訊息,路由器處理的流量不一樣,造成了貧窮路由器可能幾乎很少發出追蹤包,但是富裕路由器可能傳送較多的追蹤包。雖然,DOS攻擊的路徑有包大量增加,但是並不能肯定路徑中貧窮路由器增加後的流量就可能大於那些正常的富裕路由器流量。。也就是說,我們可以把這種方式同其他辦法一起使用來讓跟蹤機制更有效。
請參考更多IETF iTrace Work Group
5、資料包標記追蹤
Burch 和 Cheswick提及了透過標誌資料包來追蹤flood攻擊的可能性,這即是統計的也可以是明確的,可以用來找到它們經過的路由器。這種辦法以前沒有深入研究過,但是它有很多潛在的優點。首先,它不需要同ISP進行合作因此可以避免input debugging的消費;它也不象controlled flooding那樣需要額外的大網路流量,並且可以用來追蹤多攻擊源;而且,跟logging一樣,也可以在攻擊結束後進行追蹤。最後,我們也發現標誌機制不需要網路路由器的消耗。
基本假設 1、攻擊者可以構造任意資料包
2、多點攻擊是相關聯的
3、攻擊者可以會注意到他們正在被追蹤
4、資料包可能被丟失或者被重新排序
5、攻擊者傳送無數的資料包
6、在攻擊者和受害者之間的路由器是穩定的
7、路由器的CPU和記憶體是有限的
8、路由器沒有被入侵
前四個假設是對現在攻擊者的能力的網路限制的保守假設。在Internet環境設計一種追蹤系統是一種極度挑戰,因為這裡實際上只有很少的東西值得信任。特別指出的是,攻擊者創造資料包的能力將會極大地限制可能的方案。當路由器接收資料包的時候,它沒有辦法去判斷是否這個包被上游路由器標誌過的或者是否被攻擊者偽造了這些資訊的。實際上,只有這一點不會改變,那就是攻擊者發起的資料包一定會經過源到victim的所有路由器。
其他的假設,反映我們設計的基礎和應該另外討論的內容。首先(假設5),拒絕服務攻擊只有在它們佔用了victim資源的時候才有效,因此,多數攻擊都由上百萬或者千萬的資料包構成。我們的方法也是建立在這些性?上的,因為我們只有很少的路徑狀態片來標誌每一個資料包,Victim透過觀察這些資料包來重構攻擊的完整路徑。如果,攻擊是那種大量攻擊機只傳送單個資料包到Victim,比如Ping-of-death,那麼我們就假設就無從談起了。
第二,測量明顯表明整個網路路由器在變化,對於資料包在traceback操作中沿著許多不同路徑花費很短的時間片段是極度稀有的。這個假設大大簡化了整個過程,因此可以認為每個攻擊者都只有一條主路徑。如果網路已經發展成為允許多路由了,那麼這個假設也就失效了。
第三、在路由器的執行技術、連線速度方面都有很多值得考慮的改進。因此,我們斷言,任何可行的執行方案都必須考慮這些因素,每個包處理都有消耗,而且不能讓執行方案造成泛洪。
最後、由於危險的路由器可能完全消除所有的上游路由提供的資訊,可能就造成完全不能區別攻擊者。在這種環境下,有安全危險的路由器必須在進行Traceback之前被首先處理。在普通環境下,我們相信這種假設是可以被接收的。
整個方案中,路由都顯得非常重要。
基本標記演算法 附加節點
最簡單的標記演算法--類似IP路由記錄選項,就是把每一個節點地址附加在資料包的末尾,表明這是從哪裡傳入的。因此,每一個被目標接收的資料包都就是包含經過的路由器完整次序。
這種演算法能夠很快集合起來,然後這裡也有一系列的限制。首先,對於高速路由器來說將增加負擔。再次,資料包的長度還不能推理得出,不可能確定包中的路由列表是無用的資料。這可能導致不必要的分片,或者因為MTU而破壞。這個問題被透過保留足夠的空間來解決,因為攻擊者完全可以自己填充這個空間,或者來誤導路徑資訊。
節點取樣
要減少路由的負擔以及每個資料包的空間要求,可以透過在路徑中的一個節點取樣,讓一個樣本來代替整個路徑。單個的靜態節點可以儲存在包頭部中,對於IPv4,可以有足夠的空間來容納路由器的地址了。當接收到一個資料包,每個路由器就以機率p,選擇性地將地址寫到節點地址區間內。當足夠的資料包被髮送後,victim可以至少接收攻擊路徑上的每個路由器的一個樣本。按照我們的假設,這些取樣能夠聚合起來構成攻擊路徑。
雖然可能看起來不可能,因為只是透過一些無序節點取樣的集合來構成有序的路徑,但是,如果透過足夠的測試,就可以透過每個節點的相關數推理得到次序。由於路由器被成序列地安排在一起,而且資料包被每個路由器標記的概
·上一篇:·下一篇:
|
|
最新更新 |
|
|
|
······························ | |
|
|
|
| | | | | | | |
|
|
Copyright © 2004 - 2007 All Rights Reserved
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10763080/viewspace-970157/,如需轉載,請註明出處,否則將追究法律責任。
|