国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ARP協(xié)議的網(wǎng)絡攻防技術實踐

2018-02-05 09:02:50馬鉞中國人民解放軍陸軍工程大學楊旭大連理工大學
數(shù)碼世界 2018年1期
關鍵詞:表項局域網(wǎng)IP地址

馬鉞 中國人民解放軍陸軍工程大學 楊旭 大連理工大學

1 引言

隨著計算機互聯(lián)網(wǎng)應用的飛速發(fā)展,人們對網(wǎng)絡越來越依賴,而網(wǎng)絡信息安全也隨之成為當今社會關注的熱點問題。深刻了解網(wǎng)絡攻擊原理,并針對攻擊手段來做好網(wǎng)絡安全防護,就顯得非常重要。

常見的網(wǎng)絡攻擊手段包括網(wǎng)絡掃描、口令攻擊、緩沖區(qū)溢出攻擊、網(wǎng)絡監(jiān)聽、網(wǎng)絡協(xié)議攻擊、拒絕服務攻擊、木馬攻擊等。其中,利用網(wǎng)絡協(xié)議的缺陷或漏洞進行攻擊是很常見的一種手段。ARP是局域網(wǎng)中必不可少的基礎協(xié)議,但因自身存在的明顯缺陷,也成為了黑客實施網(wǎng)絡攻擊的重點目標。

2 ARP協(xié)議與工作原理

2.1 ARP協(xié)議

ARP是地址解析協(xié)議(Address Resolution Protocol)的英文縮寫,它是一個鏈路層協(xié)議,用于在局域網(wǎng)中根據(jù)IP地址獲取物理地址。

在局域網(wǎng)中,當主機或其它網(wǎng)絡設備有數(shù)據(jù)要發(fā)送給另一個主機或設備時,它不僅需要知道對方的IP地址,還必須知道對方的以太網(wǎng)MAC地址。因為二層的以太網(wǎng)交換設備并不能識別32位的IP地址,它們是以48位以太網(wǎng)MAC地址來識別對方的。必須將網(wǎng)絡層的IP數(shù)據(jù)報文填上源和目的的MAC地址,封裝成以太網(wǎng)數(shù)據(jù)幀才能在鏈路層傳輸,因此主機要知道目標IP地址與MAC地址的映射關系。

ARP協(xié)議就是用于根據(jù)IP獲取到MAC地址,來完成IP到MAC地址映射的協(xié)議。主機可以通過發(fā)送和接收ARP報文來詢問和獲取目的MAC地址,并將這種映射關系保存在本地ARP緩存中,以便下回使用。

ARP協(xié)議報文分為ARP請求和ARP應答報文,報文格式如圖1所示。

圖1 ARP報文格式

(1)硬件類型:表示硬件地址的類型。它的值為1表示以太網(wǎng)地址;

(2)協(xié)議類型:表示要映射的協(xié)議地址類型。它的值為0x0800即表示IP地址;

(3)硬件地址長度和協(xié)議地址長度分別指出硬件地址和協(xié)議地址的長度,以字節(jié)為單位。對于以太網(wǎng)上IP地址的ARP請求或應答來說,它們的值分別為6和4;

(4)OP(操作類型):1表示ARP請求,2表示ARP應答;

(5)發(fā)送端MAC地址:發(fā)送方設備的硬件地址;

(6)發(fā)送端IP地址:發(fā)送方設備的IP地址;

(7)目標MAC地址:接收方設備的硬件地址;

(8)目標IP地址:接收方設備的IP地址。

2.2 ARP地址解析過程

假設局域網(wǎng)中的主機A要向主機B發(fā)送信息,根據(jù) A與B是否在同一網(wǎng)段,可分為兩種情況。

如果A(192.168.1.1)與B(192.168.1.2)在同一網(wǎng)段,ARP地址解析過程如下:

(1)主機A首先查看自己的ARP緩存,確定其中是否包含有主機B對應的ARP緩存項。如果找到了對應的MAC地址,則主機A直接利用ARP緩存中的MAC地址,對IP數(shù)據(jù)包進行幀封裝,并將數(shù)據(jù)包發(fā)送給主機B。

(2)如果主機A在ARP緩存中找不到對應的MAC地址,則將緩存該數(shù)據(jù)報文,然后以廣播方式發(fā)送一個ARP請求報文。ARP請求報文中的發(fā)送端IP地址和發(fā)送端MAC地址為主機A的IP地址和MAC地址,目標IP地址和目標MAC地址為主機B的IP地址和全0的MAC地址。由于ARP請求報文以廣播方式發(fā)送,該網(wǎng)段上的所有主機都可以接收到該請求,但是并不是所有的主機都會回復這個ARP請求包,只有當接收者的IP地址與ARP請求包中的Target IP address中標識的目的IP地址一致時才會進行回復。其他主機收到該請求報文后,發(fā)現(xiàn)自己的IP地址和ARP請求報文中的目標IP地址不相同,則丟棄該報文,不予響應。

