ARP欺騙內(nèi)網(wǎng)滲透和防范論文

時(shí)間:2022-03-12 10:44:00

導(dǎo)語(yǔ):ARP欺騙內(nèi)網(wǎng)滲透和防范論文一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

ARP欺騙內(nèi)網(wǎng)滲透和防范論文

摘要本文從協(xié)議欺騙的角度,討論了在內(nèi)網(wǎng)中進(jìn)行網(wǎng)絡(luò)滲透的方法,研究了基于arp欺騙的數(shù)據(jù)包替換技術(shù),以替換WEB回復(fù)報(bào)文中的鏈接信息為例,分析了無(wú)漏洞滲透技術(shù)的原理。在此基礎(chǔ)上,探討了基于ARP欺騙的內(nèi)網(wǎng)滲透防范措施。

關(guān)鍵詞ARP欺騙;內(nèi)網(wǎng)滲透;無(wú)漏洞滲透防范

引言

協(xié)議欺騙是指通過(guò)對(duì)通信雙方使用協(xié)議弱點(diǎn)的利用,冒充其中一方與另一方進(jìn)行通信的行為。對(duì)于廣播式網(wǎng)絡(luò),只要更改自己網(wǎng)卡的接收模式為混雜模式,理論上就可以截獲所有內(nèi)網(wǎng)上的通信。對(duì)于交換式網(wǎng)絡(luò)環(huán)境,如果要截獲網(wǎng)絡(luò)上不屬于自己的通信,可以通過(guò)協(xié)議欺騙來(lái)實(shí)現(xiàn)。內(nèi)網(wǎng)滲透指的是在網(wǎng)絡(luò)內(nèi)部的滲透,在本地局域網(wǎng)內(nèi)部對(duì)網(wǎng)內(nèi)的其他系統(tǒng)進(jìn)行滲透的過(guò)程?;贏RP欺騙的內(nèi)網(wǎng)滲透指網(wǎng)絡(luò)攻擊者利用ARP欺騙截獲不屬于自身的通信,并從這一條件中獲取更多利益的行為。

1ARP協(xié)議欺騙與內(nèi)網(wǎng)滲透

1.1ARP協(xié)議欺騙

ARP(AddressResolutionProtocol,地址解析協(xié)議)是一個(gè)位于TCP/IP協(xié)議棧中的低層協(xié)議,負(fù)責(zé)將局域網(wǎng)中某個(gè)IP地址解析成對(duì)應(yīng)的MAC地址。

IP地址到MAC地址的映射關(guān)系主要是靠ARP協(xié)議來(lái)實(shí)現(xiàn)的。對(duì)于網(wǎng)絡(luò)主機(jī),這個(gè)映射關(guān)系存放在ARP高速緩存中。ARP協(xié)議是這樣工作的:首先,網(wǎng)絡(luò)通信源機(jī)器向網(wǎng)絡(luò)廣播ARP請(qǐng)求包,請(qǐng)求網(wǎng)絡(luò)通信目的機(jī)器IP所對(duì)應(yīng)的MAC地址;然后使用該IP的機(jī)器會(huì)向請(qǐng)求方發(fā)送一個(gè)含有其MAC地址的ARP回應(yīng)包,這樣請(qǐng)求方就知道向哪個(gè)MAC地址(目的主機(jī))發(fā)送數(shù)據(jù)。

ARP協(xié)議存在以下安全問(wèn)題[1]:無(wú)連接、無(wú)認(rèn)證、動(dòng)態(tài)性、廣播。利用ARP協(xié)議的這些安全問(wèn)題,可以設(shè)計(jì)ARP協(xié)議欺騙的步驟和方法。

①主機(jī)在不知道目的IP對(duì)應(yīng)的MAC地址時(shí),進(jìn)行ARP廣播請(qǐng)求,入侵者可以在接收到該ARP請(qǐng)求后以自己的MAC地址應(yīng)答,進(jìn)行假冒;

②由于被假冒機(jī)器所發(fā)送的ARP應(yīng)答有可能比入侵者發(fā)送的應(yīng)答晚到達(dá)請(qǐng)求主機(jī),為了確保請(qǐng)求主機(jī)的緩存中絕大部分時(shí)間存放的是入侵者的MAC地址,可以在收到ARP請(qǐng)求后稍微延遲一段時(shí)間再發(fā)送一遍ARP應(yīng)答;

