ARP欺騙(英語(yǔ):ARP spoofing),又稱ARP毒化(ARP poisoning,網(wǎng)絡(luò)上多譯為ARP病毒)或ARP攻擊,是針對(duì)以太網(wǎng)地址解析協(xié)議(ARP)的一種攻擊技術(shù),通過(guò)欺騙局域網(wǎng)內(nèi)訪問(wèn)者PC的網(wǎng)關(guān)MAC地址,使訪問(wèn)者PC錯(cuò)以為攻擊者更改后的MAC地址是網(wǎng)關(guān)的MAC,導(dǎo)致網(wǎng)絡(luò)不通。此種攻擊可讓攻擊者獲取局域網(wǎng)上的數(shù)據(jù)包甚至可篡改數(shù)據(jù)包,且可讓網(wǎng)絡(luò)上特定計(jì)算機(jī)或所有計(jì)算機(jī)無(wú)法正常連線。最早探討ARP欺騙的文章是由Yuri Volobuev所寫的《ARP與ICMP轉(zhuǎn)向游戲》(ARP and ICMP redirection games)。
簡(jiǎn)介
編輯
ARP欺騙(英語(yǔ):
ARP spoofing),又稱
ARP毒化(
ARP poisoning,網(wǎng)絡(luò)上多譯為
ARP病毒)或
ARP攻擊,是針對(duì)
以太網(wǎng)地址解析協(xié)議(
ARP)的一種攻擊技術(shù)。此種攻擊可讓攻擊者獲取
局域網(wǎng)上的數(shù)據(jù)包甚至可篡改數(shù)據(jù)包,且可讓網(wǎng)絡(luò)上特定計(jì)算機(jī)或所有計(jì)算機(jī)無(wú)法正常連線。最早探討ARP欺騙的文章是由Yuri Volobuev所寫的《ARP與ICMP轉(zhuǎn)向游戲》(
ARP and ICMP redirection games)。
[1] 運(yùn)作機(jī)制
編輯
ARP欺騙的運(yùn)作原理是由攻擊者發(fā)送假的ARP數(shù)據(jù)包到網(wǎng)上,尤其是送到網(wǎng)關(guān)上。其目的是要讓送至特定的IP地址的流量被錯(cuò)誤送到攻擊者所取代的地方。因此攻擊者可將這些流量另行轉(zhuǎn)送到真正的網(wǎng)關(guān)(被動(dòng)式數(shù)據(jù)包嗅探,passive sniffing)或是篡改后再轉(zhuǎn)送(中間人攻擊,man-in-the-middle attack)。攻擊者亦可將ARP數(shù)據(jù)包導(dǎo)到不存在的
MAC地址以達(dá)到阻斷服務(wù)攻擊的效果,例如netcut軟件。
例如某一的IP地址是192.168.0.254,其MAC地址為00-11-22-33-44-55,網(wǎng)絡(luò)上的計(jì)算機(jī)內(nèi)ARP表會(huì)有這一筆ARP記錄。攻擊者發(fā)動(dòng)攻擊時(shí),會(huì)大量發(fā)出已將192.168.0.254的MAC地址篡改為00-55-44-33-22-11的ARP數(shù)據(jù)包。那么網(wǎng)絡(luò)上的計(jì)算機(jī)若將此偽造的ARP寫入自身的ARP表后,計(jì)算機(jī)若要透過(guò)網(wǎng)上網(wǎng)關(guān)連到其他計(jì)算機(jī)時(shí),數(shù)據(jù)包將被導(dǎo)到00-55-44-33-22-11這個(gè)MAC地址,因此攻擊者可從此MAC地址截收到數(shù)據(jù)包,可篡改后再送回真正的網(wǎng)關(guān),或是什么也不做,讓網(wǎng)上無(wú)法連線。
簡(jiǎn)單案例分析:這里用一個(gè)最簡(jiǎn)單的案例來(lái)說(shuō)明ARP欺騙的核心步驟。假設(shè)在一個(gè)LAN里,只有三臺(tái)主機(jī)A、B、C,且C是攻擊者。
攻擊者聆聽(tīng)局域網(wǎng)上的MAC地址。它只要收到兩臺(tái)主機(jī)洪泛的ARP Request,就可以進(jìn)行欺騙活動(dòng)。
主機(jī)A、B都洪泛了ARP Request.攻擊者現(xiàn)在有了兩臺(tái)主機(jī)的IP、MAC地址,開(kāi)始攻擊。
攻擊者發(fā)送一個(gè)ARP Reply給主機(jī)B,把此包protocol header里的sender IP設(shè)為A的IP地址,sender mac設(shè)為攻擊者自己的MAC地址。
主機(jī)B收到ARP Reply后,更新它的ARP表,把主機(jī)A的MAC地址(IP_A, MAC_A)改為(IP_A, MAC_C)。
當(dāng)主機(jī)B要發(fā)送數(shù)據(jù)包給主機(jī)A時(shí),它根據(jù)ARP表來(lái)封裝數(shù)據(jù)包的Link報(bào)頭,把目的MAC地址設(shè)為MAC_C,而非MAC_A。
當(dāng)交換機(jī)收到B發(fā)送給A的數(shù)據(jù)包時(shí),根據(jù)此包的目的MAC地址(MAC_C)而把數(shù)據(jù)包轉(zhuǎn)發(fā)給攻擊者C。
攻擊者收到數(shù)據(jù)包后,可以把它存起來(lái)后再發(fā)送給A,達(dá)到偷聽(tīng)效果。攻擊者也可以篡改數(shù)據(jù)后才發(fā)送數(shù)據(jù)包給A,造成傷害。 [1]
防制方法
編輯
最理想的防制方法是網(wǎng)上內(nèi)的每臺(tái)計(jì)算機(jī)的ARP一律改用靜態(tài)的方式,不過(guò)這在大型的網(wǎng)上是不可行的,因?yàn)樾枰?jīng)常更新每臺(tái)計(jì)算機(jī)的ARP表。
另外一種方法,例如
DHCP snooping,網(wǎng)上設(shè)備可借由
DHCP保留網(wǎng)絡(luò)上各計(jì)算機(jī)的MAC地址,在偽造的ARP數(shù)據(jù)包發(fā)出時(shí)即可偵測(cè)到。此方式已在一些廠牌的網(wǎng)上設(shè)備產(chǎn)品所支持。
有一些軟件可監(jiān)聽(tīng)網(wǎng)絡(luò)上的ARP回應(yīng),若偵測(cè)出有不正常變動(dòng)時(shí)可發(fā)送
郵箱通知管理者。例如UNIX平臺(tái)的
Arpwatch以及
Windows上的XArp v2或一些網(wǎng)上設(shè)備的Dynamic ARP inspection功能。
[1] 正當(dāng)用途
編輯
ARP欺騙亦有正當(dāng)用途。其一是在一個(gè)需要登錄的網(wǎng)上中,讓未登錄的計(jì)算機(jī)將其瀏覽網(wǎng)頁(yè)強(qiáng)制轉(zhuǎn)向到登錄頁(yè)面,以便登錄后才可使用網(wǎng)上。另外有些設(shè)有備援機(jī)制的網(wǎng)上設(shè)備或
服務(wù)器,亦需要利用ARP欺騙以在設(shè)備出現(xiàn)故障時(shí)將訊務(wù)導(dǎo)到備用的設(shè)備上。
[1]
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。