前言
現代 Internet透過傳送和接收 IP 資料包來開展聯網計算機與其他裝置的通訊,這就意味著早在網際網路誕生之際就存在IP欺騙的風險。1980年,研究人員意識到駭客可以更改IP標頭系統中的資料,並且撰寫了相關的工作原理,但是這場內部人員之間的討論並沒有引起注意。
直到十年後,一場“年度計算機犯罪”才使得IP欺騙逐漸被人熟知。1994年,一位名叫下村勤的著名安全專家在聖誕節遭受了毀滅性的IP欺騙攻擊,在經過媒體大幅度的報導之後,IP欺騙引起了民眾和相關專家的注意。
鑑於每臺計算機和伺服器都有一個唯一識別符號(網際網路協議或IP地址),所以每個人都有可能受到IP欺騙的威脅。在這篇文章中,我們將討論 IP 欺騙的定義、危害、常見的 IP 欺騙攻擊型別,以及 IP 欺騙的一些合法用途。
什麼是IP欺騙
一般而言,IP 欺騙會透過獲取Internet傳送的部分資料進行更改,並使其看起來好像來自合法來源。IP 欺騙是許多不同攻擊的廣泛術語:
Ø IP 地址欺騙:直接混淆攻擊者的IP地址以進行拒絕服務(DoS)攻擊。
Ø 域名伺服器 (DNS) 欺騙:修改DNS的源IP以將域名重定向到不同的IP。
Ø 地址解析協議(ARP)欺騙:ARP欺騙更復雜,它涉及使用欺騙性ARP訊息將計算機的媒體訪問控制(MAC)地址連結到合法 IP。
Ø IP 欺騙獲取資料並在網路級別更改一些可識別資訊,使得欺騙難以檢測。
IP 欺騙是如何發生的
為了更好地理解 IP 欺騙,讓我們先來了解一下網際網路如何傳送和使用資料。
每臺計算機都有一個IP地址,傳送的任何資料都被分成許多塊(“資料包”),每個資料包單獨傳輸,當這些資料包到達鏈的末端時,就會重新組裝並作為一個整體呈現。此外,每個資料包還有其可識別資訊(“標頭”),其中包括來自源和目標的 IP 地址。
IP 欺騙使用源 IP 標頭並更改一些細節以使其看起來更加真實,這使得IP欺騙難以被發現,網路工程師經常嘗試尋找新的方法來保護透過網路傳輸的資訊,例如透過使用IPv6來保護資訊。IPv6是一種構建加密和身份驗證的新協議,安全外殼 (SSH) 和安全套接字層 (SSL)有助於緩解攻擊,雖然這並不能解決問題,但至少在理論上,實施的加密步驟越多,就越能保護計算機。
IP 欺騙的 3 種最常見的攻擊型別
1. 殭屍網路
殭屍網路Botnet是指採用一種或多種傳播手段,將大量主機感染bot程式(殭屍程式)病毒,從而在控制者和被感染主機之間所形成的一個可一對多控制的網路。
攻擊者透過各種途徑傳播殭屍程式感染網際網路上的大量主機,而被感染的主機將透過一個控制通道接收攻擊者的指令,組成一個殭屍網路。之所以用殭屍網路這個名字,是為了更形象地讓人們認識到這類危害的特點:眾多的計算機在不知不覺中如同中國古老傳說中的殭屍群一樣被人驅趕和指揮著,成為被人利用的一種工具。駭客透過惡意軟體等感染獲得控制權,執行垃圾郵件攻擊、DDoS 攻擊、廣告欺詐、勒索軟體攻擊等等。
造成這種情況的部分原因是IP欺騙。每個殭屍程式通常都有一個欺騙性IP,這使得惡意行為者難以追蹤。也就是說,如果沒有 IP 欺騙,就無法掩蓋殭屍網路。
2. 拒絕服務 (DDoS) 攻擊
透過製造併傳送大流量無用資料,造成通往被攻擊主機的網路擁塞,耗盡其服務資源,致使被攻擊主機無法正常和外界通訊。這涵蓋了幾種相關的欺騙攻擊和技術,它們結合起來形成了整個攻擊。
DNS 欺騙
2006年09月12日,多地網友反映百度無法正常使用,出現“請求超時”(Request timed out)的資訊,百度搜尋服務在全國各地出現了近30分鐘的故障。百度被黑事件的發生再次揭示了全球DNS體系的脆弱性,並說明網際網路廠商如果僅有針對自身資訊系統的安全預案,就不足以快速應對全面而複雜的威脅。
DNS欺騙就是攻擊者冒充域名伺服器的一種欺騙行為。透過冒充域名伺服器,把使用者想要查詢的IP地址設為攻擊者的IP地址,使用者就直接訪問了攻擊者的主頁,這就是DNS欺騙的基本原理。DNS欺騙其實並不是真的“黑掉”了對方的網站,而是冒名頂替、招搖撞騙罷了。
惡意使用者會利用 DNS 欺騙來滲透網路,將與 DNS 關聯的域名更改為另一個 IP 地址。至此,惡意攻擊者可以進行任意方式的攻擊,惡意軟體感染是最常見的一種,透過將流量從合法來源轉移到惡意來源而避免被檢測到,導致更多的機器感染並建立殭屍網路以有效地執行 DDoS 攻擊。
IP 地址欺騙
在 DNS 欺騙之後,攻擊者將執行多個IP 地址欺騙,以幫助混淆網路中的攻擊源。這通常一個隨機化的過程,在這個過程中,IP 地址隨機變化,這使得攻擊源難以檢測和追蹤。這種網路級攻擊使得使用者無法檢測,同時也難倒了許多伺服器端專家。
ARP中毒
ARP 欺騙(或“中毒”)是進行 DDoS 攻擊的另一種方式。它結合了掩蔽殭屍網路和 IP 欺騙,但較之複雜得多。
ARP中毒是指透過針對區域網 (LAN) 併傳送惡意ARP資料包來更改MAC表中設定的 IP 地址。這是攻擊者一次性攻擊大量計算機的簡便方法。ARP 中毒的目標是操縱受感染的計算機引導所有網路流量,攻擊者可以透過他們的計算機選擇進行 DDoS 或 MITM 攻擊。
3. MITM攻擊
中間人 (MITM) 攻擊則更加複雜、高效且更具危害性。
透過在資料到達使用者連線的伺服器之前攔截,攻擊者可以使用虛假網站與使用者進行互動以竊取資訊。在MITM 攻擊中,所涉及的兩方可能會覺得通訊正常,但在訊息到達目的地之前,中間人就非法修改或訪問了訊息。
一旦攻擊者透過欺騙 IP 地址獲得對個人通訊帳戶的訪問許可權,就可以跟蹤該通訊的任何方面:竊取資訊、將使用者引導到虛假網站等。
MITM 攻擊依賴於 IP 欺騙,因為需要在使用者不知情的情況下進行資訊的獲取和攔截,駭客甚至可以長期收集資料並將其出售給他人。
IP欺騙的危害性
IP 欺騙在低網路級別出現,幾乎每個網際網路上的使用者都可能受到威脅。且IP欺騙通常難以察覺,這意味著使用者不會有任何警惕的跡象,因此可能會交出敏感資訊。
此外,攻擊者的主要目標往往涉及關鍵業務,例如安全系統和防火牆,這就是企業這麼重視網站安全的原因。企業不僅需要足夠強大的安全功能來緩解攻擊,還需要確保當前網路下使用者的警惕性,避免被攻擊者趁虛而入。
IP 欺騙的合法用途
上文我們提到,IP欺騙難以控制是由於它的合法性:其合法用途具有一定價值和無可替代性。
例如,在網站效能測試中,需要建立成百上千的“使用者”(虛擬使用者)執行測試網站的測試指令碼,以模擬當系統上線和大量使用者立刻登入時的預發情況。由於每個使用者都會有自己的IP地址,商業測試產品可以使用IP欺騙,允許每個使用者自己的“返回地址”。
一些公司還將在與系統漏洞無關的模擬練習中使用 IP 欺騙。例如,透過建立數千個 IP 地址來群發郵件;使用 IP 欺騙來模擬使用者註冊測試結果。也就是說,任何需要模擬許多使用者的情況都可能會用到 IP 欺騙。
如何防止 IP 欺騙
每起網路攻擊事件平均給企業造成200,000美元的損失。由於 IP 欺騙是最容易發起的攻擊之一,也是最具破壞性的攻擊之一,因此加強IP欺騙的防範是有意義的。
Ø 禁止基於IP的信任關係。IP欺騙的原理是冒充被信任主機的IP地址,這種信任關係建立在基於IP地址的驗證上。如果禁止IP地址的信任關係,不允許R+類遠端呼叫命令的使用,刪除rhosts檔案,並且清空/etc/hosts.equiv檔案,使所有使用者透過其他遠端方式(如Telnet)等進行遠端訪問,可以有效防止IP欺騙。
Ø 安裝過濾路由器。如果需要透過路由器接入Internet,可以利用路由器進行過濾。確信只有使用者的內部LAN可以使用信任關係,而內部LAN上的主機對於LAN之外的主機要慎重處理。透過對資訊包的監控來檢查IP欺騙攻擊是非常有效的方法之一,使用監控工具檢查外介面的上包情況,如果發現兩個地址都是本地域地址,就意味著有人要試圖攻擊,而這種監控正建立在IP地址溯源之上。
Ø 使用IP加密。在通訊時要求加密傳輸和驗證,當有多個手段並存時,加密是最有效的方法。
Ø 使用隨機的初始序列號。IP欺騙的另一個重要因素是初始序列號不是隨機選擇或隨機增加的。如果能夠分割序列號空間,第一個連結有自己的獨立序列號空間,序列號仍然按照之前的方式增加,但是這些序列號空間中沒有明顯的關係。用一個公式說明:ISN=M+F(Locallhost,Localport.remotehost,remoteport),其中M,4微秒定時器IF,加密HAsH函式.F產生的序列號很難被猜測出來。