③有些系統(tǒng)會(huì)向自己緩存中的地址發(fā)送非廣播的ARP請(qǐng)求來(lái)更新自己的緩存。在交換網(wǎng)絡(luò)環(huán)境下,如果請(qǐng)求主機(jī)緩存中已存有正確的主機(jī)MAC地址,入侵者就不能用以上接收請(qǐng)求然后應(yīng)答的方法來(lái)更換被攻擊主機(jī)緩存內(nèi)容。由ARP弱點(diǎn)分析可知,應(yīng)答可以隨意發(fā)送,不一定要在請(qǐng)求之后。

1.2基于協(xié)議欺騙的內(nèi)網(wǎng)滲透

基于協(xié)議欺騙的內(nèi)網(wǎng)滲透技術(shù)也稱(chēng)無(wú)漏洞滲透技術(shù)。無(wú)漏洞滲透技術(shù)是相對(duì)于利用軟件漏洞進(jìn)行網(wǎng)絡(luò)滲透的技術(shù)來(lái)說(shuō)的。在以太網(wǎng)中,只要被滲透機(jī)器在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)包經(jīng)過(guò)本地網(wǎng)卡,在本地就可以截獲其數(shù)據(jù)包中的敏感信息,并可以更改數(shù)據(jù)包內(nèi)容、替換數(shù)據(jù)包中的傳輸實(shí)體,使得被滲透機(jī)器上的敏感信息泄露,并可以使其在接收到被更改過(guò)的數(shù)據(jù)包之后,產(chǎn)生更多的損失。對(duì)內(nèi)網(wǎng)中的機(jī)器進(jìn)行滲透,不一定需要軟件漏洞的存在。將這種不需要軟件漏洞進(jìn)行滲透的技術(shù)稱(chēng)為無(wú)漏洞滲透技術(shù)。

在交換型以太網(wǎng)中,所有的主機(jī)連接到交換機(jī),交換機(jī)知道每臺(tái)計(jì)算機(jī)的MAC地址信息和與之相連的特定端口,發(fā)給某個(gè)主機(jī)的數(shù)據(jù)包會(huì)被交換機(jī)從特定的端口送出,交換機(jī)通過(guò)數(shù)據(jù)包中的目的MAC地址來(lái)判斷最終通過(guò)自己的哪個(gè)端口來(lái)傳遞該報(bào)文,通過(guò)ARP欺騙之后,交換機(jī)將無(wú)條件地對(duì)這些報(bào)文進(jìn)行轉(zhuǎn)發(fā),從而確保了ARP欺騙報(bào)文的正確發(fā)送。

2基于ARP欺騙的內(nèi)網(wǎng)滲透

2.1無(wú)漏洞滲透技術(shù)

無(wú)漏洞滲透技術(shù)的研究重點(diǎn)是在欺騙成功之后,對(duì)數(shù)據(jù)包的處理。對(duì)數(shù)據(jù)包處理的方式主要有兩種,敏感信息的截取和傳輸實(shí)體的獲取與替換。

·報(bào)文中敏感信息的獲取

對(duì)于明文傳輸?shù)拿嫦蜻B接和非面向連接的協(xié)議,在截獲報(bào)文之后,對(duì)報(bào)文中傳輸?shù)男畔⑦M(jìn)行還原,并提取其中的敏感信息,如非加密WEB頁(yè)面的用戶名、密碼,TELNET的用戶名、密碼,F(xiàn)TP的用戶名、密碼和與郵件服務(wù)器進(jìn)行交互時(shí)所需要的用戶名、密碼等都可以直接進(jìn)行嗅探。

·傳輸實(shí)體的獲取與替換

明文傳輸?shù)拿嫦蜴溄拥膮f(xié)議中有很多協(xié)議支持文件實(shí)體的傳輸。如HTTP協(xié)議、FTP協(xié)議、SMTP協(xié)議。對(duì)文件的實(shí)體獲取是相對(duì)簡(jiǎn)單的,對(duì)到達(dá)本地網(wǎng)卡的報(bào)文進(jìn)行緩存,當(dāng)收到連續(xù)報(bào)文中小于1500Byte[2]的報(bào)文時(shí)對(duì)報(bào)文進(jìn)行還原,文件實(shí)體便可以得到。