(3)主機B發(fā)現(xiàn)自己的IP地址和ARP請求報文中的目標IP地址相同,則將ARP請求報文中的發(fā)送端(即主機A)的IP地址和MAC地址存入自己的ARP緩存中。之后以單播方式發(fā)送ARP響應報文給主機A,其中包含了自己的MAC地址。

(4)主機A收到ARP響應報文后,將主機B的MAC地址加入到自己的ARP緩存中以用于后續(xù)報文的轉發(fā),同時將IP數(shù)據(jù)包進行封裝后發(fā)送出去。

圖2 同網(wǎng)段主機ARP地址解析過程

如果主機A和主機B不在同一網(wǎng)段時,主機A就會先向網(wǎng)關發(fā)出ARP請求,ARP請求報文中的目標IP地址為網(wǎng)關的IP地址。當主機A從收到的響應報文中獲得網(wǎng)關的MAC地址后,將報文封裝并發(fā)給網(wǎng)關。如果網(wǎng)關沒有主機B的MAC地址,網(wǎng)關會廣播ARP請求,目標IP地址為主機B的IP地址,當網(wǎng)關從收到的響應報文中獲得主機B的MAC地址后,就可以將報文發(fā)給主機B;如果網(wǎng)關已經(jīng)有主機B的MAC地址,網(wǎng)關直接把報文發(fā)給主機B。

可以看出,在局域網(wǎng)通信中,ARP協(xié)議扮演著不可缺少的角色。

2.3 ARP緩存

為了避免每次通信都進行ARP廣播,主機使用一個ARP高速緩存,存放最新的IP地址到MAC硬件地址之間的映射記錄。主機獲取到目的MAC地址后,將會在自己的ARP緩存中增加一條目的主機IP和MAC地址的映射表項,以用于后續(xù)到同一目的地報文的轉發(fā)。

ARP緩存中的表項分為動態(tài)ARP表項和靜態(tài)ARP表項。動態(tài)ARP表項由ARP協(xié)議通過ARP報文自動生成和維護,定期老化,當?shù)竭_系統(tǒng)預設的老化時間時,相應的動態(tài)ARP表項會被刪除。動態(tài)表項也可以被新收到的ARP報文更新,遵循“后到優(yōu)先”的更新原則。當主機收到來自某IP的ARP報文時,就會更新現(xiàn)有ARP表項中已經(jīng)存在該IP對應的ARP表項。

靜態(tài)ARP表項通過手工配置和維護,不會老化和更新。

3 ARP攻擊原理

ARP協(xié)議有一個明顯的安全缺陷,即默認通信雙方都是絕對安全可信的,只要主機接收到一個ARP報文,即使該報文不是該主機所請求的對方主機發(fā)出的應答報文,該主機也會將ARP報文中的發(fā)送者的MAC地址和IP地址加入或更新到ARP緩存中。更甚至,許多操作系統(tǒng)在自己沒有發(fā)出任何ARP請求時,仍然接受來自其他設備的ARP響應報文,并更新ARP緩存。這種不做任何驗證和判斷的緩存更新機制,使得ARP攻擊成為局域網(wǎng)中一種常見又危害巨大的攻擊手段。

攻擊者可以在ARP報文中填入不正確或虛假的MAC地址,并在局域網(wǎng)中主動大量發(fā)送偽造的ARP報文,促使網(wǎng)內其他主機或網(wǎng)關更新ARP緩存,記錄錯誤的IP和MAC映射關系,從而不能將數(shù)據(jù)發(fā)往正確的目標。這稱為ARP緩存投毒。

利用ARP緩存投毒,攻擊者可以發(fā)起很多類型的攻擊,包括ARP泛洪、ARP欺騙和中間人攻擊等。這些攻擊可以干擾局域網(wǎng)內的正常通信,導致用戶流量受限,直至斷網(wǎng),也可以竊取通信數(shù)據(jù),非法獲取用戶帳號和密碼,造成經(jīng)濟上的重大損失。

ARP泛洪:網(wǎng)絡設備在處理ARP報文時需要占用系統(tǒng)資源,同時因為系統(tǒng)內存限制和查找ARP緩存效率的要求,一般網(wǎng)絡設備會限制ARP緩存的大小。攻擊者就利用這一點,通過偽造大量源IP地址變化的ARP報文,使設備ARP緩存不斷刷新,直至溢出,正常主機的ARP報文不能生成有效的ARP表項,導致正常通信中斷。

