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