交換式以太網(wǎng)中的ARP與DNS欺騙技術(shù)分析
信息安全您的論文得到相關(guān)企業(yè)家品評交換式以太網(wǎng)中的ARP與DNS欺騙技術(shù)分析AnalysisofARPandDNSspoofinginSwitchEthernet(鄭州解放軍信息工程大學(xué))郭潤王振興敦
信息安全
您的論文得到相關(guān)企業(yè)家品評
交換式以太網(wǎng)中的ARP與DNS欺騙技術(shù)分析
AnalysisofARPandDNSspoofinginSwitchEthernet
(鄭州解放軍信息工程大學(xué))郭
潤王振興敦亞南
Guo,RunWang,ZhenxingDun,Yanan
摘要:利用TCP/IP協(xié)議缺陷進(jìn)行欺騙攻擊是目前網(wǎng)絡(luò)中常出現(xiàn)的攻擊方法,通過與網(wǎng)絡(luò)監(jiān)聽的結(jié)合,攻擊者能在不被察覺的情況下實(shí)現(xiàn)對被攻擊者通信數(shù)據(jù)的截獲并篡改,給當(dāng)今網(wǎng)絡(luò)通信安全帶來了嚴(yán)重威脅。本文分析了在交換式以太網(wǎng)中利用ARP欺騙突破交換網(wǎng)絡(luò)對數(shù)據(jù)監(jiān)聽的限制,成為“中間人”截獲DNS報(bào)文,進(jìn)而偽造DNS報(bào)文進(jìn)行DNS欺騙的技術(shù),并給出基于WinPcap的實(shí)現(xiàn)。
關(guān)鍵詞:交換式以太網(wǎng);ARP欺騙;中間人攻擊;DNS欺騙;網(wǎng)絡(luò)安全
文獻(xiàn)標(biāo)識碼A中圖分類號TP393.08
文章編號:1008-0570(2005)10-3-0021-03
置為混雜模式,也只能監(jiān)聽到連結(jié)在同一端口上主機(jī)間的數(shù)據(jù)傳輸。
針對交換式以太網(wǎng)的特點(diǎn),要使本不應(yīng)到達(dá)本地的數(shù)據(jù)幀到達(dá)本地,實(shí)現(xiàn)對網(wǎng)絡(luò)中通信的監(jiān)聽和進(jìn)一步的DNS欺騙攻擊,目前有兩種方法:MAC洪泛和ARP欺騙。MAC洪泛是指向交換機(jī)發(fā)送大量含有虛假MAC地址和IP地址的數(shù)據(jù)幀,溢出交換機(jī)中存儲
Abstract:Nowadays,hackersusuallymakeuseofTCP/IPpro-tocol'sflowstospooftheirtarget.Withthecombinationofsniffing,hackercaninterceptandtamperhistarget'scommu-nicationdata,whichisasignificantthreattotoday'snetworksecurity.ThispaperanalyzestheARPspoofingprincipleusedinSwitchEthernet,itcanbreakthroughtherestrictionofsniffingimposedbySwitchEthernet,andastheattackerbeingtheman-in-middle,DNSquerypacketscanbeinterceptedandtampered,whichmeansaforgedDNSresponsepacketwouldbesentbacktotheattackingtarget.Atlast,aimplementationbasedonWin-Pcapisgiven.
Keyword:SwitchEthernet;ARPSpoofing;Man-in-middleattack;DNSSpoofing;Networksecurity
MAC端口映射表的有限空間,致使交換機(jī)就進(jìn)入了所謂的“打開失效模式(FailopenMode)”,即進(jìn)入和集線器相同的廣播轉(zhuǎn)發(fā)模式;ARP欺騙則是通過欺騙被攻擊者將攻擊者的MAC地址作為網(wǎng)關(guān)MAC地址或使被攻擊者認(rèn)為網(wǎng)關(guān)的MAC地址是廣播地址FF-FF-FF-FF-FF-FF。MAC洪泛容易造成網(wǎng)絡(luò)不穩(wěn)定,且攻擊者需要處理接收到的網(wǎng)內(nèi)大量數(shù)據(jù)包,所以ARP欺騙技術(shù)較為常用。因此,本文將介紹以ARP欺騙突破交換式以太網(wǎng)對數(shù)據(jù)監(jiān)聽的限制,成為“中間人(man-in-
截獲DNS報(bào)文,進(jìn)而偽造DNS報(bào)文進(jìn)行DNSmiddle)”欺騙的技術(shù)。
技
術(shù)創(chuàng)新
2欺騙原理
2.1ARP欺騙
在TCP/IP網(wǎng)絡(luò)環(huán)境下,一個(gè)IP數(shù)據(jù)包到達(dá)目的地所經(jīng)過的網(wǎng)絡(luò)路徑是由路由器根據(jù)數(shù)據(jù)包的目的
1引言
以太網(wǎng)按其信息交換的方式可分為共享式以太網(wǎng)和交換式以太網(wǎng)。共享式以太網(wǎng)通過集線器進(jìn)行網(wǎng)絡(luò)互聯(lián),集線器將每個(gè)端口收到的數(shù)據(jù)幀向所有其它端口以廣播形式發(fā)送,因此任意主機(jī)都可以通過將網(wǎng)卡設(shè)置為混雜模式來監(jiān)聽網(wǎng)內(nèi)的所有通信;而交換式以太網(wǎng)是通過交換機(jī)將網(wǎng)內(nèi)主機(jī)相連,交換機(jī)將對每個(gè)端口收到數(shù)據(jù)幀進(jìn)行源和目的MAC地址檢測,然后與內(nèi)部動態(tài)的MAC端口映射表進(jìn)行比較,若數(shù)據(jù)幀的源MAC地址不在映射表中,則將該MAC地址和對應(yīng)接收端口加入映射表中,同時(shí)根據(jù)映射表中與目的MAC地址對應(yīng)的端口號,交換機(jī)把數(shù)據(jù)幀僅從該端口發(fā)送出去。因此交換機(jī)的每個(gè)端口可平行、安全、同時(shí)地互相傳輸信息,其它端口的主機(jī)即使將網(wǎng)卡設(shè)郭潤:碩士生
基金項(xiàng)目:國家“課題基金資助項(xiàng)目863”編號:2003AA103510
電話:010-62132436,62192616(T/F)
IP地址查找路由表決定的,但IP地址只是主機(jī)在網(wǎng)絡(luò)層中的地址,要在實(shí)際的物理鏈路上傳送數(shù)據(jù)包,還需要將IP數(shù)據(jù)包封裝到MAC幀后才能發(fā)送到網(wǎng)
絡(luò)中。同一鏈路上的哪臺主機(jī)接收這個(gè)MAC幀是依據(jù)該MAC幀中的目的MAC地址來識別的,即除了同一鏈路上將網(wǎng)卡置為混雜模式的主機(jī)外,只有當(dāng)某臺主機(jī)的MAC地址和鏈路中傳輸?shù)模停粒脦哪康模停粒玫刂废嗤瑫r(shí),該主機(jī)才會接收這個(gè)MAC幀并拆封為IP數(shù)據(jù)包交給上層模塊處理。因此,每一臺主機(jī)在發(fā)送鏈路層數(shù)據(jù)幀前都需要知道同一鏈路上接收方的MAC地址,地址解析協(xié)議ARP正是用來進(jìn)行IP地址到MAC地址的轉(zhuǎn)換的。同時(shí)為了避免不必要的
ARP報(bào)文查詢,每臺主機(jī)的操作系統(tǒng)都維護(hù)著一個(gè)ARP高速緩存(ARPCache),記錄著同一鏈路上其它主機(jī)的IP地址到MAC地址的映射關(guān)系。ARP高速緩存通常是動態(tài)的(該緩存可以手工添加靜態(tài)條目),由系統(tǒng)在一定的時(shí)間間隔后進(jìn)行刷新。
200例》
中國自控網(wǎng):http://www.autocontrol.cn:/-21-
,中文核心期刊《微計(jì)算機(jī)信息》(管控一體化)2005年第21卷第10-3期
ARP協(xié)議雖然是一個(gè)高效的數(shù)據(jù)鏈路層協(xié)議,但作為一個(gè)局域網(wǎng)協(xié)議,它是建立在各主機(jī)之間相互信任的基礎(chǔ)上的,所以ARP協(xié)議存在以下缺陷:ARP高速緩存根據(jù)所接收到的ARP協(xié)議包隨時(shí)進(jìn)行動態(tài)更新;ARP協(xié)議沒有連接的概念,任意主機(jī)即使在沒有
器上去,從而對網(wǎng)絡(luò)的完整性構(gòu)成威脅;
(3)DNS的高速緩存機(jī)制,當(dāng)一個(gè)域名服務(wù)器收到有關(guān)域名和IP的映射信息時(shí),它會將該信息存放在高速緩存中,當(dāng)再次遇到對此域名的查詢請求時(shí)就直接使用緩存中的結(jié)果而無需重新查詢。
針對DNS協(xié)議存在的安全缺陷,目前可采用DNS欺騙技術(shù)有:
(1)內(nèi)應(yīng)攻擊。攻擊者在非法或合法地控制一臺
ARP請求的時(shí)候也可以做出應(yīng)答;ARP協(xié)議沒有認(rèn)證機(jī)制,只要接收到的協(xié)議包是有效的,主機(jī)就無條件的根據(jù)協(xié)議包的內(nèi)容刷新本機(jī)ARP緩存,并不檢查該協(xié)議包的合法性。因此攻擊者可以隨時(shí)發(fā)送虛假ARP包更新被攻擊主機(jī)上的ARP緩存,進(jìn)行地址欺騙或拒絕服務(wù)攻擊。
DNS服務(wù)器后,可以直接操作域名數(shù)據(jù)庫,修改指定域名所對應(yīng)的IP為自己所控制的主機(jī)IP。于是,當(dāng)客戶發(fā)出對指定域名的查詢請求后,將得到偽造的IP地址。
(2)序列號攻擊。DNS協(xié)議格式中定義了序列號ID是用來匹配請求數(shù)據(jù)包和響應(yīng)數(shù)據(jù)報(bào),客戶端首先以特定的ID向DNS服務(wù)器發(fā)送域名查詢數(shù)據(jù)包,在DNS服務(wù)器查詢之后以相同的ID號給客戶端發(fā)送域
技術(shù)創(chuàng)新
針對交換機(jī)根據(jù)目的MAC地址來決定數(shù)據(jù)包轉(zhuǎn)發(fā)端口的特點(diǎn),ARP欺騙的實(shí)現(xiàn)如圖1所示:假設(shè)主機(jī)C為實(shí)施ARP欺騙的攻擊者,其目的是截獲主機(jī)B和主機(jī)A間的通信數(shù)據(jù),且主機(jī)C在實(shí)施ARP欺騙前已經(jīng)預(yù)先知道A和B的IP地址。這時(shí)C先發(fā)送ARP包獲得主機(jī)B的MAC地址,然后向B發(fā)送ARP
名響應(yīng)數(shù)據(jù)包。這時(shí)客戶端會將收到的DNS響應(yīng)數(shù)據(jù)包的ID和自己發(fā)送的查詢數(shù)據(jù)包ID相比較,如果匹配則表明接收到的正是自己等待的數(shù)據(jù)報(bào),如果不匹配則丟棄之。利用序列號進(jìn)行DNS欺騙的關(guān)鍵是偽裝DNS服務(wù)器向客戶端發(fā)送DNS響應(yīng)數(shù)據(jù)包,并在
Reply數(shù)據(jù)包,其中源IP地址為A的IP地址,但是源MAC地址卻是主機(jī)C的MAC地址。主機(jī)B收到該ARPReply后,將根據(jù)新的IP與MAC映射對更新ARP緩存。這以后當(dāng)B給A發(fā)送數(shù)據(jù)包時(shí),目標(biāo)MAC地址將使用C的MAC地址,因此交換機(jī)根據(jù)C的
同MAC地址就將數(shù)據(jù)包轉(zhuǎn)發(fā)到攻擊者C所在的端口。
理攻擊者C發(fā)送ARPReply使主機(jī)A確信主機(jī)B的
在間歇的發(fā)送虛假ARPMAC地址為C的MAC地址。
Reply的同時(shí),攻擊者C打開本地主機(jī)的路由功能,將被劫持的數(shù)據(jù)包轉(zhuǎn)發(fā)到正確的目地主機(jī),這時(shí)攻擊者對主機(jī)A和B來說是完全透明的,通信不會出現(xiàn)異常,但實(shí)際上數(shù)據(jù)包卻被C非法截獲,攻擊者C成為了中間人”“。
DNS服務(wù)器發(fā)送的真實(shí)DNS響應(yīng)數(shù)據(jù)報(bào)之前到達(dá)客
戶端,從而使客戶端DNS緩存中查詢域名所對應(yīng)的IP就是攻擊者偽造的IP,因此將客戶端帶到攻擊者所希望的網(wǎng)站。其欺騙的前提條件是攻擊者發(fā)送的DNS響應(yīng)數(shù)據(jù)包ID必須匹配客戶的DNS查詢數(shù)據(jù)包ID。
在實(shí)際欺騙攻擊中,利用序列號進(jìn)行DNS欺騙可分兩種情況:第一,當(dāng)攻擊者與DNS服務(wù)器、本地主機(jī)與客戶端主機(jī)均不在同一個(gè)局域網(wǎng)內(nèi)時(shí),攻擊者可以向客戶端主機(jī)隨機(jī)發(fā)送大量DNS響應(yīng)數(shù)據(jù)報(bào),其中序列號是任意給定的,因此序列號和客戶端查詢報(bào)文序列號匹配的概率很低;第二,當(dāng)攻擊者至少與DNS服務(wù)器或客戶端主機(jī)中的某一個(gè)處在同一個(gè)局域網(wǎng)內(nèi)時(shí),對于共享式以太網(wǎng)攻擊者可以通過嗅探得到DNS查詢報(bào)文的序列號,對于交換式以太網(wǎng)攻擊者就需要通過ARP欺騙獲取DNS查詢報(bào)文序列號。
2.2DNS欺騙
主機(jī)域名與IP地址的映射關(guān)系是由域名系統(tǒng)DNS來實(shí)現(xiàn)的,現(xiàn)在Internet上主要使用Bind域名服務(wù)器程序。DNS協(xié)議具有以下特點(diǎn):
3具體實(shí)現(xiàn)
為了能在Windows下發(fā)送原始數(shù)據(jù)包,本文利用了WinPcap來開發(fā)實(shí)驗(yàn)程序。WinPcap是一個(gè)Win32平臺下進(jìn)行數(shù)據(jù)包捕獲和網(wǎng)絡(luò)分析的開源程序庫,它具有內(nèi)核級的包過濾器,提供了捕獲原始數(shù)據(jù)包,按照一定規(guī)則過濾數(shù)據(jù)包,以及發(fā)送原始數(shù)據(jù)包功能。
(1)DNS報(bào)文只使用一個(gè)序列號來進(jìn)行有效性鑒別,序列號由客戶程序設(shè)置并由服務(wù)器返回結(jié)果,客戶程序通過它來確定響應(yīng)與查詢是否匹配,這就引入了序列號攻擊的危險(xiǎn);
(2)在DNS應(yīng)答報(bào)文中可以附加信息,該信息可以和所請求的信息沒有直接關(guān)系,這樣,攻擊者就可以在應(yīng)答中隨意添加某些信息,指示某域的權(quán)威域名服務(wù)器的域名及IP,導(dǎo)致在被影響的域名服務(wù)器上查詢該域的請求都會被轉(zhuǎn)向攻擊者所指定的域名服務(wù)
中國自控網(wǎng):http://www.autocontrol.com.cn
-元/:3.1實(shí)驗(yàn)設(shè)計(jì)
實(shí)驗(yàn)程序的假設(shè)應(yīng)用環(huán)境是攻擊者和被攻擊客戶端(也可以是域名服務(wù)器)處于同一個(gè)交換式以太網(wǎng)中。首先,打開本地攻擊者主機(jī)的路由功能,設(shè)置
Windows2000Server注冊表鍵值HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Pa
電話:010-62132436,62192616(T/F)
《PLC技術(shù)應(yīng)用200例》
,信息安全
您的論文得到相關(guān)企業(yè)家品評
rameters\IPEnableRouter=0x1,這樣在實(shí)施欺騙攻擊時(shí)被攻擊客戶端仍能訪問互聯(lián)網(wǎng),達(dá)到隱蔽攻擊者的目的。然后根據(jù)網(wǎng)關(guān)和被攻擊客戶端的IP發(fā)送ARP請求得到兩者的MAC地址,為攻擊做好準(zhǔn)備。
中要突破交換式以太網(wǎng)數(shù)據(jù)監(jiān)聽的限制,成為“間人”截獲DNS報(bào)文,實(shí)驗(yàn)程序中創(chuàng)建了兩個(gè)線程。一個(gè)線程進(jìn)行實(shí)時(shí)的ARP欺騙,其具體負(fù)責(zé)間歇地向被
攻擊客戶端和網(wǎng)關(guān)發(fā)送偽造的ARP響應(yīng)報(bào)文,更新被攻擊客戶端和網(wǎng)關(guān)的ARP緩存,讓攻擊者成為雙方通信的中繼節(jié)點(diǎn),即作為“中間人”插入被攻擊客戶端和網(wǎng)關(guān)的通信路徑中,從而截獲被攻擊客戶端和網(wǎng)關(guān)間的所有數(shù)據(jù)通信,為進(jìn)行DNS欺騙奠定基礎(chǔ)。
另一個(gè)線程監(jiān)聽網(wǎng)關(guān)和被攻擊客戶端之間的數(shù)據(jù)包,若發(fā)現(xiàn)其中有客戶發(fā)送的DNS域名服務(wù)查詢數(shù)據(jù)包(目的端口為53),則提取客戶DNS查詢數(shù)據(jù)包中的ID序列號,偽造一個(gè)DNS響應(yīng)報(bào)文發(fā)送給查詢域名的客戶,該響應(yīng)報(bào)文中就帶有攻擊者希望客戶去訪問的IP地址。這樣客戶將先收到偽造的DNS響應(yīng)報(bào)文并訪問錯(cuò)誤的或者被攻擊者控制的網(wǎng)站。整個(gè)攻擊的過程如圖2所示。
問獲得的數(shù)據(jù)中常常包含許多鏈接,而客戶端用戶也常常根據(jù)客戶端界面的引導(dǎo)而對這些鏈接指向的地址進(jìn)行訪問。由于攻擊者作為“中間人”轉(zhuǎn)發(fā)客戶端和
Internet間通信的數(shù)據(jù)流,所以攻擊者可以不進(jìn)行DNS欺騙,直接對服務(wù)器返回內(nèi)容中的鏈接進(jìn)行修改,將它們指向攻擊者控制的機(jī)器上去。當(dāng)然,攻擊者還要保留原來鏈接的足夠信息,以便在收到新的訪問請求時(shí)攻擊者能夠代替客戶去訪問正確的地址,回送看似正確的內(nèi)容。當(dāng)然,細(xì)心的用戶可以通過查看Web瀏覽器中的狀態(tài)行、地址行或網(wǎng)頁源代碼等發(fā)現(xiàn)自己已經(jīng)進(jìn)入假冒的頁面,這時(shí)攻擊者就需要進(jìn)行更細(xì)致的欺騙,文獻(xiàn)中詳細(xì)介紹了這些技術(shù)。
4結(jié)論
通過本文的分析得知,在交換式以太網(wǎng)中要進(jìn)行數(shù)據(jù)監(jiān)聽和DNS欺騙等,都需要先進(jìn)行ARP欺騙,因此在以太網(wǎng)中防御ARP欺騙顯得尤為重要。目前,針對ARP欺騙的防御可以采用在目標(biāo)主機(jī)的ARP緩存中設(shè)置靜態(tài)地址映射記錄,但其缺點(diǎn)是若改變了網(wǎng)內(nèi)主機(jī)的IP,就需要重新設(shè)置ARP緩存,所以運(yùn)用不廣;也可以對網(wǎng)絡(luò)中的ARP報(bào)文進(jìn)行被動檢測或主動發(fā)送ARP查詢報(bào)文,當(dāng)發(fā)現(xiàn)一個(gè)IP地址對應(yīng)兩個(gè)
總的來說,由MAC地址時(shí),就存在欺騙攻擊的可能性。
于ARP設(shè)計(jì)存在缺陷,要根本解決ARP欺騙問題比
較困難,作為在IPv6網(wǎng)絡(luò)中替代ARP協(xié)議的鄰居發(fā)現(xiàn)協(xié)議ND同樣也存在被欺騙攻擊的可能,目前IETF正在開發(fā)的安全鄰居發(fā)現(xiàn)協(xié)議SEND可能在下一代網(wǎng)絡(luò)中解決此問題。
參考文獻(xiàn)
技術(shù)創(chuàng)新
[1]DNSAbuse;http://packetstorm.securify.com/papers/protocols/mi004en.htm;2004.11.15.
[2]Felten.E,Balfanz.D,Dean.D,Wallach.D.S;WebSpoofing,AnInternetConGame;http://bau2.uibk.ac.at/matic/spoofing.htm;2004.12.1
[3]賀龍濤,方濱興,胡銘曾;主動監(jiān)聽中協(xié)議欺騙的研究;通信學(xué)報(bào);2003.11
[4]任俠,呂述望;ARP協(xié)議欺騙原理分析與抵御方法;計(jì)算機(jī)工程;2003.6
作者簡介:郭潤(1980-),男,碩士生,解放軍信息工程大學(xué)信息工程學(xué)院信息科學(xué)系,研究方向?yàn)榫W(wǎng)絡(luò)互聯(lián)、網(wǎng)絡(luò)安全;E-mail:grixmail@hotmail.com;王振興(1959-),男,教授,博士,解放軍信息工程大學(xué);敦亞南(1980-),女,碩士生,解放軍信息工程大學(xué)信息工程學(xué)院信息科學(xué)系。
3.2對進(jìn)一步Web欺騙的分析
通過DNS欺騙,客戶將訪問到錯(cuò)誤的網(wǎng)站,若攻擊者在讓客戶訪問的虛假網(wǎng)站上克隆了客戶欲訪問的真實(shí)網(wǎng)站,則對于普通計(jì)算機(jī)用戶來說是無法分辨網(wǎng)站的真實(shí)性的,因此攻擊者可誘騙客戶輸入如賬號和密碼等信息然后再將客戶端重定向到真實(shí)網(wǎng)站,而客戶卻對自己遭到欺騙攻擊的事實(shí)毫無察覺。
此外,對于Web服務(wù)等有鏈接服務(wù),客戶每次訪
電話:010-62132436,62192616(T/F)
(450002河南鄭州解放軍信息工程大學(xué)信息工程學(xué)院)郭潤王振興敦亞南
(InstituteofInformationEngineering,InformationEngineeringUniversity,ZhenzhouHenan,450002)Guo,RunWang,ZhenxingDun,Yanan聯(lián)系方式:
(450002鄭州1001信箱835分箱)郭潤
(投稿日期:2005.4.5)(修稿日期:2005.4.20)
200例》
中國自控網(wǎng):http://www.autocontrol.cn
:/-23-