自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

剖析ARP緩存感染攻擊

安全 黑客攻防
黑客們經(jīng)常撒謊。有技術(shù)技術(shù)的黑客更善于撒謊。而思維縝密的黑客不僅對(duì)人,還能對(duì)機(jī)器撒謊。

對(duì)人們?nèi)鲋e,即所謂的“社會(huì)工程”,還包含了策略(已獲罪的黑客Kevin Mitnick有具體實(shí)施),例如假扮成一個(gè)公司的雇員這樣就可以和真正的雇員交換公司機(jī)密。要騙過計(jì)算機(jī)則包括許多不同的技術(shù),一個(gè)常用的是——ARP緩存中毒(ARP Cache Poisoning)——這是本文的核心。ARP中毒能讓局域網(wǎng)內(nèi)的黑客在其網(wǎng)內(nèi)造成巨大的網(wǎng)絡(luò)破壞。由于它通常是“不可治愈”的,因此每一個(gè)網(wǎng)絡(luò)管理員都應(yīng)該明白這種攻擊究竟是如何進(jìn)行的。

回顧ARP

在“計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ):什么是NIC, MAC和ARP?” ( 參見譯者的這篇譯文 ) 一文中,我們解釋了地址解析協(xié)議 (ARP, Address Resolution Protocol) 是如何將網(wǎng)絡(luò)設(shè)備的MAC地址和其IP地址關(guān)聯(lián)起來的,這樣在同一個(gè)局域網(wǎng)內(nèi)的設(shè)備就能相互知道彼此的存在。ARP基本上就是一種網(wǎng)絡(luò)上的點(diǎn)名。

ARP,一個(gè)十分簡單的協(xié)議,僅僅只包含了4種消息類型:

1.  ARP請(qǐng)求。計(jì)算機(jī)A詢問整個(gè)局域網(wǎng),“Who has this IP address?” (“誰的IP地址是這個(gè)?”,英文為本來報(bào)文里的ASCII碼消息,譯者注)

2.  ARP響應(yīng)。計(jì)算機(jī)B告訴計(jì)算機(jī)A,“I have that IP. My MAC address is [whatever it is].” (我的IP地址是那個(gè)。我的MAC地址是[XX:XX:XX:XX:XX:XX])

4.  反向ARP請(qǐng)求。和ARP請(qǐng)求的概念一樣,但是計(jì)算機(jī)A詢問,“Who has this MAC address?” (誰的MAC地址是這個(gè)?)

4.  反向ARP響應(yīng)。計(jì)算機(jī)B告訴計(jì)算機(jī)A,“I have that MAC. My IP address is [whatever it is]” (我的MAC地址是那個(gè)。我的IP地址是XXX. XXX. XXX. XXX)

所有的網(wǎng)絡(luò)設(shè)備都有一個(gè)ARP映射表,就是內(nèi)存里的一小段存儲(chǔ)著目前該設(shè)備已經(jīng)匹配的IP地址和MAC地址對(duì)。ARP映射表確保該設(shè)備不會(huì)向它已經(jīng)通訊過的設(shè)備重復(fù)發(fā)送ARP請(qǐng)求。

這里是一次常規(guī)的ARP通信的例子。Jessica,一個(gè)接待員,告訴Word(指我們使用的微軟文檔編輯器,譯者注)打印最新的公司通信錄。這是她今天的第一個(gè)打印任務(wù)。她的計(jì)算機(jī) (IP地址是192.168.0.16) 希望發(fā)送這個(gè)打印任務(wù)到辦公室的惠普LaserJet打印機(jī) (IP地址是192.168.0.45)。所以Jessica的計(jì)算機(jī)就會(huì)像整個(gè)局域網(wǎng)廣播一個(gè)ARP請(qǐng)求去詢問,“Who has the IP address, 192.168.0.45?” (誰的IP地址是192.168.0.45?),如圖1.

圖1

局域網(wǎng)內(nèi)所有的設(shè)備都會(huì)忽略這個(gè)ARP請(qǐng)求,除了惠普LaserJet打印機(jī)。這臺(tái)打印機(jī)發(fā)現(xiàn)它的IP地址就是請(qǐng)求里的IP地址,于是它發(fā)送一個(gè)ARP響應(yīng):“嘿,我的IP地址是192.168.0.45. 這是我的MAC地址:00:90:7F:12:DE:7F”,如圖2.