ARP欺騙:攻擊者偽造一個ARP響應報文,在源IP地址位置填入真實網(wǎng)關的IP,偽造一個錯誤或是不存在的MAC地址填入源MAC地址,將受害者的IP地址和MAC地址填入目的地址,并在局域網(wǎng)中大量發(fā)送該報文。當受害主機接收到這些偽造的ARP報文時,就會更新自己的ARP緩存中網(wǎng)關IP所映射的MAC地址,從而將本應該發(fā)給網(wǎng)關的數(shù)據(jù)發(fā)向了一個錯誤或不存在的MAC地址,導致主機無法訪問其他網(wǎng)段的主機或網(wǎng)絡服務。(見圖3)

圖3 仿冒網(wǎng)關ARP欺騙

中間人攻擊:如果攻擊者在ARP響應報文的源MAC中填入自己的MAC地址,就可以將自己偽裝成其他IP的主機或網(wǎng)關,從而截取到其他主機發(fā)來的數(shù)據(jù)包。如果既對受害者主機偽裝成網(wǎng)關,同時又對網(wǎng)關偽裝成受害者,那么攻擊者就可以變成受害主機和網(wǎng)關之間通信的“中間人”,可以竊聽獲取、甚至修改偽造正常通信數(shù)據(jù)。

4 ARP攻擊演示

4.1 ARP欺騙

演示環(huán)境:

主機角色 IP 網(wǎng)關 操作系統(tǒng)攻擊者 192.168.75.131 192.168.75.1 Kali Linux A受害者 192.168.75.135 192.168.75.1 Windows XP B

攻擊步驟:

在主機A上尋找目標主機B,可以使用fping命令探嗅本地局域網(wǎng)內部機器IP,而后選擇對該主機實施ARP欺騙。

在主機A上對主機B實施網(wǎng)關ARP欺騙。使用命令

arpspoof -i eth0 -t 192.168.75.135 192.168.75.1

arpspoof是一個可用于ARP欺騙的開源工具。該命令作用是對主機B發(fā)送ARP報文,其中源IP為網(wǎng)關192.168.75.1,源MAC地址為網(wǎng)絡接口eth0的MAC地址。

主機B收到大量來自A的ARP報文,B的ARP緩存表中網(wǎng)關192.168.75.1對應的MAC地址被刷新成了A的MAC地址,B發(fā)往網(wǎng)關的數(shù)據(jù)包將被錯誤地發(fā)往A。

由于主機A默認未開啟IP數(shù)據(jù)包轉發(fā)功能,B發(fā)往網(wǎng)關的數(shù)據(jù)包被錯誤的發(fā)往A,達到不了真正的網(wǎng)關,此時可以看到主機B無法正常連接網(wǎng)絡。

圖4 ARP欺騙成功,目標機器無法連接網(wǎng)絡

4.2 中間人攻擊

(1)在主機A上對網(wǎng)關實施主機ARP欺騙。使用命令arpspoof -i eth0 -t 192.168.75.1 192.168.75.135

該命令將對網(wǎng)關發(fā)送ARP報文,其中源IP為主機B的192.168.75.135,源MAC地址為網(wǎng)絡接口eth0的MAC地址。網(wǎng)關發(fā)往B的數(shù)據(jù)將被發(fā)往A。

(2)在主機A上開啟端口轉發(fā),允許主機A像路由器那樣轉發(fā)數(shù)據(jù)包。

echo 1 > /proc/sys/net/ipv4/ip_forward

(3)由于A開啟了IP數(shù)據(jù)包轉發(fā),主機B和網(wǎng)關之間傳輸?shù)臄?shù)據(jù)包可經(jīng)由A的轉發(fā)到達對方。此時A成為B與網(wǎng)關之間通信的中間人。

(4)在A上另外打開一個終端,鍵入命令

driftnet -i eth0

driftnet是一款圖片捕獲工具,可以在網(wǎng)絡數(shù)據(jù)包中抓取圖片。由于此時B和網(wǎng)關之間的數(shù)據(jù)包都經(jīng)由A轉發(fā),A即可截取B網(wǎng)絡應用中的圖片,A通過ARP欺騙成功獲取目標B的信息。(見圖5和圖6)

圖5 被攻擊機器瀏覽網(wǎng)頁

圖6 欺騙成功(左側終端進行欺騙,右側終端讀取圖片信息)

5 ARP攻擊的防范

ARP攻擊是局域網(wǎng)中很容易實施的攻擊。在了解攻擊原理之后,可以在終端主機和網(wǎng)絡交換設備上部署一些針對性的防范措施。

在終端主機上,防護重點是保護本地ARP緩存,可配置的防護手段包括:

配置靜態(tài)ARP緩存表項。將網(wǎng)關和常用的通信主機的IP和MAC地址綁定為靜態(tài)表項,不允許ARP解析更新。

