arp欺騙技術(shù)的研究與實(shí)踐畢業(yè)論文_第1頁
已閱讀1頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  ARP欺騙技術(shù)的研究與實(shí)踐</p><p>  摘要:網(wǎng)絡(luò)的迅速發(fā)展,在給人類生活帶來方便的同時,也對網(wǎng)絡(luò)安全提出了更高要求,因此對網(wǎng)絡(luò)協(xié)議的分析和利用越來越受到普遍關(guān)注?;ヂ?lián)網(wǎng)的發(fā)展很大程度上歸功于TCP/IP協(xié)議運(yùn)行的高效性和開放性,這也致使TCP/IP協(xié)議本身存在著諸多的安全隱患,其中因ARP協(xié)議安全漏洞引發(fā)的欺騙攻擊就較為典型。本文在深入分析ARP協(xié)議原理的基礎(chǔ)上,探討了幾種常見的A

2、RP欺騙攻擊方式,如仿冒主機(jī)/網(wǎng)關(guān)、“中間人”攻擊、Flooding攻擊、網(wǎng)頁劫持等;通過實(shí)驗(yàn)和實(shí)踐,總結(jié)了一些較為有效的ARP欺騙檢測和防御手段;結(jié)合本人參與學(xué)院校園網(wǎng)絡(luò)安全整體防御體系項(xiàng)目的實(shí)施和管理,融合銳捷GSN、IEEE802.1x、ARP-Check技術(shù),給出一種立體防御ARP欺騙的解決方案。文章最后針對IPv6鄰居發(fā)現(xiàn)協(xié)議做了簡要分析,旨在后續(xù)課題的研究。</p><p>  關(guān)鍵詞: ARP;銳捷

3、GSN;IEEE 802.1x;鄰居發(fā)現(xiàn)協(xié)議</p><p><b>  目錄</b></p><p>  1 引 言1</p><p>  1.1 課題研究的背景和意義1</p><p>  1.2 論文的主要內(nèi)容和章節(jié)安排1</p><p>  2 ARP欺騙技術(shù)3</

4、p><p>  2.1 ARP協(xié)議概述3</p><p>  2.1.1 ARP協(xié)議的定義3</p><p>  2.1.2 ARP協(xié)議的工作原理3</p><p>  2.2 ARP欺騙4</p><p>  2.2.1 何為ARP欺騙4</p><p>  2.2.2 ARP欺騙攻擊的

5、危害5</p><p>  2.2.3 ARP欺騙產(chǎn)生的根源5</p><p>  2.3 ARP欺騙的主要攻擊方式6</p><p>  2.3.1 攻擊主機(jī)冒充網(wǎng)關(guān)欺騙正常主機(jī)6</p><p>  2.3.2 攻擊主機(jī)冒充正常主機(jī)欺騙網(wǎng)關(guān)6</p><p>  2.3.3 基于ARP的“中間人”攻擊7

6、</p><p>  2.3.4 Flooding攻擊8</p><p>  2.3.5 ARP網(wǎng)頁劫持攻擊8</p><p>  2.4 簡單模擬ARP欺騙9</p><p>  2.4.1 采用軟件模擬ARP欺騙9</p><p>  2.4.2 采用編程模擬ARP欺騙11</p><

7、p>  3 ARP欺騙的防御技術(shù)11</p><p>  3.1 ARP欺騙的檢測11</p><p>  3.1.1 手動檢測11</p><p>  3.1.2 自動檢測12</p><p>  3.2 ARP欺騙攻擊的防御13</p><p>  3.2.1 手動防御13</p>

8、<p>  3.2.2 自動防御14</p><p><b>  ……17</b></p><p>  4 校園網(wǎng)ARP欺騙的立體防御方案18</p><p>  4.1 基于802.1x協(xié)議的認(rèn)證防御18</p><p>  4.1.1 IEEE 802.1x認(rèn)證系統(tǒng)18</p>

9、<p>  4.1.2 基于802.1x認(rèn)證的ARP防御技術(shù)20</p><p>  4.2 銳捷GSN解決方案原理20</p><p>  4.2.1 用戶身份合法性驗(yàn)證21</p><p>  4.2.2 確保真實(shí)ARP信息來源21</p><p>  4.2.3 中立的第三方ARP授信體系21</p>

10、<p>  4.2.4 建立可信任ARP機(jī)制21</p><p>  4.2.5 在網(wǎng)關(guān)設(shè)備上增加可信ARP表項(xiàng)22</p><p>  4.3 GSN防御體系的組成23</p><p>  4.3.1 SMP23</p><p>  4.3.2 Gateway23</p><p>  4.3.3

11、NAS24</p><p>  4.3.4 SU24</p><p>  4.4 GSN + ARP-Check的整體防御24</p><p>  5 IPv6的鄰居發(fā)現(xiàn)協(xié)議25</p><p>  5.1 鄰居發(fā)現(xiàn)協(xié)議的定義25</p><p>  5.2 鄰居發(fā)現(xiàn)協(xié)議的安全缺陷分析26</p&g

12、t;<p>  5.3 鄰居發(fā)現(xiàn)協(xié)議的攻擊方式26</p><p>  5.4 鄰居發(fā)現(xiàn)協(xié)議和ARP協(xié)議的比較27</p><p>  5.4.1 發(fā)送機(jī)制27</p><p>  5.4.2 所處層次27</p><p>  5.4.3 可達(dá)性檢測維護(hù)27</p><p>  5.4.4 Ho

13、p Limit字段27</p><p>  6 結(jié) 論28</p><p><b>  參考文獻(xiàn)29</b></p><p><b>  1 引 言</b></p><p>  本章闡析開展本課題研究的背景和意義,扼要說明課題研究的主要內(nèi)容和章節(jié)安排。</p>&

14、lt;p>  1.1 課題研究的背景和意義</p><p>  信息化進(jìn)程的深入和互聯(lián)網(wǎng)的迅速發(fā)展,為人們的工作、學(xué)習(xí)、生活帶來了巨大變化。網(wǎng)絡(luò)的迅速發(fā)展,在給人類生活帶來方便的同時,也對網(wǎng)絡(luò)安全提出了更高要求。網(wǎng)絡(luò)協(xié)議安全是網(wǎng)絡(luò)安全的重要環(huán)節(jié),因此對網(wǎng)絡(luò)協(xié)議的分析和利用越來越受到普遍關(guān)注?;ヂ?lián)網(wǎng)的發(fā)展很大程度上歸功于TCP/IP協(xié)議運(yùn)行的高效性和開放性,然而TCP/IP協(xié)議在實(shí)現(xiàn)過程中忽略了對網(wǎng)絡(luò)安全方面

15、的考慮,致使其存在著較多安全隱患,其中ARP協(xié)議的安全漏洞引發(fā)的欺騙攻擊較之其他協(xié)議最為典型。</p><p>  校園網(wǎng)是CERNET/Internet的基本組成單位,是為學(xué)校師生員工的教學(xué)、科研、管理、服務(wù)、文化娛樂等提供服務(wù)的信息支撐平臺,是學(xué)校必不可少的基礎(chǔ)設(shè)施。校園網(wǎng)有用戶數(shù)量大、用戶類型復(fù)雜、管理策略復(fù)雜、流量大、網(wǎng)絡(luò)安全威脅性大等特點(diǎn)。如果網(wǎng)絡(luò)安全問題不能夠有效的解決, 勢必將影響校園網(wǎng)的教學(xué)科研服

16、務(wù)作用的發(fā)揮。要保證整個網(wǎng)絡(luò)的安全性,必須從多個層次和多個方面考慮網(wǎng)絡(luò)的安全性,采取相應(yīng)的防護(hù)措施,減少網(wǎng)絡(luò)遭受攻擊的可能性, 達(dá)到保證網(wǎng)絡(luò)安全的目的。</p><p>  近兩年,ARP欺騙攻擊在局域網(wǎng)中頻繁出現(xiàn),特別是一些木馬或病毒程序容易利用ARP欺騙原理來對網(wǎng)絡(luò)用戶進(jìn)行攻擊,感染了這類木馬或病毒的計算機(jī)會自動發(fā)送ARP欺騙數(shù)據(jù)包來擾亂局域網(wǎng)中各主機(jī)的ARP地址列表,致使同一網(wǎng)段上的大多用戶頻繁斷網(wǎng),導(dǎo)致整

17、個局域網(wǎng)無法正常運(yùn)行,嚴(yán)重時可導(dǎo)致網(wǎng)絡(luò)大面積癱瘓,給網(wǎng)絡(luò)管理者增添了巨大的壓力。而且受到ARP欺騙攻擊的用戶還很容易被竊取私密信息。同時,ARP欺騙作為傳播網(wǎng)頁木馬病毒的傳播手段,當(dāng)一臺主機(jī)感染帶有這種ARP欺騙功能的病毒后,會在局域網(wǎng)內(nèi)發(fā)動ARP欺騙,它會監(jiān)聽局域網(wǎng)內(nèi)所有主機(jī)的數(shù)據(jù)包,一旦發(fā)現(xiàn)其它主機(jī)有訪問WEB網(wǎng)頁的行為后,就會通過修改相應(yīng)的數(shù)據(jù)封包在你訪問的網(wǎng)頁代碼里加入包含有木馬程序的網(wǎng)頁鏈接。從而導(dǎo)致局域網(wǎng)內(nèi)其它主機(jī)不管訪問什