本文以網(wǎng)頁(yè)傳輸為例,來(lái)探討傳輸報(bào)文中網(wǎng)頁(yè)里包含鏈接的替換,分析WEB欺騙攻擊[3]的原理。

2.2數(shù)據(jù)包獲取與分析

數(shù)據(jù)包常規(guī)的傳輸路徑依次為網(wǎng)卡、設(shè)備驅(qū)動(dòng)層、數(shù)據(jù)鏈路層、IP層、傳輸層、最后到達(dá)應(yīng)用程序。而包捕獲機(jī)制是在數(shù)據(jù)鏈路層增加一個(gè)旁路處理,對(duì)發(fā)送和接收到的數(shù)據(jù)包做過(guò)濾/緩沖等相關(guān)處理,最后直接傳遞到應(yīng)用程序。值得注意的是,包捕獲機(jī)制并不影響操作系統(tǒng)對(duì)數(shù)據(jù)包的網(wǎng)絡(luò)棧處理。對(duì)用戶程序而言,包捕獲機(jī)制提供了一個(gè)統(tǒng)一的接口,使用戶程序只需要簡(jiǎn)單的調(diào)用若干函數(shù)就能獲得所期望的數(shù)據(jù)包。目前,在Unix下有Libpcap開(kāi)發(fā)包、Windows下有Winpcap開(kāi)發(fā)包,都可以輕松地實(shí)現(xiàn)數(shù)據(jù)包的捕獲和分析。

2.3數(shù)據(jù)包內(nèi)容替換

·WEB請(qǐng)求截獲

通過(guò)瀏覽器發(fā)送WEB頁(yè)的請(qǐng)求,經(jīng)過(guò)封裝后形成的以太網(wǎng)數(shù)據(jù)包不會(huì)超過(guò)1514Byte,所以,不用擔(dān)心WEB請(qǐng)求報(bào)文會(huì)出現(xiàn)分片的情況。當(dāng)實(shí)現(xiàn)欺騙之后,就不斷地截獲、轉(zhuǎn)發(fā)兩個(gè)被欺騙目標(biāo)之間的通信報(bào)文,并分析每一個(gè)小于1514Byte(以太包)的通信報(bào)文。

一個(gè)HTTP請(qǐng)求包包含14字節(jié)的以太網(wǎng)頭部、20字節(jié)的IP頭部和20字節(jié)的TCP頭部以及HTTP請(qǐng)求包。其中HTTP協(xié)議(以HTTP1.1為例)包格式[4]如圖1所示。

圖1HTTP請(qǐng)求包格式

一個(gè)請(qǐng)求包括:方法+請(qǐng)求URI+HTTP版本號(hào)。方法有:GET|HEAD|POST|擴(kuò)展方法;URI=目錄與文件名;HTTP版本為HTTP/1.1。一個(gè)完整的URL為協(xié)議類(lèi)型+WEB域名+URI。截獲到HTTP請(qǐng)求包之后,發(fā)送以自身為源IP的偽造請(qǐng)求包到WEB服務(wù)器,和WEB服務(wù)器交互,以獲取所有請(qǐng)求的文件內(nèi)容。注意,在截獲請(qǐng)求后,需要緩存TCP頭部的序號(hào)和確認(rèn)號(hào),以備發(fā)送修改后的請(qǐng)求文件所用。

·獲取正常WEB頁(yè)、替換連接

復(fù)制請(qǐng)求的內(nèi)容,根據(jù)序號(hào)和確認(rèn)號(hào)構(gòu)造包頭,發(fā)送到WEB服務(wù)器。緩存頭部信息和獲取的文件內(nèi)容。并在每收到一次來(lái)自WEB服務(wù)器的TCP包時(shí),即構(gòu)造并發(fā)送一個(gè)確認(rèn)給WEB服務(wù)器,直到緩存了所有的頁(yè)面文件內(nèi)容。將獲取的頁(yè)面內(nèi)容進(jìn)行更改,替換其中的鏈接(以替換頁(yè)面的所有鏈接為

例)。這需要對(duì)HTTP回應(yīng)包進(jìn)行分析。