圖2

現(xiàn)在Jessica的計(jì)算機(jī)知道了這臺(tái)打印機(jī)的MAC地址。它現(xiàn)在能將這個(gè)打印任務(wù)發(fā)給正確的設(shè)備(打印機(jī),譯者注),并且在它的ARP映射表里將打印機(jī)的MAC地址00:90:7F:12:DE:7F和它的IP地址192.168.0.45關(guān)聯(lián)起來。#p#

嘿ARP,你知道哪個(gè)騙你的設(shè)備不在你的字典中嗎?

網(wǎng)絡(luò)的設(shè)計(jì)者可能出于高效的考慮將ARP的對(duì)話過程設(shè)計(jì)得如此簡單。不幸的是,這種簡單也帶來了巨大的安全隱患。知道為什么在我對(duì)ARP的簡短描述中沒有提到任何形式的認(rèn)證方法嗎?答案是,ARP根本就沒有。

ARP認(rèn)為通信雙方都是安全可信的,實(shí)際上就是好騙的。當(dāng)一個(gè)網(wǎng)絡(luò)中的設(shè)備發(fā)出去一個(gè)廣播ARP請(qǐng)求時(shí),它只是簡單的相信當(dāng)收到一個(gè)ARP響應(yīng)時(shí),這個(gè)響應(yīng)真的是來自正確的設(shè)備 (因?yàn)榘凑諈f(xié)議只有IP地址對(duì)應(yīng)的設(shè)備才會(huì)發(fā)出相應(yīng)報(bào)文,譯者注)。ARP沒有提供任何方法去認(rèn)證響應(yīng)的設(shè)備就真是如它報(bào)文里所說的那臺(tái)。實(shí)際上,許多操作系統(tǒng)實(shí)現(xiàn)ARP時(shí)都是盡管沒有發(fā)出任何ARP請(qǐng)求但仍然接受來自其他設(shè)備的ARP響應(yīng)。

好了,想象自己是一個(gè)惡意的黑客。你剛剛才知道ARP協(xié)議沒有任何認(rèn)證ARP響應(yīng)的方法。你已經(jīng)知道了很多設(shè)備在沒有發(fā)出任何請(qǐng)求的情況下仍然接受響應(yīng)。嗯,我為什么不能制造一個(gè)完美有效但是惡意的,包含任何我自己選擇的IP地址和MAC地址的ARP響應(yīng)報(bào)文?由于受害者的計(jì)算機(jī)會(huì)盲目地接受這個(gè)ARP響應(yīng)并添加到它的ARP映射表中,因此讓受害者那極易受騙的計(jì)算機(jī)將任何我選的IP地址關(guān)聯(lián)到任何MAC地址。更進(jìn)一步,我能廣播我做的假冒ARP響應(yīng)到受害者的整個(gè)網(wǎng)絡(luò)中,欺騙網(wǎng)絡(luò)中所有的計(jì)算機(jī)。哇哈哈哈哈!

回到現(xiàn)實(shí)中來?,F(xiàn)在你可能知道了為什么這種常用技術(shù)叫做ARP緩存中毒 (或者叫ARP中毒):攻擊者欺騙你的局域網(wǎng)中的設(shè)備,誤導(dǎo)或者 “毒害” 它所知道其他設(shè)備的位置。這種恐怖而又簡單的攻擊使攻擊者給網(wǎng)絡(luò)帶來了巨大的危害,后面將會(huì)描述到。

你的所有ARP報(bào)文都是我們的!

這種使攻擊者能關(guān)聯(lián)任何IP地址和MAC地址的能力讓其可以進(jìn)行很多種攻擊,包括拒絕服務(wù)攻擊(DoS, Denial of Service),中間人攻擊(Man in the Middle)和MAC洪泛(MAC Flooding)。

拒絕服務(wù)

一個(gè)黑客可以只做簡單的操作就將一個(gè)重要的IP地址和一個(gè)錯(cuò)誤的MAC地址綁定。例如,黑客可以發(fā)送一個(gè)ARP響應(yīng)報(bào)文 (到你的計(jì)算機(jī)) 將你所在網(wǎng)絡(luò)的路由器 (即我們常說的網(wǎng)管,譯者注) IP地址和一個(gè)根本不存在的MAC地址綁定起來。你的計(jì)算機(jī)一位它知道默認(rèn)網(wǎng)關(guān)在哪,但是事實(shí)上它的所有數(shù)據(jù)包,其目的地址都不在這個(gè)網(wǎng)絡(luò)的網(wǎng)段上 (因?yàn)槟莻€(gè)不存在的MAC不在此局域網(wǎng)的網(wǎng)段上,譯者注) ,它們最后消逝在了無盡的比特流中 (即因數(shù)據(jù)包的生命周期到了而信號(hào)消失,譯者注)。僅僅這一下,黑客就能阻止你連上因特網(wǎng)。#p#