18、么網(wǎng)站都會被導(dǎo)引到含有木馬病毒的網(wǎng)站上去。</p><p>  基于這些情況,深入了解ARP協(xié)議的原理,剖析ARP欺騙產(chǎn)生的根源,研究分析ARP欺騙的方式,探討ARP欺騙的檢測、防御技術(shù),并給出一種ARP欺騙整體防御的解決思路,制定出有效的防御措施,對網(wǎng)絡(luò)安全運(yùn)行有著極其重要的意義。</p><p>  1.2 論文的主要內(nèi)容和章節(jié)安排</p><p>  論文在深

19、入分析ARP協(xié)議原理的基礎(chǔ)上,探討了幾種常見的ARP欺騙攻擊方式,一些較為有效的ARP欺騙檢測和防御手段,并結(jié)合參與學(xué)院校園網(wǎng)絡(luò)安全整體防御體系項(xiàng)目的實(shí)施和管理,融合銳捷GSN、IEEE802.1x、ARP-Check技術(shù),給出一種立體防御ARP欺騙的解決方案。</p><p>  第1章 闡析開展課題研究的背景和意義,扼要說明課題研究的主要內(nèi)容和章節(jié)安排。</p><p>  第2章

20、 詳細(xì)分析了ARP協(xié)議的定義、工作原理、產(chǎn)生的危害和欺騙產(chǎn)生的根源,探討了五種主要的ARP欺騙攻擊方式,并給出基于虛擬化技術(shù)的兩種模擬ARP欺騙的實(shí)驗(yàn)方法。</p><p>  第3章 在實(shí)踐的基礎(chǔ)上,總結(jié)了一些較為有效的ARP欺騙檢測和防御手段,并分析它們優(yōu)劣特點(diǎn)和適用的環(huán)境,揚(yáng)長避短、相互結(jié)合,以期達(dá)到更好的防御效果。</p><p>  第4章 結(jié)合參與學(xué)院校園網(wǎng)絡(luò)的實(shí)踐,著重探

21、究校園網(wǎng)ARP欺騙的立體防御方案體系,多角度、多元素協(xié)同防御,實(shí)現(xiàn)對網(wǎng)絡(luò)病毒和攻擊等安全事件自動發(fā)現(xiàn)、自動處理、自動通知、自動解除的全局安全聯(lián)動。主要包括基于802.1x協(xié)議的認(rèn)證防御、銳捷GSN方案的原理、GSN防御體系的構(gòu)成和GSN+ARP-Check體系幾個部分。</p><p>  第5章 扼要介紹IPV6鄰居發(fā)現(xiàn)協(xié)議的定義、存在的一些安全缺陷及其與IPV4 ARP協(xié)議的比較,旨在后續(xù)課題的研究。<

22、;/p><p>  2 ARP欺騙技術(shù)</p><p>  本章詳細(xì)分析了ARP協(xié)議的定義、工作原理、產(chǎn)生的危害和欺騙產(chǎn)生的根源,探討了五種主要的ARP欺騙攻擊方式,并給出基于虛擬化技術(shù)的兩種模擬ARP欺騙的實(shí)驗(yàn)方法。</p><p>  2.1 ARP協(xié)議概述</p><p>  2.1.1 ARP協(xié)議的定義</p><p

23、>  ARP(Address Resolution Protocol),即地址解析協(xié)議,是TCP/IP協(xié)議簇中重要的基礎(chǔ)協(xié)議之一。它工作于OSI/RM七層模型中的第二層數(shù)據(jù)鏈路層(Data Link Layer),在本層與下層物理層之間通過硬件接口進(jìn)行聯(lián)系,同時也為上層網(wǎng)絡(luò)層提供服務(wù)。當(dāng)局域網(wǎng)中的網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行通信時,就需要由ARP協(xié)議通過目標(biāo)設(shè)備的IP地址,查詢目標(biāo)設(shè)備的MAC地址,以保證網(wǎng)絡(luò)節(jié)點(diǎn)間通信的正常進(jìn)行。換言之,ARP協(xié)

24、議的主要功能就是負(fù)責(zé)把目標(biāo)設(shè)備網(wǎng)絡(luò)層的IP地址轉(zhuǎn)變成其數(shù)據(jù)鏈路層的MAC地址,建立IP地址和MAC地址之間的一一映射關(guān)系,使網(wǎng)絡(luò)節(jié)點(diǎn)間通信的數(shù)據(jù)幀能夠在鏈路中正確傳輸。</p><p>  2.1.2 ARP協(xié)議的工作原理</p><p>  數(shù)據(jù)鏈路如以太網(wǎng)或令牌環(huán)網(wǎng)都有自己的尋址機(jī)制。在局域網(wǎng)中實(shí)際傳輸?shù)氖菙?shù)據(jù)幀,真正用來尋址的是MAC地址,而IP數(shù)據(jù)包是通過網(wǎng)絡(luò)層傳輸?shù)?。因?yàn)槎拥囊?/p>

25、太網(wǎng)設(shè)備并不識別32位的IP地址,設(shè)備驅(qū)動程序從不檢查IP數(shù)據(jù)包中的目的IP地址,它們是以48位物理地址(MAC地址)傳輸以太網(wǎng)幀的。所以,當(dāng)網(wǎng)絡(luò)中一臺主機(jī)要和另一臺主機(jī)進(jìn)行直接通信時,必須知道目標(biāo)主機(jī)的MAC地址,即利用ARP地址解析協(xié)議把目標(biāo)IP地址解析為目標(biāo)MAC地址,建立IP-MAC對應(yīng)關(guān)系以保證通信的順利進(jìn)行。</p><p>  在此,我們可以舉例說明ARP協(xié)議工作的具體過程。局域網(wǎng)中的主機(jī)A要向主機(jī)

26、B發(fā)送數(shù)據(jù),建立通訊時,主機(jī)A會首先檢查自己的ARP緩存表中是否存在目的主機(jī)B的IP-MAC地址對應(yīng)關(guān)系表項(xiàng)。如果存在,TCP/IP協(xié)議棧會直接將主機(jī)B的MAC地址寫入數(shù)據(jù)幀中發(fā)送。如果不存在,則主機(jī)A會向網(wǎng)內(nèi)所有主機(jī)廣播一個ARP Request報文,其中目的IP地址為主機(jī)B的IP,目的MAC地址為“FF.FF.FF.FF.FF.FF”,以此來詢問主機(jī)B的IP對應(yīng)的MAC地址是什么。一般情況下,網(wǎng)絡(luò)上的其它主機(jī)并不響應(yīng)該ARP Req

27、uest報文,而只有當(dāng)主機(jī)B收到該報文時才會創(chuàng)建一個ARP Reply報文,并發(fā)回給主機(jī)A。該ARP Reply報文中包含了主機(jī)B的IP和MAC地址。主機(jī)A接收到回復(fù)后會將主機(jī)B的IP-MAC地址對應(yīng)關(guān)系保存在自己的ARP緩存表中,若下次再請求與同一IP地址的主機(jī)通信時,就從緩存表中直接獲取目的主機(jī)的MAC地址即可,而無需再發(fā)送ARP Request廣播報文詢問。ARP協(xié)議的工作原理如圖2-1所示。</p><p&g

28、t;  圖2-1 ARP協(xié)議的工作原理</p><p>  在上段ARP工作過程中提到的ARP緩存表,是在每一臺安裝有TCP/IP協(xié)議的主機(jī)里都維護(hù)的一張IP-MAC地址一一對應(yīng)的關(guān)系表。它采用了老化機(jī)制(Windows系統(tǒng)中的老化時間默認(rèn)為2分鐘,Cisco路由器默認(rèn)為5分鐘),在一段時間內(nèi),如果緩存表中的某一行數(shù)據(jù)沒有使用,該行數(shù)據(jù)就會被自動刪除,這樣可以大大減少ARP緩存表的長度,加快查詢速度。ARP緩存

29、表結(jié)構(gòu)如圖2-2所示。</p><p>  圖2-2 ARP緩存表結(jié)構(gòu)</p><p><b>  2.2 ARP欺騙</b></p><p>  2.2.1 何為ARP欺騙</p><p>  籠統(tǒng)地講,ARP欺騙是一種使計算機(jī)網(wǎng)絡(luò)無法正常運(yùn)行的攻擊手段,即利用ARP 協(xié)議的漏洞,通過向目標(biāo)主機(jī)發(fā)送虛假ARP 報文,