安裝ARP防火墻。其工作原理一般有兩種:第一種是定期廣播ARP報文,宣告正確的本地IP地址和MAC地址,以保持其他設備中正確的ARP緩存表項。第二種是防止惡意攻擊篡改本機的ARP緩存表項,尤其是網(wǎng)關的MAC地址。

網(wǎng)絡交換和路由設備上的防范主要從兩個方面考慮:建立正確的ARP映射關系、檢測并過濾偽造的ARP報文,保證經(jīng)過其轉發(fā)的ARP報文正確合法;抑制短時間內大量ARP報文的沖擊。在交換機上可配置的一些安全策略包括:

ARP報文有效性檢查。設備收到ARP報文時,對以太報文頭中的源、目的MAC地址和ARP報文數(shù)據(jù)區(qū)中的源、目的MAC地址進行一致性檢查。如果以太報文頭中的源、目的MAC地址和ARP報文數(shù)據(jù)區(qū)中的源、目的MAC地址不一致,則直接丟棄該ARP報文。否則允許該ARP報文通過。

禁止接口學習ARP表項的功能。在設備上禁止指定接口學習ARP表項的功能,可以有效應對ARP泛洪攻擊,防止ARP表項溢出。

ARP表項嚴格學習。設備僅學習自己發(fā)送的ARP請求報文的應答報文,并不學習其它設備向路由器發(fā)送的ARP請求報文,即可以拒絕掉大部分的ARP請求報文攻擊。

ARP表項限制。設備基于接口限制學習ARP表項的總數(shù)目,可以有效的防止ARP表項溢出。

ARP報文限速。設備對ARP報文進行數(shù)量統(tǒng)計,在一定時間內,如果ARP報文數(shù)量超出了配置的閾值,超出部分的ARP報文將被忽略,設備不作任何處理,有效防止ARP表項溢出。

當在局域網(wǎng)中部署了如上較完整的安全策略之后,基本可以防范絕大部分的ARP攻擊。

6 總結

由于ARP協(xié)議自身存在明顯的安全缺陷,在局域網(wǎng)中很容易實施ARP攻擊,會對網(wǎng)絡信息安全造成很大的影響。在了解了ARP攻擊的原理后,只要在終端主機和網(wǎng)絡交換設備上部署相應的安全策略,就基本可以防范絕大部分的ARP攻擊。

[1] 凱文R.福爾(Kevin R. Fall).TCP/IP詳解卷1:協(xié)議[M].機械工業(yè)出版社出版,2016-07-01

[2]郭會茹,楊斌,牛立全. ARP攻擊原理分析及其安全防范措施[J]. 網(wǎng)絡安全技術與應用,2015年,06期

[3]顧靜.局域網(wǎng)環(huán)境下的ARP攻擊行為與防御措施[J].信息系統(tǒng)工程,2016年,10期

[4]靳燕.ARP攻擊實驗仿真及防范技術分析[J].網(wǎng)絡安全技術與應用,2016年,07期

猜你喜歡
表項局域網(wǎng)IP地址
一種改進的TCAM路由表項管理算法及實現(xiàn)
通信技術(2022年5期)2022-06-11 00:47:44
基于ARMA模型預測的交換機流表更新算法
鐵路遠動系統(tǒng)幾種組網(wǎng)方式IP地址的申請和設置
基于VPN的機房局域網(wǎng)遠程控制系統(tǒng)
電子制作(2019年16期)2019-09-27 09:35:04
基于802.1Q協(xié)議的虛擬局域網(wǎng)技術研究與實現(xiàn)
電子制作(2017年17期)2017-12-18 06:40:48
SDN數(shù)據(jù)中心網(wǎng)絡基于流表項轉換的流表調度優(yōu)化
局域網(wǎng)性能的優(yōu)化
電子制作(2017年8期)2017-06-05 09:36:15
基于SNMP的IP地址管理系統(tǒng)開發(fā)與應用
黑龍江電力(2017年1期)2017-05-17 04:25:16
交換機的FDB地址
用統(tǒng)一身份認證解決IP地址的盜用
禹州市| 景谷| 武胜县| 林口县| 阳谷县| 温州市| 五峰| 蕲春县| 汝州市| 纳雍县| 临夏市| 云林县| 阜宁县| 黑龙江省| 桐城市| 霞浦县| 长岭县| 古交市| 龙海市| 鄂尔多斯市| 嘉定区| 达孜县| 福鼎市| 迭部县| 新余市| 洛浦县| 平乐县| 东宁县| 江北区| 嘉善县| 惠来县| 景宁| 锦州市| 安福县| 巨野县| 天峨县| 松潘县| 长宁县| 江川县| 望谟县| 新乡市|