中間人攻擊

黑客利用ARP緩存中毒來截獲你的局域網(wǎng)中兩臺(tái)設(shè)備之間的網(wǎng)絡(luò)信息。例如,我們假象黑客想要竊聽你的計(jì)算機(jī),192.168.0.12,和你的網(wǎng)絡(luò)路由器 (即網(wǎng)關(guān),譯者注) ,192.168.0.1,之間的通信信息。黑客先發(fā)送一個(gè)惡意的ARP “響應(yīng)” ( 因?yàn)樵诖酥案緵]有請(qǐng)求) 到你的路由器,將他的計(jì)算機(jī)的MAC地址和192.168.0.12綁定 (如圖3).

圖3

現(xiàn)在你的路由器以為這個(gè)黑客的計(jì)算機(jī)就是你的計(jì)算機(jī)了。

然后,黑客在發(fā)送一個(gè)惡意的ARP響應(yīng)到你的計(jì)算機(jī),將他的MAC地址和192.168.0.1綁定起來。(如圖4).

圖4

現(xiàn)在你的機(jī)器以為黑客的計(jì)算機(jī)是你的路由器了。

最后,黑客開啟一個(gè)叫IP轉(zhuǎn)發(fā)的系統(tǒng)功能。這個(gè)功能讓黑客能將所有來自你的計(jì)算機(jī)的網(wǎng)絡(luò)信息轉(zhuǎn)發(fā)到路由器 (如圖5).

圖5

現(xiàn)在,只要你嘗試上網(wǎng),你的計(jì)算機(jī)就會(huì)將網(wǎng)絡(luò)信息發(fā)送到黑客的機(jī)器上,然后黑客再將其轉(zhuǎn)發(fā)到路由器。由于黑客仍然將你的信息轉(zhuǎn)發(fā)到網(wǎng)絡(luò)路由器,所以你并不會(huì)察覺到他已經(jīng)截獲了所有你的網(wǎng)絡(luò)信息,或許還竊聽了你的明文密碼或者劫持了你曾經(jīng)安全的網(wǎng)絡(luò)會(huì)話。#p#

MAC洪泛

MAC洪泛是一種旨在網(wǎng)絡(luò)交換機(jī)的ARP緩存中毒技術(shù)。當(dāng)這些交換機(jī)流量超載時(shí)它們常常進(jìn)入到 “集線器” 模式。在 “集線器” 模式中,交換機(jī)由于太過繁忙而不能執(zhí)行它的端口安全檢測功能,而是僅僅向網(wǎng)絡(luò)中的每一臺(tái)計(jì)算機(jī)廣播所有的網(wǎng)絡(luò)數(shù)據(jù)。利用大量的假冒ARP響應(yīng)數(shù)據(jù)包去洪泛一臺(tái)交換機(jī)的ARP映射表,黑客能使大多數(shù)制造商的交換機(jī)超載,然后當(dāng)交換機(jī)進(jìn)入 “集線器” 模式時(shí),就可以發(fā)送 (惡意的) 包去嗅探你的局域網(wǎng)。

害怕了?好,現(xiàn)在冷靜下來!

這是可怕的東西。ARP緩存中毒能夠利用一些微不足道的手段卻造成網(wǎng)絡(luò)的巨大危害。但是,當(dāng)你進(jìn)入到高度戒備狀態(tài)時(shí),注意到一個(gè)重要的緩解因素:只有也在局域網(wǎng)中的攻擊者才能利用ARP的缺陷 (因?yàn)锳RP協(xié)議只會(huì)在局域網(wǎng)(子網(wǎng))中進(jìn)行) 。黑客他要不是在你的網(wǎng)絡(luò)中找個(gè)接口插入而連接上你的局域網(wǎng),要不就是控制一個(gè)局域網(wǎng)內(nèi)的機(jī)器,這樣才能進(jìn)行ARP緩存中毒攻擊。ARP的缺陷不能在被遠(yuǎn)程利用。