30、來實(shí)現(xiàn)監(jiān)聽或截獲目標(biāo)主機(jī)通信數(shù)據(jù)。一些木馬或病毒程序通過利用ARP欺騙,對網(wǎng)絡(luò)用戶及網(wǎng)絡(luò)運(yùn)行環(huán)境產(chǎn)生影響甚至是破壞。</p><p>  為了較好地了解ARP欺騙,我們可以簡單舉例說明。ARP協(xié)議并不只是在發(fā)送了ARP請求才接收ARP應(yīng)答。當(dāng)計算機(jī)接收到ARP應(yīng)答數(shù)據(jù)包的時候,只要應(yīng)答包中的IP地址正確,就會對本地的ARP緩存進(jìn)行更新,將應(yīng)答中的IP和MAC地址存儲在ARP緩存中。假設(shè)局域網(wǎng)中的主機(jī)A和C通信,當(dāng)

31、主機(jī)A廣播了一個ARP Request報文后,本該由主機(jī)C進(jìn)行回復(fù),此時卻是主機(jī)B更早地將自己偽造的ARP Reply報文發(fā)送給主機(jī)A,從而冒充C與A進(jìn)行通信。偽造的Reply報文中包含了主機(jī)C的IP地址和主機(jī)B的MAC地址。這樣,在主機(jī)A收到回復(fù)后便會將這條錯誤的IP-MAC地址對應(yīng)關(guān)系更新到自己的ARP緩存表里。由于局域網(wǎng)的網(wǎng)絡(luò)流通不是根據(jù)IP地址進(jìn)行,而是按照MAC地址進(jìn)行傳輸。所以會導(dǎo)致主機(jī)A不能Ping通主機(jī)C,造成網(wǎng)絡(luò)不通。

32、這就是一個簡單的ARP欺騙。</p><p>  2.2.2 ARP欺騙攻擊的危害</p><p>  一般情況下,網(wǎng)絡(luò)中的攻擊者會制造出一些木馬或病毒之類的利用ARP欺騙攻擊手段的程序來威脅網(wǎng)絡(luò)安全。所以,如果受到此類ARP欺騙程序的攻擊,其中毒現(xiàn)象表現(xiàn)為:使用局域網(wǎng)時,用戶會突然掉線、頻繁斷網(wǎng),IE瀏覽器頻繁出錯,之后過一段時間又會恢復(fù)正常。若局域網(wǎng)中用戶是通過客戶端身份認(rèn)證上網(wǎng)的,會

33、出現(xiàn)客戶端狀態(tài)頻繁掉線,或者可以認(rèn)證但卻Ping不通網(wǎng)關(guān)、不能上網(wǎng),然后重啟交換機(jī)或路由器、或者在MS-DOS命令窗口中運(yùn)行arp –d之后,用戶又可恢復(fù)上網(wǎng)。</p><p>  攻擊者可以利用此類木馬或病毒程序來截獲用戶數(shù)據(jù),如盜取QQ賬號密碼、盜取各種網(wǎng)絡(luò)游戲密碼和賬號、盜竊網(wǎng)上銀行賬號去進(jìn)行非法交易活動等,給普通用戶造成了巨大的不便甚至是經(jīng)濟(jì)損失。而且ARP欺騙木馬或病毒只需成功感染一臺計算機(jī),就可能影響

34、整個局域網(wǎng)運(yùn)行,嚴(yán)重的時候可能帶來網(wǎng)絡(luò)的癱瘓。</p><p>  再者,攻擊者也可能基于ARP協(xié)議的工作特性,不斷向?qū)Ψ接嬎銠C(jī)發(fā)送帶有詐欺性質(zhì)的ARP數(shù)據(jù)包,其中包含與當(dāng)前設(shè)備重復(fù)的MAC地址,使對方在回應(yīng)ARP報文時,由于簡單的地址重復(fù)錯誤導(dǎo)致不能進(jìn)行正常的網(wǎng)絡(luò)通信。</p><p>  2.2.3 ARP欺騙產(chǎn)生的根源</p><p>  ARP協(xié)議作為一個局

35、域網(wǎng)協(xié)議,其設(shè)計初衷是為了方便數(shù)據(jù)的高效傳輸,設(shè)計前提也是在網(wǎng)絡(luò)絕對安全的情況下。換言之,ARP協(xié)議是建立在局域網(wǎng)內(nèi)各主機(jī)相互信任的基礎(chǔ)之上,它本身不作任何安全檢測,并沒有一套安全機(jī)制來確保信息的真實(shí)性、完整性、可用性。因此,ARP協(xié)議所具有的廣播性、無狀態(tài)性、無認(rèn)證性、無關(guān)性和動態(tài)性等一系列安全缺陷,為ARP欺騙的產(chǎn)生提供了有利條件。</p><p> ?、?ARP Request報文以廣播形式發(fā)送</p

36、><p>  由于局域網(wǎng)內(nèi)的計算機(jī)不知道通信對方的MAC地址,所以需要廣播ARP Request報文。這樣,攻擊者就可以偽裝ARP Reply報文,與廣播者真正想要通信的主機(jī)競爭。同時,攻擊者也可以不間斷地在網(wǎng)內(nèi)廣播ARP Request,造成網(wǎng)絡(luò)的緩慢甚至阻塞。</p><p> ?、?ARP協(xié)議是無狀態(tài)的</p><p>  局域網(wǎng)內(nèi)任何主機(jī)即使在沒有接收到ARP

37、Request的情況下也可以隨意發(fā)送ARP Reply報文。而且只要應(yīng)答包的內(nèi)容格式等是有效的,接收到應(yīng)答包的主機(jī)都會無條件地根據(jù)其內(nèi)容更新本機(jī)的ARP緩存表,而不論主機(jī)是否曾發(fā)出過請求。</p><p>  ⑶ ARP應(yīng)答無需認(rèn)證</p><p>  因?yàn)锳RP協(xié)議設(shè)計時出于傳輸效率上的考慮,默認(rèn)情況下是信任網(wǎng)內(nèi)的所有節(jié)點(diǎn)的,于是在數(shù)據(jù)鏈路層沒有對接收到的ARP Reply報文進(jìn)行安全驗(yàn)

38、證。只要是存在于ARP緩存表里的IP/MAC映射以及接收到的ARP Reply中的IP/MAC映射關(guān)系,ARP協(xié)議都認(rèn)為是可信任的,沒有對它們的真實(shí)性和有效性進(jìn)行檢驗(yàn),也沒有維護(hù)其一致性。</p><p> ?、?ARP緩存表基于高速緩存和動態(tài)更新</p><p>  當(dāng)主機(jī)收到ARP相應(yīng)數(shù)據(jù)包后,即使是偽造的,也會查找自己的緩沖區(qū),并進(jìn)行相應(yīng)的更新.正常的計算機(jī)的MAC地址更新都有一定的

39、時間間隔.因此,攻擊者如果在下次更新之前成功地修改了被攻擊機(jī)器上的地址緩存,它就可以假冒或者拒絕服務(wù)攻擊。</p><p>  2.3 ARP欺騙的主要攻擊方式</p><p>  2.3.1 攻擊主機(jī)冒充網(wǎng)關(guān)欺騙正常主機(jī)</p><p>  仿冒網(wǎng)關(guān)攻擊是指攻擊主機(jī)通過偽造并在局域網(wǎng)內(nèi)發(fā)送源IP地址為網(wǎng)關(guān)IP地址、源MAC 地址為偽造的MAC 地址的ARP Rep

40、ly報文給被攻擊的主機(jī),使得這些主機(jī)在自己的ARP緩存表上更新網(wǎng)關(guān)IP-MAC地址的對應(yīng)關(guān)系。仿冒網(wǎng)關(guān)的攻擊通常表現(xiàn)為:在同一局域網(wǎng)中,有一部分主機(jī)無法上網(wǎng),重啟這些主機(jī)后又恢復(fù)正常,但是過一段時間后網(wǎng)絡(luò)再次中斷。于是在命令行窗口中鍵入arp –a,查看這些無法上網(wǎng)的主機(jī)的ARP表,發(fā)現(xiàn)網(wǎng)關(guān)的MAC地址是錯誤的。也就是說,主機(jī)訪問網(wǎng)關(guān)的流量被重定向到一個錯誤的MAC地址,導(dǎo)致用戶無法正常訪問外網(wǎng)。</p><p>

41、;  2.3.2 攻擊主機(jī)冒充正常主機(jī)欺騙網(wǎng)關(guān)</p><p>  攻擊主機(jī)冒充正常主機(jī)欺騙網(wǎng)關(guān),是指攻擊者通過偽造并發(fā)送源IP地址為同網(wǎng)段內(nèi)某臺合法用戶的IP 地址, 源MAC 地址為偽造的MAC 地址的ARP Reply報文給網(wǎng)關(guān),使得網(wǎng)關(guān)更新自身ARP緩存表中原合法用戶的IP-MAC地址對應(yīng)關(guān)系。這種欺騙網(wǎng)關(guān)的攻擊一般表現(xiàn)為:網(wǎng)絡(luò)中部分主機(jī)掉線, 甚至全網(wǎng)內(nèi)主機(jī)都無法上網(wǎng)。查看路由器的ARP表項(xiàng), 發(fā)現(xiàn)很多