圖2HTTP協(xié)議回應(yīng)包格式

如圖2所示,從以太幀中剝離的HTTP回應(yīng)包格式包含協(xié)議版本、狀態(tài)碼、服務(wù)器版本、請(qǐng)求文件相關(guān)屬性和請(qǐng)求的文件內(nèi)容。緊跟著回應(yīng)包的下一個(gè)傳輸?shù)奈募?nèi)容直接跟在TCP頭部之后。

在緩存之前,先對(duì)文件內(nèi)容中的鏈接信息進(jìn)行更改,將鏈接信息替換成自己想要換成的URL。并將信息存入一個(gè)文件,當(dāng)所有的內(nèi)容接受完畢形成一個(gè)文件之后,需要利用在截獲HTTP請(qǐng)求時(shí)緩存的序號(hào)和確認(rèn)號(hào)構(gòu)造報(bào)文發(fā)往被欺騙者。

·發(fā)送偽裝數(shù)據(jù)包

在構(gòu)造HTTP回應(yīng)包時(shí),需要填充整個(gè)以太幀。不需要從頭開(kāi)始去構(gòu)造整個(gè)包,在前面獲取到來(lái)自WEB服務(wù)器的回應(yīng)包時(shí),已經(jīng)將包頭部分進(jìn)行了緩存,需要修改和構(gòu)造的部分有:IP頭部校驗(yàn)和、TCP頭部中的序號(hào)和確認(rèn)號(hào)、TCP頭部校驗(yàn)和[5]、HTTP協(xié)議回應(yīng)包中的“狀態(tài)碼”、“最后修改時(shí)間”、“文件長(zhǎng)度”字段、文件信息的填充。

2.4實(shí)現(xiàn)

一次完整的ARP欺騙及滲透過(guò)程如圖3所示。

圖3WEB頁(yè)面鏈接替換過(guò)程

Host、Mine、Gate同在一個(gè)交換式局域網(wǎng)內(nèi),Gate為局域網(wǎng)網(wǎng)關(guān)。通過(guò)ARP欺騙,Mine截?cái)郒ost與Gate之間的報(bào)文傳輸,當(dāng)Host請(qǐng)求Web頁(yè)面時(shí):

①Host發(fā)送請(qǐng)求報(bào)文;

②Mine截獲并提取出URL,模擬HTTP請(qǐng)求發(fā)送報(bào)文到Gate;

③Gate轉(zhuǎn)交報(bào)文到Internet上的WEB服務(wù)器;

④⑤WEB服務(wù)器發(fā)送HTTP響應(yīng)及數(shù)據(jù)包到Mine;

⑥緩存了所有文件后,對(duì)文件中的鏈接進(jìn)行替換;

⑦將替換后的文件發(fā)送到Host。

在被欺騙者接收到一個(gè)被篡改的網(wǎng)頁(yè)之后,它的網(wǎng)絡(luò)行為將完全與預(yù)先設(shè)計(jì)好的虛假站點(diǎn)進(jìn)行交互,從而可以進(jìn)行更進(jìn)一步的滲透。

3基于ARP欺騙內(nèi)網(wǎng)滲透防范

3.1ARP欺騙的防范

在交換式網(wǎng)絡(luò)中防范ARP欺騙主要有以下幾種方法:

·使用靜態(tài)ARP表

在關(guān)鍵設(shè)備如網(wǎng)關(guān)、防火墻和邊界路由器等設(shè)置靜態(tài)的ARP,不要讓系統(tǒng)刷新設(shè)定好的ARP轉(zhuǎn)換表。在圖3中,在網(wǎng)關(guān)Gate中使用靜態(tài)ARP表,則可以避免通過(guò)網(wǎng)關(guān)進(jìn)行ARP欺騙。

·使用ARP服務(wù)器

在內(nèi)部網(wǎng)絡(luò)中設(shè)置ARP服務(wù)器,通過(guò)該服務(wù)器查找自己的ARP轉(zhuǎn)換表來(lái)響應(yīng)其他機(jī)器的ARP廣播,而禁止其他系統(tǒng)響應(yīng)ARP請(qǐng)求。

