汪永生
(銅陵學(xué)院數(shù)學(xué) 與計(jì)算機(jī)學(xué)院,安徽 銅陵 244000)
ARP地址欺騙原理及仿真實(shí)驗(yàn)設(shè)計(jì)
汪永生
(銅陵學(xué)院數(shù)學(xué)與計(jì)算機(jī)學(xué)院,安徽銅陵244000)
ARP采取了信任模式,從而造成了網(wǎng)絡(luò)安全隱患.從ARP工作機(jī)制入手,深入分析ARP地址欺騙原理,并設(shè)計(jì)了ARP地址欺騙仿真實(shí)驗(yàn),對(duì)ARP欺騙原理進(jìn)行了驗(yàn)證.
ARP;ARP地址欺騙;仿真實(shí)驗(yàn)設(shè)計(jì)
早期互聯(lián)網(wǎng)采取的是信任模式,追求網(wǎng)絡(luò)功能與傳輸速率,主要在科研機(jī)構(gòu)和大學(xué)內(nèi)部局域網(wǎng)使用,對(duì)網(wǎng)絡(luò)安全考慮較少[1].ARP是一個(gè)早期的網(wǎng)絡(luò)協(xié)議,尤其以太網(wǎng)的洪泛特點(diǎn),能夠很方便的用來(lái)查詢,但也為日后網(wǎng)絡(luò)安全埋下了隱患.ARP地址欺騙通常有2種欺騙方式,一種是對(duì)路由器ARP表的欺騙,它會(huì)導(dǎo)致路由器將發(fā)送數(shù)據(jù)到錯(cuò)誤的MAC地址,造成PC無(wú)法正常接收到真正主機(jī)發(fā)來(lái)的信息.另一種是對(duì)局域網(wǎng)PC網(wǎng)關(guān)進(jìn)行欺騙,偽造網(wǎng)關(guān),讓被這欺騙的PC向假網(wǎng)關(guān)發(fā)送數(shù)據(jù),造成同一網(wǎng)關(guān)所有PC無(wú)法正常訪問(wèn)網(wǎng)絡(luò)[2].
1.1ARP概念
ARP(Address Resolution Protocol)中文意思為地址解析協(xié)議.ARP位于國(guó)際標(biāo)準(zhǔn)化組織ISO(International Standard Organization)開放系統(tǒng)互聯(lián)參考模型OSI(Open System Interconnect)的第二層,該協(xié)議屬于數(shù)據(jù)鏈路層協(xié)議,它負(fù)責(zé)聯(lián)系本層和硬件接口,同時(shí)對(duì)上一層網(wǎng)絡(luò)層和下一層物理層提供相關(guān)的服務(wù).
數(shù)據(jù)鏈路層傳送的是數(shù)據(jù)幀,數(shù)據(jù)幀內(nèi)包含了所要傳送的源和目標(biāo)48位物理地址,即MAC地址,以太網(wǎng)交換設(shè)備(常用設(shè)備有網(wǎng)卡、交換機(jī)和網(wǎng)橋等)就是根據(jù)MAC地址進(jìn)行數(shù)據(jù)幀的傳送.具體來(lái)說(shuō),在局域網(wǎng)內(nèi)部IP數(shù)據(jù)包(或稱分組)傳送時(shí)不是以IP地址來(lái)識(shí)別目標(biāo)主機(jī),而是MAC地址.所以,ARP協(xié)議就是確定MAC地址與IP地址之間必須存在一種對(duì)應(yīng)關(guān)系的協(xié)議[3].
1.2ARP工作機(jī)制
ARP工作機(jī)制主要實(shí)現(xiàn)IP地址和MAC地址的相互映射,解析本地ARP.ARP工作機(jī)制具體過(guò)程為:
源主機(jī)先發(fā)送出一個(gè)以太網(wǎng)廣播請(qǐng)求數(shù)據(jù)包,該數(shù)據(jù)包中含有目標(biāo)主機(jī)IP地址.目標(biāo)主機(jī)收到該數(shù)據(jù)包后,則向源主機(jī)發(fā)出一個(gè)應(yīng)答數(shù)據(jù)包,該數(shù)據(jù)包中含有目標(biāo)主機(jī)IP和MAC地址對(duì).源主機(jī)獲得目標(biāo)主機(jī)IP和MAC地址對(duì)后,并將該地址對(duì)存儲(chǔ)在本機(jī)的ARP緩存表,以節(jié)約不必要的ARP通信.ARP緩存表通常采取老化機(jī)制[4],即緩存表中的某一行一段時(shí)間內(nèi)如果沒(méi)有被使用,就必須被刪除,這樣可以減少ARP緩存表中無(wú)效地址對(duì),加快查詢速度.
由于以太局域網(wǎng)內(nèi)數(shù)據(jù)包傳輸依靠的是MAC地址,主機(jī)(包括網(wǎng)關(guān))ARP緩存表存儲(chǔ)IP地址和MAC對(duì)應(yīng)的關(guān)系,以此來(lái)實(shí)現(xiàn)IP地址和MAC地址的映射.一般來(lái)說(shuō),ARP緩存表能夠有效的保證數(shù)據(jù)傳輸?shù)囊粚?duì)一性,例如,主機(jī)A與主機(jī)C之間的通訊只通過(guò)網(wǎng)關(guān),象主機(jī)B之類的則無(wú)法截獲主機(jī)A與主機(jī)C之間的通訊信息的.由于ARP協(xié)議是一種無(wú)狀態(tài)協(xié)議,當(dāng)主機(jī)接收到一個(gè)ARP的應(yīng)答包后,它不會(huì)去驗(yàn)證自己是否發(fā)送過(guò)這個(gè)ARP請(qǐng)求,而是直接將應(yīng)答包里的MAC地址與IP對(duì)應(yīng)的關(guān)系替換掉原有的ARP緩存表里的相應(yīng)信息.
一般情況下,ARP緩存表通過(guò)兩種途徑建立的.一種是主動(dòng)解析,如果一臺(tái)主機(jī)想與另一臺(tái)不知道MAC地址的主機(jī)進(jìn)行通信,則該主機(jī)主動(dòng)發(fā)送ARP請(qǐng)求.另一種是被動(dòng)解析,如果一臺(tái)主機(jī)接收到了另一臺(tái)主機(jī)的ARP請(qǐng)求,則在本地建立請(qǐng)求主機(jī)的IP地址和MAC地址的對(duì)應(yīng)表.因此,ARP地址欺騙就是誤導(dǎo)主機(jī)建立錯(cuò)誤的ARP緩存表,利用ARP協(xié)議的無(wú)狀態(tài)性,通過(guò)偽造不存在的MAC地址更新主機(jī)或網(wǎng)關(guān)中的ARP緩存表[5].當(dāng)一個(gè)偽造的ARP應(yīng)答報(bào)文被接受以后,ARP緩存表將被更新,任何發(fā)往目的IP主機(jī)的數(shù)據(jù)包可能被重定向到目標(biāo)主機(jī)(實(shí)施欺騙的主機(jī)).
本仿真實(shí)驗(yàn)環(huán)境為:服務(wù)器一臺(tái)(安裝有HTTP、FTP、TELNET、MALL、DHCP和 DNS等服務(wù)),中心設(shè)備一臺(tái),組控設(shè)備若干,智能網(wǎng)絡(luò)設(shè)備若干,實(shí)驗(yàn)機(jī)(運(yùn)行網(wǎng)絡(luò)協(xié)議仿真軟件).ARP地址欺騙仿真實(shí)驗(yàn)拓?fù)浣Y(jié)構(gòu)如圖1所示:
圖1 ARP地址欺騙仿真實(shí)驗(yàn)拓?fù)鋱D
其中:
交換模塊:專為網(wǎng)絡(luò)協(xié)議仿真教學(xué)系統(tǒng)研制,是組控設(shè)備的主要組成部分,具有數(shù)據(jù)交換、轉(zhuǎn)發(fā)和MAC地址學(xué)習(xí)等功能,是支撐系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的硬件設(shè)備.
共享模塊:專為網(wǎng)絡(luò)協(xié)議仿真教學(xué)系統(tǒng)研制,是組控設(shè)備的主要組成部分,可實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)采集功能,是支撐系統(tǒng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的硬件設(shè)備.
3.1仿真實(shí)驗(yàn)設(shè)計(jì)方法
主機(jī)D偽造ARP報(bào)文發(fā)送至主機(jī)A和主機(jī)C,主機(jī)A和主機(jī)C建立錯(cuò)誤的ARP緩存表,導(dǎo)致主機(jī)A和主機(jī)C之間通訊出現(xiàn)故障,從而達(dá)到欺騙的目的.
3.2仿真實(shí)驗(yàn)步驟
步驟一:主機(jī)A和主機(jī)C使用”arp–a”命令查看并記錄ARP高速緩存.如圖2和圖3所示:
圖2 實(shí)施欺騙前主機(jī)A ARP緩存表
圖3 實(shí)施欺騙前主機(jī)C ARP緩存表
步驟二:分別啟動(dòng)主機(jī)A、C上的協(xié)議分析器,設(shè)置過(guò)濾條件,開始捕獲數(shù)據(jù),提取ICMP協(xié)議和ARP協(xié)議.在主機(jī)A上ping下主機(jī)C,并對(duì)主機(jī)A、C上捕獲到的ICMP報(bào)文進(jìn)行觀察,記錄報(bào)文中的MAC地址.
步驟三:?jiǎn)?dòng)主機(jī)D上的仿真編輯器,編輯向主機(jī)A發(fā)送的ARP請(qǐng)求報(bào)文(暫不發(fā)送).其中,
MAC層地址:
目的MAC地址:主機(jī)A的MAC地址.
源MAC地址:主機(jī)D的MAC地址;
ARP層:
目的MAC地址:000000-000000;
目的IP地址:主機(jī)A的IP地址.
源MAC地址:主機(jī)D的MAC地址;
源IP地址:主機(jī)C的IP地址;
步驟四:主機(jī)D向主機(jī)C編輯ARP請(qǐng)求報(bào)文(暫不發(fā)送).其中,
MAC層地址:
目的MAC地址:主機(jī)C的MAC地址.
源MAC地址:主機(jī)D的MAC地址;
ARP層:
目的MAC地址:000000-000000;
目的IP地址:主機(jī)C的IP地址.
源MAC地址:主機(jī)D的MAC地址;
源IP地址:主機(jī)A的IP地址;
步驟五:對(duì)步驟三和步驟四所編輯的數(shù)據(jù)包同時(shí)發(fā)送,觀察并記錄主機(jī)A和主機(jī)C的ARP高速緩存表.為防止其它未知報(bào)文更新主機(jī)A和主機(jī)C高速緩存表,可采取定時(shí)發(fā)送數(shù)據(jù)包方法,例如,每隔500ms發(fā)送一次.如圖4和圖5所示:
圖4 實(shí)施欺騙后主機(jī)A ARP緩存表
圖5 實(shí)施欺騙后主機(jī)C ARP緩存表
步驟六:在主機(jī)D上啟動(dòng)靜態(tài)路由服務(wù),目的是實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā).具體操作方法:
在命令行方式下輸入”staticroute_config”.同時(shí),主機(jī)D要禁用ICMP協(xié)議.具體操作如下:
在命令行下輸入”mmc”,啟動(dòng)微軟管理控制臺(tái).單擊”文件”菜單中的”打開”命令,打開“C:WINNTsystem32IPSecPolicystopicmp.msc”.單擊“操作”菜單中的“所有任務(wù)”、“導(dǎo)入策略”,打開“C:WINNTsystem32IPSecPolicystopicmp.ipsec”.此命令執(zhí)行成功后,“禁用ICMP”將出現(xiàn)在策略名稱列表中.最后,啟動(dòng)策略.用鼠標(biāo)選中“禁用ICMP”,單擊右鍵,選擇“指派”.
步驟七:主機(jī)A上ping主機(jī)C.
步驟八:主機(jī)A、C停止捕獲數(shù)據(jù),分析捕獲到的數(shù)據(jù).
3.3實(shí)驗(yàn)結(jié)果分析
實(shí)施ARP欺騙前,主機(jī)A和主機(jī)C均能建立正確的ARP緩存表,主機(jī)A和主機(jī)C之間網(wǎng)絡(luò)通訊正常(見圖2和圖3所示).主機(jī)D向主機(jī)A和主機(jī)C發(fā)送偽造的ARP報(bào)文,欺騙主機(jī)A和主機(jī)C建立不正確的ARP緩存表,主機(jī)A建立主機(jī)C IP地址與主機(jī)DMAC地址的ARP綁定,而主機(jī)C則建立了主機(jī)AIP地址與主機(jī)DMAC地址的ARP綁定(見圖4和圖5所示).
主機(jī)A和主機(jī)C相互ping對(duì)方,均出現(xiàn)超時(shí)ping不通現(xiàn)象(見圖6和圖7所示),說(shuō)明主機(jī)A和主機(jī)C因ARP地址欺騙而出現(xiàn)了網(wǎng)絡(luò)通訊癱瘓故障.
圖6 主機(jī)A訪問(wèn)主機(jī)C出現(xiàn)網(wǎng)絡(luò)通訊故障
圖7 主機(jī)C訪問(wèn)主機(jī)A出現(xiàn)網(wǎng)絡(luò)通訊故障
利用ARP協(xié)議的固有缺陷來(lái)對(duì)內(nèi)部網(wǎng)絡(luò)實(shí)施攻擊,常見的一種攻擊方式就是ARP地址欺騙.本文介紹了ARP概念和ARP工作機(jī)制,詳細(xì)分析了ARP地址欺騙原理,并設(shè)計(jì)了ARP地址欺騙仿真實(shí)驗(yàn)來(lái)對(duì)此進(jìn)行驗(yàn)證,從而有助于設(shè)計(jì)出可行的安全防御措施,最大程度上防范ARP地址欺騙的攻擊,保證網(wǎng)絡(luò)的安全.
〔1〕謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)4版[M].北京:電子工業(yè)出版社,2003.
〔2〕邢金閣,劉揚(yáng).ARP欺騙攻擊的檢測(cè)及防御技術(shù)研究[J].東北農(nóng)業(yè)大學(xué)學(xué)報(bào),2012(8):74~77.
〔3〕秦豐林,段海新,等.ARP欺騙的監(jiān)測(cè)與防范技術(shù)綜述[J].計(jì)算機(jī)應(yīng)用研究,2009,26(1):30-33.
〔4〕任俠,呂述望.ARP協(xié)議欺騙原理分析與抵御方法[J].計(jì)算機(jī)工程,2003,29(9):127-128.
〔5〕史雋彬,秦科.ARP攻擊現(xiàn)狀分析及一種應(yīng)對(duì)ARP攻擊的方法 [J].陜西理工學(xué)院學(xué)報(bào),2013,29(2):45-49.
TP313
A
1673-260X(2016)09-0014-03
2016-05-09
銅陵學(xué)院校級(jí)教研課題(JY15013)
汪永生(1976-),男,助理實(shí)驗(yàn)師,碩士研究生,人工智能與計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)
赤峰學(xué)院學(xué)報(bào)·自然科學(xué)版2016年18期