42、錯誤地址,所有被攻擊者的IP地址對應(yīng)的MAC地址都為攻擊者的MAC地址。然后重啟路由器后能短暫恢復(fù)正常,但是過一段時間之后主機(jī)又開始掉線。而這些現(xiàn)象的發(fā)生都是因?yàn)榫W(wǎng)關(guān)發(fā)送給該用戶的所有數(shù)據(jù)全部定向到一個錯誤的MAC地址,導(dǎo)致該用戶無法正常訪問外網(wǎng)。</p><p>  2.3.3 基于ARP的“中間人”攻擊</p><p>  “中間人”攻擊(Man-In-The-Middle,MITM)

43、,是一種利用一定手段在兩臺或多臺主機(jī)之間人為地加入一臺透明主機(jī),“間接”的入侵攻擊方式。這種攻擊對其他用戶是透明的,因此這臺主機(jī)就稱為“中間人”?!爸虚g人”能夠與原始主機(jī)建立連接、截獲并篡改它們的通信數(shù)據(jù)。由于“中間人”對于原通信雙方是透明的,使得“中間人”很難被發(fā)現(xiàn),也就使得這種攻擊更加具有隱蔽性。 “中間人”攻擊常用的一種手段就是通過ARP 欺騙的方式來實(shí)現(xiàn)的。</p><p>  基于ARP的“中間人”攻擊

44、又稱為ARP雙向欺騙,這種說法是相對于攻擊主機(jī)冒充網(wǎng)關(guān)或主機(jī)的單向ARP欺騙而言的。假設(shè)有主機(jī)C想竊取主機(jī)A和主機(jī)B之間的通信,那么它就可以分別偽造ARP Reply報文發(fā)送給A、B這兩臺主機(jī),使他們無驗(yàn)證地更新自身ARP緩存表中的相應(yīng)的IP-MAC對應(yīng)關(guān)系表項(xiàng)。于是,主機(jī)A和B之間看似直接的通信,實(shí)際上都是通過主機(jī)C進(jìn)行的,即主機(jī)C擔(dān)任了“中間人”的角色在傳遞信息,同時也可以對信息進(jìn)行竊取和篡改,如圖2-3所示。這種攻擊方式也是較早時

45、候電腦黑客竊取數(shù)據(jù)的常用手段之一。受到“中間人”攻擊的主要表現(xiàn)有:局域網(wǎng)中某臺主機(jī)上網(wǎng)突然掉線,但是過一會兒又恢復(fù)了,只是上網(wǎng)變得很慢。此時我們?nèi)羰褂妹畈榭丛撝鳈C(jī)上的ARP表項(xiàng),就會發(fā)現(xiàn)通信對方的MAC地址被修改,他們的通信流量都先被重定向到另外一臺主機(jī)上,再轉(zhuǎn)至對方主機(jī)。</p><p>  圖2-3 “中間人”攻擊過程</p><p>  2.3.4 Flooding攻擊</

46、p><p>  Flooding 是一種快速散布網(wǎng)絡(luò)連接設(shè)備(如交換機(jī))更新信息到整個大型網(wǎng)絡(luò)打每一個節(jié)點(diǎn)的一種方法。涉及ARP欺騙的Flooding攻擊主要有兩種:ARP報文Flooding和交換機(jī)上的MAC Flooding。</p><p> ?、?ARP報文Flooding</p><p>  攻擊者利用工具構(gòu)造大量ARP報文,發(fā)往交換機(jī)、路由器或某臺普通主機(jī),

47、導(dǎo)致設(shè)備的CPU忙于處理ARP協(xié)議,負(fù)擔(dān)過重,造成設(shè)備沒有多余資源區(qū)轉(zhuǎn)發(fā)正常的數(shù)據(jù)流量甚至癱瘓。遭受這種攻擊的現(xiàn)象主要表現(xiàn)為:網(wǎng)絡(luò)經(jīng)常中斷或網(wǎng)速很慢,查看ARP表項(xiàng)沒有發(fā)現(xiàn)錯誤,只有通過抓包分析是發(fā)現(xiàn)有大量的ARP Reply報文。</p><p>  ⑵ MAC Flooding</p><p>  交換機(jī)中也存放著一個類似ARP的緩存表,稱為CAM。同主機(jī)中的ARP緩存表相同,它也起到

48、記錄網(wǎng)絡(luò)設(shè)備MAC地址與IP地址的對應(yīng)關(guān)系的功能。但是交換機(jī)中的ARP緩存表的大小是固定的,這就導(dǎo)致了ARP欺騙的另一種隱患:由于交換機(jī)可以主動學(xué)習(xí)客戶端的MAC地址,并建立和維護(hù)這個CAM緩存表,當(dāng)某人利用欺騙攻擊連續(xù)大量的制造欺騙MAC地址,CAM表就會被迅速填滿,同時更新信息以洪泛方式發(fā)送到所有的接口,也就代表Trunking(所謂Trunking是用來在不同的交換機(jī)之間進(jìn)行連接,以保證在跨越多個交換機(jī)上建立的同一個VLAN的成員

49、能夠相互通訊。)的流量也會發(fā)給所有的接口和鄰近的交換機(jī),會導(dǎo)致其他交換機(jī)的CAM表溢出,造成交換機(jī)負(fù)載過大,網(wǎng)絡(luò)緩慢和丟包甚至癱瘓。所以說MAC Flooding是一種比較危險的攻擊,嚴(yán)重會使整個網(wǎng)絡(luò)不能正常通信。</p><p>  這種基于ARP欺騙的Flooding攻擊,也可以稱作“拒絕服務(wù)式攻擊(D.O.S)”。而如果攻擊者先對目標(biāo)主機(jī)進(jìn)行D.O.S攻擊,使其不能對外部作出任何反應(yīng)之后,再將自身主機(jī)的IP

50、地址和MAC地址分別改為目標(biāo)主機(jī)的IP地址和MAC地址,代替它接收一切數(shù)據(jù)包,從而進(jìn)一步實(shí)施各種非法操作。那么這樣一種攻擊方式,我們也可以稱作“克隆攻擊”。</p><p>  2.3.5 ARP網(wǎng)頁劫持攻擊</p><p>  ARP網(wǎng)頁劫持攻擊其實(shí)也可以說是利用了“中間人”攻擊的原理。局域網(wǎng)內(nèi)用戶訪問網(wǎng)頁時,網(wǎng)頁源代碼的頭部被插入代碼“<iframe 81"13=’包含

51、病毒或者木馬程序的網(wǎng)頁地址’> </iframe>或者“<script>可以使瀏覽器自動下載病毒或者木馬程序的腳本內(nèi)容</script>”,訪問網(wǎng)頁不順暢,提示腳本錯誤,同時殺毒軟件的網(wǎng)頁監(jiān)控提示網(wǎng)頁存在病毒。但是當(dāng)檢查服務(wù)器上網(wǎng)頁的原始代碼時卻發(fā)現(xiàn)沒有任何異常。這種情況很可能就是ARP網(wǎng)頁劫持攻擊引起的。</p><p>  根據(jù)網(wǎng)頁內(nèi)容傳輸過程中,ARP網(wǎng)頁劫持發(fā)生的

52、區(qū)段位置不同,我們可以把ARP網(wǎng)頁劫持攻擊分成兩種情況:發(fā)生在客戶端所在局域網(wǎng)內(nèi)的ARP網(wǎng)頁劫持攻擊和發(fā)生在服務(wù)器所在局域網(wǎng)內(nèi)的ARP網(wǎng)頁劫持攻擊。</p><p> ?、?客戶端ARP網(wǎng)頁劫持</p><p>  如果客戶端所在的網(wǎng)絡(luò)中存在進(jìn)行ARP攻擊的主機(jī),ARP攻擊主機(jī)通過ARP欺騙篡改網(wǎng)關(guān)的ARP緩存表,在網(wǎng)關(guān)與網(wǎng)頁客戶端主機(jī)之間建立單向代理。服務(wù)器返回到客戶端瀏覽器的信息是按照

53、“網(wǎng)頁服務(wù)器—>外部網(wǎng)絡(luò)—>客戶端所在網(wǎng)絡(luò)網(wǎng)關(guān)—>ARP攻擊主機(jī)—>客戶端主機(jī)”的路徑進(jìn)行發(fā)送的。ARP攻擊主機(jī)并不修改HTTP請求信息,但是它修改網(wǎng)頁服務(wù)器的返回信息,在其中加入木馬或病毒鏈接。這樣一來,客戶端所在網(wǎng)絡(luò)中的多數(shù)主機(jī)訪問任何WEB頁面時,反病毒軟件的網(wǎng)頁監(jiān)控均提示發(fā)現(xiàn)病毒。 </p><p> ?、?服務(wù)器端ARP網(wǎng)頁劫持</p><p>  如果W

