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

時間:2022-03-12 10:44:00

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

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

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

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

引言

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

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

1.1ARP協(xié)議欺騙

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

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

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

①主機在不知道目的IP對應的MAC地址時,進行ARP廣播請求,入侵者可以在接收到該ARP請求后以自己的MAC地址應答,進行假冒;

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

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

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

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

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

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

2.1無漏洞滲透技術

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

·報文中敏感信息的獲取

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

·傳輸實體的獲取與替換

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

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

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

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

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

·WEB請求截獲

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

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

圖1HTTP請求包格式

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

·獲取正常WEB頁、替換連接

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

例)。這需要對HTTP回應包進行分析。

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

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

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

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

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

2.4實現(xiàn)

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

圖3WEB頁面鏈接替換過程

Host、Mine、Gate同在一個交換式局域網(wǎng)內(nèi),Gate為局域網(wǎng)網(wǎng)關。通過ARP欺騙,Mine截斷Host與Gate之間的報文傳輸,當Host請求Web頁面時:

①Host發(fā)送請求報文;

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

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

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

⑥緩存了所有文件后,對文件中的鏈接進行替換;

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

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

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

3.1ARP欺騙的防范

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

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

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

·使用ARP服務器

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

·定期輪詢

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

·主動出擊

主動出擊,用一些安全工具(如AntiArpSniffer)在網(wǎng)絡中進行檢測,可以檢測到本地網(wǎng)絡上的ARP欺騙報文。

3.2無漏洞滲透的防范

·使用加密通信

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

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

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

·提高防范意識

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

4結語

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

參考文獻:

[1]秦相林.二層交換網(wǎng)絡上的嗅探技術研究[J],自然科學報,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