ARP緩存感染攻擊解析(3)
嘿ARP,你知道哪個騙你的設備不在你的字典中嗎?
網(wǎng)絡的設計者可能出于高效的考慮將ARP的對話過程設計得如此簡單。不幸的是,這種簡單也帶來了巨大的安全隱患。知道為什么在我對ARP的簡短描述中沒有提到任何形式的認證方法嗎?答案是,ARP根本就沒有。
ARP認為通信雙方都是安全可信的,實際上就是好騙的。當一個網(wǎng)絡中的設備發(fā)出去一個廣播ARP請求時,它只是簡單的相信當收到一個ARP響應時,這個響應真的是來自正確的設備 (因為按照協(xié)議只有IP地址對應的設備才會發(fā)出相應報文,譯者注)。ARP沒有提供任何方法去認證響應的設備就真是如它報文里所說的那臺。實際上,許多操作系統(tǒng)實現(xiàn)ARP時都是盡管沒有發(fā)出任何ARP請求但仍然接受來自其他設備的ARP響應。
好了,想象自己是一個惡意的黑客。你剛剛才知道ARP協(xié)議沒有任何認證ARP響應的方法。你已經(jīng)知道了很多設備在沒有發(fā)出任何請求的情況下仍然接受響應。嗯,我為什么不能制造一個完美有效但是惡意的,包含任何我自己選擇的IP地址和MAC地址的ARP響應報文?由于受害者的計算機會盲目地接受這個ARP響應并添加到它的ARP映射表中,因此讓受害者那極易受騙的計算機將任何我選的IP地址關(guān)聯(lián)到任何MAC地址。更進一步,我能廣播我做的假冒ARP響應到受害者的整個網(wǎng)絡中,欺騙網(wǎng)絡中所有的計算機。哇哈哈哈哈!
回到現(xiàn)實中來?,F(xiàn)在你可能知道了為什么這種常用技術(shù)叫做ARP緩存中毒 (或者叫ARP中毒):攻擊者欺騙你的局域網(wǎng)中的設備,誤導或者 “毒害” 它所知道其他設備的位置。這種恐怖而又簡單的攻擊使攻擊者給網(wǎng)絡帶來了巨大的危害,后面將會描述到。
你的所有ARP報文都是我們的!
這種使攻擊者能關(guān)聯(lián)任何IP地址和MAC地址的能力讓其可以進行很多種攻擊,包括拒絕服務攻擊(DoS, Denial of Service),中間人攻擊(Man in the Middle)和MAC洪泛(MAC Flooding)。
拒絕服務
一個黑客可以只做簡單的操作就將一個重要的IP地址和一個錯誤的MAC地址綁定。例如,黑客可以發(fā)送一個ARP響應報文 (到你的計算機) 將你所在網(wǎng)絡的路由器 (即我們常說的網(wǎng)管,譯者注) IP地址和一個根本不存在的MAC地址綁定起來。你的計算機一位它知道默認網(wǎng)關(guān)在哪,但是事實上它的所有數(shù)據(jù)包,其目的地址都不在這個網(wǎng)絡的網(wǎng)段上 (因為那個不存在的MAC不在此局域網(wǎng)的網(wǎng)段上,譯者注) ,它們最后消逝在了無盡的比特流中 (即因數(shù)據(jù)包的生命周期到了而信號消失,譯者注)。僅僅這一下,黑客就能阻止你連上因特網(wǎng)。