54、EB服務(wù)器所在的網(wǎng)絡(luò)存在ARP攻擊主機(jī),那么ARP攻擊主機(jī)通過ARP欺騙污染W(wǎng)EB服務(wù)器的ARP緩存表,在WE B服務(wù)器和網(wǎng)關(guān)之間建立單向代理。從WEB服務(wù)器返回網(wǎng)頁訪問客戶端的信息是按照“WEB服務(wù)器一>ARP攻擊主機(jī)一服務(wù)器所在網(wǎng)絡(luò)網(wǎng)關(guān)一>外部網(wǎng)絡(luò)一>網(wǎng)頁客戶端”的路徑進(jìn)行發(fā)送的。ARP攻擊主機(jī)監(jiān)聽WEB服務(wù)器80端口的HTTP應(yīng)答包,并進(jìn)行篡改,加入木馬或病毒鏈接,然后通過網(wǎng)關(guān)發(fā)送給客戶端。這時,用戶訪問此WEB

55、服務(wù)器所在網(wǎng)段的所有服務(wù)器,均出現(xiàn)網(wǎng)頁源代碼頂部被加入惡意代碼鏈接的情況。</p><p>  2.4 簡單模擬ARP欺騙</p><p>  因?yàn)樵诰钟蚓W(wǎng)實(shí)際應(yīng)用中遭受ARP欺騙攻擊的情況是比較普遍的,所以如何在實(shí)驗(yàn)環(huán)境下模擬ARP欺騙攻擊就顯得很重要。由于客觀條件限制,在模擬攻擊實(shí)驗(yàn)中我不進(jìn)行小型組網(wǎng),而是將實(shí)驗(yàn)環(huán)境設(shè)置為在我的Notebook PC上安裝VMWare virtual

56、machine,操作系統(tǒng)為Windows XP OS,虛擬機(jī)分別編號A、B、C。在綜合各個相對零散的小實(shí)驗(yàn)后,我總結(jié)了兩個比較典型的ARP欺騙攻擊實(shí)驗(yàn):利用“網(wǎng)絡(luò)執(zhí)法官”軟件和編寫小程序來模擬。</p><p>  2.4.1 采用軟件模擬ARP欺騙</p><p>  首先在VMWare中使用host-only模式,在啟動操作系統(tǒng)后,VMWare會為A、B、C的虛擬網(wǎng)卡分配不通的MAC地

57、址,我們可以人為配置IP地址,其IP-MAC地址對應(yīng)表如圖2-4所示,子網(wǎng)掩碼為255.255.255.0。然后在虛機(jī)C上安裝“網(wǎng)絡(luò)執(zhí)法官”軟件,破壞虛機(jī)A、B之間的正常通信。</p><p>  圖2-4 攻擊前虛機(jī)的IP-MAC對應(yīng)關(guān)系</p><p>  這里對“網(wǎng)絡(luò)執(zhí)法官”軟件做一個簡要介紹。它是一款局域網(wǎng)管理輔助軟件,采用網(wǎng)絡(luò)底層協(xié)議,能穿透各種客戶端防火墻,對網(wǎng)絡(luò)中的每一臺主

58、機(jī)進(jìn)行監(jiān)控,采用MAC識別用戶,可靠性高。本軟件的主要功能是依據(jù)管理員為各主機(jī)限定的權(quán)限,實(shí)時監(jiān)控整個局域網(wǎng),并自動將非法用戶與網(wǎng)絡(luò)中某些主機(jī)或整個網(wǎng)絡(luò)隔離,而且無論局域網(wǎng)中的主機(jī)運(yùn)行何種防火墻,都不能逃避監(jiān)控,也不會引發(fā)防火墻警告,提高了網(wǎng)絡(luò)安全性。管理員可以實(shí)現(xiàn)如禁止某些主機(jī)在指定的時段訪問外網(wǎng)或徹底禁止某些主機(jī)訪問外網(wǎng);保護(hù)網(wǎng)絡(luò)中關(guān)鍵主機(jī),只允許指定的主機(jī)訪問等功能。</p><p>  安裝完“網(wǎng)絡(luò)執(zhí)法官

59、”之后,運(yùn)行它,選中“網(wǎng)卡復(fù)選框”,在監(jiān)控范圍內(nèi)選擇窗口中的指出網(wǎng)卡所在子網(wǎng)的所有可用IP地址。在進(jìn)行攻擊前,我們可以再次在各虛機(jī)的D0S命令窗口中運(yùn)行命令ipconfig /all和arp –a,以獲得被攻擊前各虛機(jī)的IP-MAC地址,再用ping命令測試各虛機(jī)之間是否能正常通信。</p><p>  然后開始模擬攻擊,在虛機(jī)C上,進(jìn)入“網(wǎng)絡(luò)執(zhí)法官”的管理界面,右鍵單擊被攻擊的虛機(jī)B,從快捷菜單中選擇“手工管理

60、”。這里有三種攻擊方式:IP地址沖突攻擊,即制造主機(jī)間的IP沖突;禁止與關(guān)鍵主機(jī)連接攻擊;禁止與所有其他主機(jī)連接。后面這兩種方式都是用來制造主機(jī)間的ARP欺騙??梢栽凇邦l率”中選擇每N秒N次,頻率越高,攻擊效果越明顯。選項(xiàng)完成后點(diǎn)擊“開始”,攻擊就開始了。之后我們可以再在虛機(jī)A、B之間用ping命令測試,提示“Request timed out”,表明通信斷了。</p><p>  在虛機(jī)A上用命令arp –a重

61、新獲得MAC地址表,比較攻擊前后的MAC地址表,可以發(fā)現(xiàn)ARP緩存表中虛機(jī)B的MAC地址已經(jīng)被篡改了,這就表明模擬ARP欺騙攻擊成功。如圖2-5所示。</p><p>  圖2-5 攻擊后虛機(jī)A、B的IP-MAC對應(yīng)關(guān)系</p><p>  2.4.2 采用編程模擬ARP欺騙</p><p>  當(dāng)前有很多攻擊者喜歡利用ARP協(xié)議的欺騙原理編寫木馬或者病毒程序來對

62、網(wǎng)絡(luò)中的主機(jī)進(jìn)行攻擊。這里我們也可以用C++語言來編寫一段程序模擬這種欺騙攻擊。限于篇幅考慮,只列出相關(guān)主程序如下:</p><p><b>  ………………</b></p><p>  3 ARP欺騙的防御技術(shù)</p><p>  本章在實(shí)踐的基礎(chǔ)上,總結(jié)了一些較為有效的ARP欺騙檢測和防御手段,并分析它們優(yōu)劣特點(diǎn)和適用的環(huán)境,揚(yáng)長避短、相

63、互結(jié)合,以期達(dá)到更好的防御效果。</p><p>  3.1 ARP欺騙的檢測</p><p>  3.1.1 手動檢測</p><p> ?、?命令查看和抓包分析 </p><p>  可以通過DOS命令查看主機(jī)或路由器等網(wǎng)關(guān)設(shè)備上的ARP緩存表。使用抓包軟件(如windump、sniffer pro 等)在局域網(wǎng)內(nèi)抓去ARP的Rep

64、ly報文, 以windump為例,假設(shè)192.168.0.1是網(wǎng)關(guān)地址, 抓下來的包只分析包含有“reply”字符的,格式如下:18:25:15.706335 arp reply192.168.0.1is- at 00:07:ec:e1:c8:c3。如果最后的MAC地址不是網(wǎng)關(guān)的真實(shí)MAC地址的話, 那就說明有ARP欺騙存在,而這個MAC地址就是那臺進(jìn)行ARP 欺騙主機(jī)的MAC地址。這種方法簡單易行,無需特別權(quán)限設(shè)置,所有用戶都可以做,

65、誤判率較小。但必須在局域網(wǎng)內(nèi)部(廣播域內(nèi)部)聽包才有效。</p><p> ?、?對IP-MAC映射關(guān)系的監(jiān)控 </p><p>  在網(wǎng)絡(luò)正常時, 使用NBTSCAN等工具掃描全網(wǎng)段的IP 地址和MAC地址, 保存一個全網(wǎng)的IP-MAC地址對照表備用。</p><p> ?、?對三層交換機(jī)的監(jiān)控</p><p>  登陸局域網(wǎng)的上聯(lián)三層交換

66、機(jī),并查看交換機(jī)的ARP緩存表。如果在ARP表中存在一個MAC對應(yīng)多個IP的情況, 就表明極可能存在ARP欺騙攻擊, 而這個MAC就是欺騙主機(jī)的MAC。</p><p> ?、?對二層交換機(jī)的監(jiān)測</p><p>  在接入二層交換機(jī)上利用轉(zhuǎn)發(fā)表找出病毒機(jī)器的MAC- PORT對應(yīng)的網(wǎng)絡(luò)端口,對端口進(jìn)行隔離或?qū)υ揗AC的數(shù)據(jù)包進(jìn)行過濾。該方法的優(yōu)點(diǎn)是對ARP攻擊源進(jìn)行封堵,可防止中毒機(jī)器利