那就是說,黑客會(huì)被知道他接入了這個(gè)網(wǎng)絡(luò)。優(yōu)秀的網(wǎng)絡(luò)管理員應(yīng)該能意識(shí)到ARP緩存中的技術(shù)。

由于ARP緩存中毒源于一個(gè)協(xié)議的缺陷,但是這個(gè)協(xié)議對(duì)于TCP/IP網(wǎng)絡(luò)的運(yùn)轉(zhuǎn)又是必須的,你不能去修改它。但是你可以運(yùn)用以下技術(shù)來防止ARP攻擊。

面向小型網(wǎng)絡(luò)

如果你管理著一個(gè)小型網(wǎng)絡(luò),你或許可以試試使用靜態(tài)IP地址和靜態(tài)ARP映射表。用命令行輸入,比如在Windows中是 “ipconfig/all” ,在NIX中是 “ifconfig” ,你就可以查看在你的網(wǎng)絡(luò)中的所有設(shè)備的IP地址和MAC地址了。然后使用 "arp-s" 命令,你可以為你所知道的設(shè)備添加靜態(tài)ARP映射。“靜態(tài)” 就是不會(huì)變化;這可以防止黑客的欺騙ARP進(jìn)入你的網(wǎng)絡(luò)設(shè)備中。你甚至可以創(chuàng)建一個(gè)登錄腳本當(dāng)它們啟動(dòng)時(shí)自動(dòng)添加這些靜態(tài)ARP到你的計(jì)算機(jī)中。

然而,靜態(tài)ARP很難被維護(hù);在大型網(wǎng)絡(luò)中更是不可能。那是因?yàn)槟忝考尤胍慌_(tái)設(shè)備到你的網(wǎng)絡(luò)中都需要你手動(dòng)地編寫ARP腳本或輸入每臺(tái)設(shè)備的ARP映射表。但是如果你是管理一個(gè)少于兩打的設(shè)備,這個(gè)技術(shù)或許適合于你。

面向大型網(wǎng)絡(luò)

如果你是管理著一個(gè)大型網(wǎng)絡(luò),好好去研究一下你的網(wǎng)絡(luò)交換機(jī)的 “端口安全” 功能。有一個(gè) “端口安全” 功能是允許你強(qiáng)制使你的交換機(jī)在每個(gè)端口只允許 (IP地址對(duì)應(yīng)的) 一個(gè)MAC地址通過。這個(gè)功能會(huì)阻止黑客改變他機(jī)器的MAC地址或試圖映射多個(gè)MAC地址到他的機(jī)器上。這種技術(shù)常常用于幫助防御基于ARP的中間人攻擊。

面向所有網(wǎng)絡(luò)

你最好的防御方法就是掌握ARP中毒的機(jī)制并監(jiān)視它。我強(qiáng)烈建議安裝一個(gè)ARP監(jiān)視工具,比如ARPwatch,當(dāng)有不正常的ARP通信時(shí)它會(huì)提醒你。這種警惕也是對(duì)付所有類型攻擊的最有力武器——就如Robert Louis Stevenson所寫的,“最殘酷的謊言常常是悄無聲息地說出來的”。

【編輯推薦】

  1. 通經(jīng)絡(luò) 拒絕服務(wù)不可怕
  2. 當(dāng)拒絕服務(wù)攻擊遇到云:4個(gè)教訓(xùn)
  3. 動(dòng)態(tài)ARP檢測 引發(fā)上網(wǎng)“不連續(xù)”
責(zé)任編輯:佟健 來源: 譯言網(wǎng)
相關(guān)推薦

2011-04-06 10:23:46

2012-04-06 10:04:21

2013-04-01 10:12:39

2009-07-17 17:58:51

2010-09-16 15:39:18

2011-07-20 11:01:39

2013-06-17 09:48:02

2017-01-10 08:48:21

2011-04-06 11:20:46

2013-02-22 15:41:47

2009-12-11 14:46:13

2009-02-13 09:24:00

2010-09-07 10:44:14

2014-10-17 09:30:38

2009-06-24 14:13:33

2012-11-16 13:26:16

2013-02-22 14:35:38

2009-03-03 09:16:11

2019-09-22 18:41:22

ARPARP攻擊地址解析協(xié)議

2010-06-17 17:53:28

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)