前言
現代 Inte.NET通過發送和接收 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產生的序列號很難被猜測出來。