67、用其它機(jī)器的漏洞進(jìn)行病毒傳播,及時地將攻擊源隔離出網(wǎng)絡(luò), 使病毒機(jī)器暫時不能上網(wǎng)也不會對整個網(wǎng)絡(luò)造成危害。但該方法也存在一定的局限性.它的實(shí)現(xiàn)對網(wǎng)絡(luò)交換設(shè)備有較強(qiáng)的依賴性。系統(tǒng)要求不斷收集三層交換機(jī)上的IP-MAC信息和各接入層交換機(jī)的MAC-PORT信息表。用戶端口一旦被查封, 一定要通過其它方式告知用戶,請用戶及時處理病毒機(jī)器。機(jī)器恢復(fù)正常時應(yīng)及時開通被查封的端口。</p><p>  3.1.2 自動檢測&

68、lt;/p><p><b> ?、?使用檢測軟件</b></p><p>  諸如ARP Watch、ARP Guard、ARP 防火墻等軟件均可用于動態(tài)檢測局域網(wǎng)內(nèi)的ARP欺騙攻擊。ARPWatch是一個在局域網(wǎng)內(nèi)監(jiān)聽ARP報文的專用工具。在監(jiān)測到IP-MAC地址映射出現(xiàn)可疑的改變時,通過郵件通知網(wǎng)絡(luò)管理員。ARP Watch輕便有效,特別適用于小規(guī)模網(wǎng)絡(luò)。入侵監(jiān)測系統(tǒng)

69、Snort也具有與ARP watch相類似的ARP欺騙監(jiān)測功能,但它主要是一個安全預(yù)警軟件,ARP欺騙監(jiān)測只是其中一小部分功能,應(yīng)用具有局限性。ARP Guard采用了一種基于SNMP探針的分布式監(jiān)測架構(gòu),通過對網(wǎng)絡(luò)監(jiān)聽和SNMP探針取得的信息分別進(jìn)行動態(tài)分析,以判斷網(wǎng)絡(luò)中是否有ARP欺騙并及時通知網(wǎng)絡(luò)管理員。與ARP Watch相比,ARP Guard增加了SNMP探針模塊,可以應(yīng)用于大規(guī)模網(wǎng)絡(luò)。但ARP Guard是一款商業(yè)軟件,不

70、能免費(fèi)使用。</p><p>  ARP Watch、ARP Guard僅監(jiān)測網(wǎng)絡(luò)中是否存在ARP欺騙,并不主動向外發(fā)送ARP報文;相比之下,ARP防火墻則在監(jiān)測網(wǎng)絡(luò)是否存在ARP欺騙的同時,還主動向外發(fā)送ARP報文,防止對本機(jī)進(jìn)行ARP欺騙。ARP防火墻是一種安裝在用戶主機(jī)上的ARP欺騙監(jiān)測軟件 ,能夠動態(tài)監(jiān)測局域網(wǎng)內(nèi)針對本主機(jī)和針對網(wǎng)關(guān)的ARP欺騙。但是如果設(shè)置錯誤,主動監(jiān)測的ARP防火墻會向局域網(wǎng)內(nèi)發(fā)送大量

71、ARP報文,造成ARP報文的廣播風(fēng)暴,影響網(wǎng)絡(luò)通信。因此ARP防火墻的應(yīng)用具有兩面性。</p><p>  ⑵ 針對ARP報文的檢測</p><p>  基于“所有的攻擊都是從PC終端上發(fā)起的,如果能從終端操作平臺采取防范措施,這些不安全因素將從終端源頭被控制”的思想,從局域網(wǎng)中的每個終端人手,提出一種檢測ARP欺騙攻擊的主要思路:對每個主機(jī)發(fā)送和接收的ARP報文進(jìn)行一致性檢測,實(shí)施發(fā)送方

72、身份認(rèn)證。</p><p>  按照這種思路,我們首先對ARP頭信息進(jìn)行異常檢測。通過對眾多的ARP攻擊工具和利用ARP攻擊手段的病毒的分析,發(fā)現(xiàn)攻擊流量中存在大量頭信息異常的ARP報文,這些非一致頭信息的ARP報文都是偽造的ARP欺騙報文。在每個ARP報文中的數(shù)據(jù)幀報頭和ARP分組中都包含有發(fā)送端的硬件信息即MAC地址。正常情況下以太網(wǎng)數(shù)據(jù)幀中,幀頭相應(yīng)的MAC地址應(yīng)該和幀數(shù)據(jù)中ARP分組相應(yīng)的MAC地址一致,

73、這樣的ARP報文才算是正確的。攻擊者為了防止被追查,通常在ARP欺騙數(shù)據(jù)報文不會留下發(fā)送虛假信息的主機(jī)地址,而是偽造一個假的地址填充到報文中,但是承載這個ARP報文的以太網(wǎng)數(shù)據(jù)幀卻包含了它真實(shí)的源MAC地址。</p><p>  即使以太網(wǎng)的數(shù)據(jù)幀頭里的相應(yīng)的MAC地址和幀數(shù)據(jù)包中ARP分組相應(yīng)的的MAC地址一致,也不能斷定這個ARP報文不是欺騙或攻擊的報文,一些高明的攻擊者能利用正確的ARP報文甚至偽造出格式完

74、全正確的ARP報文發(fā)起ARP攻擊。因此,我們還要對ARP攻擊進(jìn)行檢測。如果能夠?qū)邮盏腁RP報文實(shí)施發(fā)送方身份認(rèn)證,拒絕未通過認(rèn)證的報文,那么就能檢測出ARP欺騙攻擊報文。基于接收的ARP報文中的MAC地址和IP地址等信息,可以構(gòu)造相應(yīng)的協(xié)議上層數(shù)據(jù)包如IP層或傳輸層數(shù)據(jù)包,注入到網(wǎng)絡(luò)中,根據(jù)其是否響應(yīng)數(shù)據(jù)報文以及響應(yīng)數(shù)據(jù)報文中的MAC地址和IP地址等信息,就能驗(yàn)證接收的ARP報文中MAC地址和IP地址的真實(shí)性,從而實(shí)施對接收的ARP報

75、文的認(rèn)證。</p><p>  ⑶ 基于Windows OS自身函數(shù)的檢測</p><p><b> ?、?獲得網(wǎng)關(guān)地址</b></p><p>  可以用系統(tǒng)函數(shù)Get IpAddr Table( )獲得Windows系統(tǒng)中的路由表,找到Default Gateway ,自動獲得系統(tǒng)網(wǎng)關(guān)的IP地址。相關(guān)代碼如下:</p><

76、;p> ?、?獲取ARP緩存表中網(wǎng)關(guān)的MAC地址</p><p>  用SendARP()函數(shù)獲取系統(tǒng)網(wǎng)關(guān)對應(yīng)的MAC 地址。如果Windows 系統(tǒng)的ARP 緩存中有網(wǎng)關(guān)對應(yīng)的記錄,該函數(shù)獲得ARP 緩存中記錄的MAC 地址。如果Windows 系統(tǒng)的ARP 緩存中不存在網(wǎng)關(guān)對應(yīng)的記錄,該函數(shù)會自動發(fā)送一個ARP 請求包,根據(jù)返回的ARP 應(yīng)答包獲得網(wǎng)關(guān)對應(yīng)的MAC 地址。然后將該地址保存下來。相關(guān)代碼如

77、下:</p><p>  ③ 獲取真實(shí)的網(wǎng)關(guān)MAC地址</p><p>  先調(diào)用系統(tǒng)命令A(yù)RP - d清空系統(tǒng)ARP緩存,然后立即調(diào)用SendARP()函數(shù)。該函數(shù)根據(jù)返回的ARP應(yīng)答包獲得網(wǎng)關(guān)對應(yīng)的MAC地址,從而獲得網(wǎng)關(guān)對應(yīng)的真實(shí)MAC地址。為避免系統(tǒng)發(fā)送ARP請求包后,正好收到ARP 欺騙計算機(jī)的應(yīng)答包,可將該過程重復(fù)幾次。將獲得的MAC地址和前面保存的從緩存獲得的MAC地址相比較

78、。相關(guān)代碼如下:</p><p>  3.2 ARP欺騙攻擊的防御</p><p>  3.2.1 手動防御</p><p> ?、?使用靜態(tài)ARP緩存表</p><p>  防御ARP欺騙的最簡單方法就是在交換機(jī)或路由器上靜態(tài)綁定IP-MAC地址映射關(guān)系,在主機(jī)上通過Windows 自帶的arp -s命令,可以將特定的IP 地址和MAC地址

79、進(jìn)行綁定,實(shí)現(xiàn)一定的ARP 欺騙防御。如果是Windows OS的主機(jī)還可以編寫一個批處理文件,后綴為.bat,其內(nèi)容為:</p><p><b>  @echo off</b></p><p><b>  arp - d</b></p><p>  arp –s IP地址 MAC地址</p><p&g