·定期輪詢

管理員定期輪詢(可通過(guò)軟件實(shí)現(xiàn))網(wǎng)絡(luò)內(nèi)部的IP地址與MAC地址的對(duì)應(yīng)關(guān)系,通過(guò)與已有記錄的比較來(lái)發(fā)現(xiàn)ARP欺騙。

·主動(dòng)出擊

主動(dòng)出擊,用一些安全工具(如AntiArpSniffer)在網(wǎng)絡(luò)中進(jìn)行檢測(cè),可以檢測(cè)到本地網(wǎng)絡(luò)上的ARP欺騙報(bào)文。

3.2無(wú)漏洞滲透的防范

·使用加密通信

無(wú)漏洞滲透的報(bào)文中敏感信息的獲取和傳輸實(shí)體的替換主要針對(duì)非加密通信,將內(nèi)網(wǎng)的通信進(jìn)行加密可以有效地防止這類(lèi)攻擊。例如在內(nèi)部網(wǎng)絡(luò)利用共享來(lái)傳遞文件時(shí),首先用加密工具(如WinRAR)對(duì)文件進(jìn)行壓縮加密;內(nèi)部網(wǎng)的系統(tǒng)登錄用SSH替換Telnet;用SFTP替換FTP;內(nèi)部網(wǎng)站訪問(wèn)用HTTPS替換HTTP等等。

·劃分虛擬局域網(wǎng)

欺騙攻擊無(wú)法跨網(wǎng)段工作,將網(wǎng)絡(luò)進(jìn)行越細(xì)致地分段,無(wú)漏洞滲透成功的可能性就越小。將受信任主機(jī)設(shè)置在同一社區(qū)VLAN中,將絕密性主機(jī)設(shè)置在隔離VLAN中,可以有效地防止無(wú)漏洞滲透的滲入。

·提高防范意識(shí)

目前,很多容易被攻擊者注意的網(wǎng)站(如,網(wǎng)絡(luò)銀行等),都采用了HTTPS代替了HTTP協(xié)議來(lái)傳輸網(wǎng)頁(yè)和交易數(shù)據(jù),已經(jīng)避免了這類(lèi)攻擊發(fā)生的可能。但對(duì)于那些沒(méi)有采用加密通信的WEB站點(diǎn)來(lái)說(shuō),WEB鏈接替換攻擊依然有成功的可能。對(duì)這種攻擊可以從瀏覽器終端用戶的角度來(lái)防范,使用一些較為安全的瀏覽器來(lái)訪問(wèn)網(wǎng)站,如GreenBrowser,可以設(shè)置從網(wǎng)頁(yè)鏈接跳轉(zhuǎn)到非本網(wǎng)站網(wǎng)頁(yè)時(shí)給出提示,在發(fā)生此攻擊的時(shí)候,可以很容易發(fā)現(xiàn)。

4結(jié)語(yǔ)

上文研究了基于ARP協(xié)議欺騙的內(nèi)網(wǎng)滲透,可看出在內(nèi)網(wǎng)中即使攻擊者沒(méi)有掌握網(wǎng)絡(luò)內(nèi)部任何操作系統(tǒng)或應(yīng)用軟件的漏洞,但是利用協(xié)議的弱點(diǎn),還是可以在內(nèi)網(wǎng)中進(jìn)行滲透攻擊獲取利益。在加強(qiáng)網(wǎng)絡(luò)邊界防護(hù)的同時(shí),不能忽視網(wǎng)絡(luò)內(nèi)部的防護(hù)。

參考文獻(xiàn):

[1]秦相林.二層交換網(wǎng)絡(luò)上的嗅探技術(shù)研究[J],自然科學(xué)報(bào),2005

[2]基于IP分片的攻擊方法[EB/OL],/study/safe/92510429.htm,2003

[3]EdwardW.Felten.WebSpoofing:AnInternetConGame[C],PrincetonUniversity,1997

[4]RFC2616:HypertextTransferProtocol--HTTP/1.1[S],1999

[5]SYNFlood攻擊的基本原理及防御[EB/OL],/syn.htm,2001