80、t;  若想讓系統(tǒng)每次啟動時都能自動地加載靜態(tài)ARP ,則可將這個批處理軟件拖到“ windows ——開始——程序——啟動”中。</p><p>  使用靜態(tài)綁定IP-MAC地址的方法對于防御ARP欺騙攻擊非常有效,但是它的不足也是顯而易見的:僅適用于小規(guī)模局域網(wǎng)以及采用靜態(tài)IP分配的場合,無論是主機(jī)還是網(wǎng)絡(luò)設(shè)備,配置工作都很麻煩。對于交換機(jī)下聯(lián)客戶機(jī)變換頻繁的場合,基本無可用性;對于主機(jī)需要通信的目標(biāo)很多,不

81、可能一個一個都綁起來;容易失效,這種方法進(jìn)行的綁定,一拔掉網(wǎng)線或者關(guān)機(jī)、注銷就全部失效了。而且使用靜態(tài)ARP 緩存增大了網(wǎng)絡(luò)維護(hù)量,在較大或經(jīng)常移動主機(jī)的網(wǎng)絡(luò)中這樣做更為困難。只能防止ARP 欺騙,對IP 地址沖突、Flood 攻擊仍然沒有辦法阻止。</p><p>  這里,我們簡單示例在銳捷接入層交換機(jī)上的手動防御配置:</p><p> ?、?交換機(jī)地址綁定 </p&g

82、t;<p><b>  ……</b></p><p><b> ?、?防范主機(jī)欺騙</b></p><p><b>  ……</b></p><p><b> ?、?防范網(wǎng)關(guān)欺騙</b></p><p><b>  ……</b

83、></p><p> ?、?采用VLAN技術(shù)隔離端口</p><p>  另一種有效的手動防御方法是在局域網(wǎng)中增加VLAN的數(shù)目,減少VLAN中的主機(jī)數(shù)量??梢愿鶕?jù)網(wǎng)絡(luò)需要在拓?fù)浣Y(jié)構(gòu)中多劃分若干個VLAN,這樣既能夠在發(fā)生ARP攻擊時減少所影響的網(wǎng)絡(luò)范圍,又能夠在發(fā)生ARP攻擊時便于定位出現(xiàn)的網(wǎng)段和具體的主機(jī)。缺點(diǎn)同樣是增加了網(wǎng)絡(luò)維護(hù)的復(fù)雜度,也無法自動適應(yīng)網(wǎng)絡(luò)的動態(tài)變化。</

84、p><p>  3.2.2 自動防御</p><p>  ⑴DHCP Snooping</p><p>  在采用動態(tài)分配IP地址的較大局域網(wǎng)里,針對仿冒、欺騙網(wǎng)關(guān)、ARP“中間人”攻擊等,我們可以采用DHCP Snooping技術(shù)。它是運(yùn)行在二層接人設(shè)備上的一種DHCP安全特性,其實(shí)現(xiàn)原理是:接人層交換機(jī)監(jiān)控用戶動態(tài)申請IP地址的全過程,記錄用戶的IP、MAC和端口

85、信息,并且在接入交換機(jī)上做多元素綁定,從而從根本上阻斷非法ARP報文的傳播。DHCP Snooping通過監(jiān)聽DHCP報文,記錄DHCP客戶端IP地址與MAC地址的對應(yīng)關(guān)系。并且設(shè)置DHCP Snooping信任端口,保證客戶端從合法的服務(wù)器獲取IP地址。信任端口正常轉(zhuǎn)發(fā)接收到的DHCP報文,從而保證了'DHCP客戶端能夠從DHCP服務(wù)器獲取IP地址。不信任端口接收到DHCP服務(wù)器響應(yīng)的DHCP—ACK和DHCP—OFFER報文

86、后,丟棄該報文,從而防止了DHCP客戶端獲得錯誤的IP地址。</p><p>  圖3-1 交換機(jī)上的DHCP Snooping功能配置方法</p><p> ?、?使用ARP服務(wù)器</p><p>  在局域網(wǎng)內(nèi)部的設(shè)置一臺機(jī)器作為ASP服務(wù)器,專門保存并且維護(hù)網(wǎng)絡(luò)內(nèi)的所有主機(jī)的IP地址與MAC地址映射記錄, 使其他計算機(jī)的ARP 配置只接受來自ARP服務(wù)器的A

87、RP 響應(yīng)。當(dāng)有ARP請求時該服務(wù)器通過查閱自己緩存的靜態(tài)記錄并以被查詢主機(jī)的名義響應(yīng)ARP局域網(wǎng)內(nèi)部的請求,從而防止了ARP欺騙攻擊的發(fā)生。但是這個方法也有不足,首先要保證ARP服務(wù)器不被攻擊,確保ARP服務(wù)器的安全;其次要保證主機(jī)只接受指定ARP服務(wù)器的ARP Reply報文,要做到這一點(diǎn),目前還是比較困難的。</p><p>  ⑶ 基于ARP報文的防御算法</p><p>  在3

88、.1.2自動檢測一節(jié)當(dāng)中,我們提到了針對ARP報文的檢測方法。其實(shí)針對ARP報文的檢測和防御是緊密結(jié)合的,并沒有太大的分界,這在防御的算法上比較直觀地表現(xiàn)出來。</p><p> ?、?通過檢測ARP報文頭信息來防御的算法</p><p><b>  ……</b></p><p> ?、?通過檢測ARP攻擊并過濾ARP報文來防御的算法</

89、p><p><b>  ……</b></p><p> ?、?基于DAI的ARP欺騙防御</p><p>  通過我們對欺騙產(chǎn)生的分析可知,如何部署對A R P 報文的有效性檢驗(yàn)是預(yù)防ARP攻擊的根本。Cisco開發(fā)的動態(tài)ARP報文檢測(Dynamic Arp Inspection),就是利用DHCP服務(wù)記錄的申請者的Mac地址、IP地址以及相應(yīng)的

90、交換機(jī)端口號,提供了一種比較完善的解決方案,其主要的工作流程如圖3-2所示。</p><p>  圖3-2 DAI的工作流程</p><p>  交換機(jī)端口收到ARP報文時,會提取該報文中的源MAC地址與IP地址對,將其與DHCP Snooping Binding 表中的相關(guān)地址進(jìn)行比較,如果一致,就允許該報文通過,如果不一致的話則認(rèn)為該報文非法,禁止該報文通過,并生成報警日志。對于收到

91、非法ARP報文的端口,可以設(shè)置其端口的狀態(tài)為進(jìn)入錯誤(Err-disable)狀態(tài),關(guān)閉該端口流量。</p><p>  對于一些需要配置靜態(tài)I P地址的服務(wù)器來說,手工添加“DHCP Snooping Binding”表的綁定記錄是必須的;或者添加ARP ACL(ARP訪問控制列表)或者將相應(yīng)的交換機(jī)端口置于不檢驗(yàn)ARP報文的狀態(tài),即DAI的信任端口。三者的區(qū)別在于:前者使“DHCP Snooping Bind

92、ing”表增加一條記錄;ARP Acl優(yōu)先于DAI檢測,允許相應(yīng)的擁有合法源MAC和IP地址的ARP報文通過;后者則允許該端口所有的ARP報文通過,無論是否合法。</p><p>  假設(shè)交換機(jī)B為Cisco 3750;交換機(jī)B連接DHCP服務(wù)器數(shù)據(jù)來源的端口“GigabitEthernet1/1”;連接FTP 服務(wù)器的端口為“GigabitEthernet1/2”,F(xiàn)TP服務(wù)器的硬件地址為“MAC F:0000

93、.00ff.ffff”,IP地址為靜態(tài)的“IP FF:10.1.1.10”。三臺主機(jī)和FTP服務(wù)器均屬于Vlan105,Vlan105 的網(wǎng)關(guān)接口置于交換機(jī)B內(nèi)。DAI配置網(wǎng)絡(luò)拓?fù)鋱D如圖3-3所示。</p><p>  圖3-3 DAI配置網(wǎng)絡(luò)拓?fù)鋱D</p><p>  在交換機(jī)B中配置DAI的命令如下:</p><p><b>  ……</b&g

94、t;</p><p>  4 校園網(wǎng)ARP欺騙的立體防御方案</p><p>  結(jié)合參與學(xué)院校園網(wǎng)絡(luò)的實(shí)踐,本章著重探究校園網(wǎng)ARP欺騙的立體防御方案體系,多角度、多元素協(xié)同防御,實(shí)現(xiàn)對網(wǎng)絡(luò)病毒和攻擊等安全事件自動發(fā)現(xiàn)、自動處理、自動通知、自動解除的全局安全聯(lián)動。主要包括基于802.1x協(xié)議的認(rèn)證防御、銳捷GSN方案的原理、GSN防御體系的構(gòu)成和GSN+ARP-Check體系幾個部分。

95、</p><p>  4.1 基于802.1x協(xié)議的認(rèn)證防御</p><p>  4.1.1 IEEE 802.1x認(rèn)證系統(tǒng)</p><p>  802. 1x 是IEEE 為了解決基于端口的接入控制而定義的標(biāo)準(zhǔn),被稱為基于端口的訪問控制協(xié)議。它提供了一種對設(shè)備進(jìn)行認(rèn)證和授權(quán)的方法,在認(rèn)證和授權(quán)過程失敗的情況下防止對端口進(jìn)行訪問,現(xiàn)在更多地用于園區(qū)網(wǎng)的有線接入控制。

96、IEEE 802.1x認(rèn)證系統(tǒng)的體系結(jié)構(gòu)主要包括三個重要部分:客戶端請求系統(tǒng)、認(rèn)證系統(tǒng)、認(rèn)證服務(wù)器系統(tǒng)。體系結(jié)構(gòu)如圖4-1所示。</p><p>  圖4-1 802.1x認(rèn)證系統(tǒng)體系結(jié)構(gòu)</p><p> ?、?客戶端請求系統(tǒng)(Supplicant System)</p><p>  請求者通常是支持802. 1x 認(rèn)證的用戶終端設(shè)備,如客戶機(jī)安裝Windows

97、XP 操作系統(tǒng)就已支持802. 1x 認(rèn)證,而大多數(shù)的廠商都開發(fā)了各自的客戶端軟件,用戶通過啟動客戶端軟件發(fā)起802. lx 認(rèn)證。</p><p> ?、?認(rèn)證系統(tǒng)(Authenticator System)</p><p>  認(rèn)證系統(tǒng)通常為支持802. lx 協(xié)議的網(wǎng)絡(luò)設(shè)備組成,簡稱NAS (Network Access Server) ,如Cisco 系列交換機(jī)、H3C 等公司的系

98、列交換機(jī),它為請求者提供服務(wù)端口,以實(shí)現(xiàn)用戶的802. 1x 認(rèn)證。802. 1x 認(rèn)證技術(shù)的操作粒度為端口,端口可以是一個物理端口或邏輯端口,這個端口在邏輯上又分為“可控端口”(Controlled Port) 與“不可控端口”(Uncontrolled Port) 。“可控端口”只在客戶端認(rèn)證通過的情況下才打開,一旦認(rèn)證成功,請求方就可以通過“可控端口”訪問網(wǎng)絡(luò)資源并獲得相應(yīng)的服務(wù)?!安豢煽囟丝凇笔冀K處于雙向連通狀態(tài),主要用來傳遞E

99、AP 協(xié)議包,可保證客戶端始終可以向認(rèn)證方發(fā)出或接受認(rèn)證消息。</p><p> ?、?認(rèn)證服務(wù)器系統(tǒng)(Authentication Server System)</p><p>  認(rèn)證服務(wù)器是為認(rèn)證系統(tǒng)提供認(rèn)證服務(wù)的實(shí)體,通常為RADIUS 服務(wù)器,該服務(wù)器可以存儲有關(guān)用戶的信息,并能進(jìn)行賬戶管理等。</p><p> ?、?802.1x認(rèn)證機(jī)制及流程 <

100、/p><p><b>  如圖4-2所示。</b></p><p>  圖4-2 802.1x認(rèn)證機(jī)制及流程</p><p>  在這樣的機(jī)制和流程中,不同的廠商以RADIUS服務(wù)器為核心,開發(fā)了不同的認(rèn)證計費(fèi)管理系統(tǒng),如H3C的CAMS系統(tǒng),銳捷的SAMS管理系統(tǒng)等。我所在的學(xué)校使用的是銳捷的SAMS管理系統(tǒng),主要是配合支持802.1x協(xié)議的交

101、換機(jī)和相應(yīng)的客戶端程序,完成對用戶上網(wǎng)過程的認(rèn)證、授權(quán)和計費(fèi),并提供一個綜合管理的平臺。當(dāng)用戶通過認(rèn)證后,認(rèn)證服務(wù)器會把用戶的相關(guān)信息傳遞給認(rèn)證系統(tǒng)將記錄與管理用戶的上網(wǎng),構(gòu)建動態(tài)的訪問控制列表,進(jìn)行不同級別的計費(fèi),并實(shí)施與客戶端進(jìn)行一些交互等等,從而實(shí)現(xiàn)認(rèn)證、授權(quán)和管理功能。這為進(jìn)一步增強(qiáng)其防御ARP欺騙攻擊的功能提供了理論與實(shí)際的依據(jù)。</p><p>  4.1.2 基于802.1x認(rèn)證的ARP防御技術(shù)&l

102、t;/p><p>  鑒于802.1x的認(rèn)證機(jī)制,我們可以通過認(rèn)證服務(wù)器與客戶端之間的聯(lián)動來實(shí)現(xiàn)防御ARP欺騙攻擊的技術(shù),從而加強(qiáng)ARP欺騙攻擊的控制和管理。具體實(shí)現(xiàn)的技術(shù)如下:</p><p> ?、?定期更新ARP列表,增強(qiáng)用戶主機(jī)的防御功能</p><p>  RADIUS綜合認(rèn)證計費(fèi)管理服務(wù)器在接受到客戶端的上網(wǎng)認(rèn)證請求后,要進(jìn)行一系列的處理,當(dāng)允許用戶接入上網(wǎng)

103、時,記錄合法用戶的IP和MAC地址并填入相關(guān)數(shù)據(jù)庫的ARP列表,并且通過NAS給客戶端發(fā)送允許上網(wǎng)的命令,下發(fā)記錄在數(shù)據(jù)庫中的對應(yīng)該用戶這一網(wǎng)段的正確的ARP列表內(nèi)容,特別是網(wǎng)關(guān)的IP和MAC地址。增加下發(fā)ARP列表的內(nèi)容都是本網(wǎng)段上網(wǎng)機(jī)器的IP和MAC地址, RADIUS認(rèn)證服務(wù)器很容易從這些機(jī)器的上網(wǎng)認(rèn)證過程中獲得??蛻舳私邮盏较掳l(fā)的ARP列表內(nèi)容,把它寫入本機(jī)的ARP表項(xiàng),執(zhí)行ARP靜態(tài)綁定。然后再結(jié)合認(rèn)證系統(tǒng)可以定期發(fā)起重認(rèn)證的

104、功能,使每次重認(rèn)證通過時,RADIUS服務(wù)器都向客戶端下發(fā)新的正確的ARP列表內(nèi)容,不斷維持客戶端主機(jī)ARP表項(xiàng)的正確性</p><p> ?、?對ARP中毒的機(jī)器或故意進(jìn)行ARP欺騙攻擊的機(jī)器實(shí)施斷網(wǎng)防御功能</p><p>  因?yàn)榘l(fā)生ARP 欺騙攻擊時,會產(chǎn)生大量的ARP廣播報文,為此在客戶端軟件中增加檢測異常流量的模塊,使客戶端在探測到大量的ARP廣播時,能進(jìn)行判斷并把它們當(dāng)作異常

105、流量,然后解析這些報文,提取發(fā)送方的IP與MAC地址,最后在響應(yīng)認(rèn)證設(shè)備的重認(rèn)證請求時,把提取到的可能異常的IP與MAC地址附加在上傳數(shù)據(jù)報文中發(fā)給RADIUS認(rèn)證服務(wù)器。然后由認(rèn)證服務(wù)器解析提取對應(yīng)的IP與MAC地址,再與原來數(shù)據(jù)庫中的ARP表作比較,發(fā)現(xiàn)不正常的客戶端主機(jī)時,便將其強(qiáng)制下線,甚至加入黑名單進(jìn)行一段時間的斷網(wǎng)處罰,直到他們進(jìn)行殺毒或作出檢查清理后再開放上網(wǎng),從而有效地把中毒機(jī)器或故意進(jìn)行ARP欺騙攻擊的機(jī)器從802.1

106、x的認(rèn)證交換機(jī)端口處予以阻斷上網(wǎng),避免對正常機(jī)器的干擾,起到積極的防御作用。</p><p>  4.2 銳捷GSN解決方案原理</p><p>  從第二章中對ARP欺騙產(chǎn)生根源的分析可知,ARP欺騙攻擊存在的原因,究其根本在于ARP協(xié)議本身的不完善,通信雙方的交互流程缺乏一個授信機(jī)制,使得非法的攻擊者能夠介入到正常的ARP交互中進(jìn)行欺騙。要從根本上解決ARP欺騙的問題,必須要在局域網(wǎng)內(nèi)

107、的通信雙方之間建立起一個可信任的驗(yàn)證體系。銳捷網(wǎng)絡(luò)GSN全局安全解決方案中特有的“ARP三重立體防御體系”,正是為了應(yīng)對現(xiàn)在日益嚴(yán)重的ARP欺騙現(xiàn)象而制定的。整個解決方案遵循以下思路進(jìn)行。</p><p>  4.2.1 用戶身份合法性驗(yàn)證</p><p>  通過部署GSN解決方案,實(shí)行基于IEEE 802.1X協(xié)議的身份認(rèn)證系統(tǒng),所有用戶都必須要經(jīng)過統(tǒng)一集中的身份鑒權(quán)認(rèn)證方能允許接入網(wǎng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論