◆智陽光 胡曦明,2 馬 苗,2
(1.陜西師范大學計算機科學學院 陜西 710119;2.現代教學技術教育部重點實驗室 陜西 710119)
淺析ARP攻擊原理及其防御
◆智陽光1胡曦明1,2馬 苗1,2
(1.陜西師范大學計算機科學學院 陜西 710119;2.現代教學技術教育部重點實驗室 陜西 710119)
利用ARP協議的漏洞對網絡進行攻擊,是當前計算機網絡所面臨的的主要威脅之一。本文首先對ARP 協議進行了理論分析,探究了ARP協議的工作原理和存在的漏洞,并根據漏洞進行了ARP攻擊和防御的實驗,提出了ARP緩存清除,MAC地址靜態(tài)綁定、劃分VLAN等ARP攻擊防御的方法。研究結果可以用于局域網內的安全防御,同時整個實驗過程還可為高校計算機網絡安全教學提供教學實例。
ARP協議;ARP攻擊;漏洞;網絡安全;ARP防御
隨著計算機技術和互聯網技術的不斷發(fā)展,人們的活動也越來越多的在網絡中進行,比如網絡購物、游戲、聊天通信等等。但是由于網絡的開放性和資源的共享性,隨之而來的網絡安全問題必然很多,比如最近引起人們廣泛關注的WannaCry勒索病毒就對人們的工作和學習生活造成很大的影響,而利用 ARP 協議的漏洞對網絡進行攻擊或欺騙更是長期存在的一大隱患。
ARP(Address Resolution Protocol)是根據IP地址獲取MAC地址的一個TCP/IP協議,即動態(tài)的將IP地址解析為MAC地址的協議在實際進行通信時,IP數據包常通過以太網發(fā)送,但是以太網設備并不能識別IP地址,而是用MAC地址來確定目的地址,因此,需要在邏輯IP地址和MAC地址建立映射關系。地址解析協議為這兩種不同的地址提供映射。
ARP協議的工作原理:ARP之所以能高效運行,是因為每個主機和路由器上都有 ARP緩存表,工作時,主機會首先查看自己的 ARP表。如果找不到對應的表項,則會以廣播方式發(fā)送一個含有所希望的 IP地址的請求報文,局域網內所有主機都會收到該請求,但是只有一個IP地址和目的IP地址相同的主機會以單播方式將含有IP地址和MAC地址對的數據包作為應答。發(fā)送者將此地址映射緩存在ARP表中,下次請求時直接查詢ARP緩存表就可以得到目的MAC地址,以減少不必要的ARP廣播。
ARP協議存在很多漏洞和不足,給計算機網絡造成很大的隱患。首先ARP協議是以廣播方式發(fā)送ARP請求的,只要是同一個網段內主機都可以收到,這就為攻擊者以可乘之機,攻擊者可以發(fā)送大量的 ARP請求包,阻塞正常網絡寬帶,使局域網中有限的網絡資源被無用的廣播信息所占用,造成網絡擁堵;其次ARP協議沒有安全認證機制,因為局域網內主機是建立在信任的基礎上的,所以只要主機接收到ARP應答包,都會緩存在ARP表中,這就為ARP欺騙提供了可能。攻擊者可以發(fā)送錯誤的IP地址和MAC地址的映射關系,下文的實驗就是根據此漏洞進行的。
3.1 實驗平臺
此實驗是在 Windows 10操作系統(tǒng)上進行的,首先安裝VMware Workstation Pro軟件,在軟件中構建三個虛擬機,并安裝Ubuntu系統(tǒng),因為windows系統(tǒng)為了安全,很多功能默認關閉或者不能使用,所以在這里使用Linux系統(tǒng)進行實驗,實驗拓撲如圖1所示。
圖1 ARP攻擊實驗拓撲圖
3.2 實驗具體內容
(1)在Ubuntu系統(tǒng)下安裝wireshark,disniffer,driftnet,如圖2。
圖2 軟件安裝
(2)在各個系統(tǒng)終端輸入ifconfig,查看三臺Ubuntu主機的IP地址,MAC地址信息,整理如表1。
表1 IP/MAC地址表
(3)檢測三臺主機是否可以互通,用互相ping對方IP地址的方法,如圖3,可知三臺主機可以互相ping通。
圖3 PING對方IP地址
(4)查看ARP緩存表,輸入命令“ARP”即可,可以發(fā)現每個主機的ARP表在相互PING之后,都添加了其他主機的IP地址和MAC地址的映射關系[9]。為了防止新建立的地址映射影響到之后的攻擊實驗,將對應的記錄刪除,如圖4,主機A、B的IP地址和MAC地址的映射關系已經刪除。
圖4 ARP緩存表
(5)首先主機C去ping主機B,發(fā)現可以PING通。然后在攻擊主機A上輸入命令:arpspoof -i ens33 -t 192.168.48.138 192.168.48.137后,運行wireshark軟件,從捕獲到的ARP協議報文,從如圖5可以看出,主機A一直在發(fā)送欺騙報文,告訴主機C,主機B的MAC地址是00:0c:29:93:f2:e2,此時發(fā)現主機C和主機Ping不通了,查看ARP緩存,看出ARP緩存表里主機B的MAC地址由00:0c:29:f6:77:08變成00:0c:29:93:f2:e2了,說明攻擊成功。
圖5 捕獲到的ARP協議報文
(6)接下來在ARP攻擊的基礎上進行數據的嗅探。
①首先開啟攻擊主機A的IP轉發(fā)功能,如圖6:
圖6 開啟IP轉發(fā)功能
圖7 重定向流量
圖8 網關數據重定向
圖9 捕獲數據包
圖10 捕捉到的數據
4.1 ARP防御的三個控制點
Arp防御可以從,網關,接入設備,客戶端即用戶三個控制點來預防ARP攻擊,如圖11。
圖11 ARP防御控制點
4.2 ARP防御措施
眾說周知,ARP攻擊是網絡安全問題的一大隱患,當網絡遭受ARP攻擊時,局域網內所有主機出現時斷時續(xù)掉線、IP地址沖突等問題,對網絡的正常通訊造成了重大影響。對此,除了可以使用360殺毒.金山衛(wèi)士,騰訊電腦管家等殺毒軟件這些常用且簡單的措施之外,還可以用以下措施:
(1)設置靜態(tài) ARP 緩存,通過使用“arp -s”將IP 地址和 MAC 地址綁定。對此我們進行如下實驗:
①如圖12,主機在受到ARP攻擊后,通信中斷,網絡不可達。
圖12 主機受到攻擊后
圖13 攻擊前后的ARP緩存表
圖14 MAC地址靜態(tài)綁定后的ARP緩存
(2)在接入設備,如路由器,交換機等進行IP/MAC地址吧的雙向綁定。
(3)在局域網內劃分 VLAN,可以有效地控制廣播域的范圍,增強局域網的安全性和健壯性。當部分網絡受到攻擊時,可以將網絡攻擊限制在一個VLAN內,而不會使成整個局域網內所有主機都受到影響。
(4)安裝 AntiArpSniffer、ArpKill 等軟件,用來防止 ARP 攻擊。
①以AntiArpSniffer為例,開始進行ARP攻擊,攻擊主機A的MAC地址為:00:0c:29:93:f2:e2,如圖15。
圖15 ARP攻擊圖
圖16 Anti ARP Sniffer軟件截圖
(5)整個ARP攻擊與防御實驗完整清晰,且有趣味性,可以為高校計算機網絡安全教學提供教學實例。
由于 ARP協議是無連接,無狀態(tài),無認證的協議,網絡上的黑客等不法分子很容易利用漏洞對局域網進行攻擊,對我們的學習和工作生活造成一定的影響。通過上文提到的防御措施可以最大程度降低 ARP攻擊的風險,但是不能從根本上解決問題,不能一勞永逸。但是隨著計算機技術的不斷發(fā)展,Internet研究人員提供了安全性更高的網絡層協議,IPV6就是其中之一,它取消使用 ARP協議,取而代之的是 NDP(Neighbor Discovery Protocol),即鄰居發(fā)現協議,增加了報文傳播范圍,增強了網絡安全性。隨著IPv6的不斷應用和普及,ARP攻擊的問題也將迎刃而解。
[1]Kevin R. Fall[美] W. Richard Stevens[美].TCP/IP詳解卷一:協議(第二版)[M].北京:機械工業(yè)出版社,2016.
[2]杭州華三通信技術有限公司.路由與交換技術第一卷(下冊)[M].北京:清華大學出版社,2011.
[3]任俠,呂述望.ARP協議欺騙原理分析與抵御方法[J].計算機工程,2003.
[4]郭會茹,楊斌,牛立全.ARP攻擊原理分析及其安全防范措施[J].網絡安全技術與應用,2015.
[5]靳燕.ARP攻擊實驗仿真及防范技術分析[J].網絡安全技術與應用,2016.
[6]黃學毛.論局域網中 ARP攻擊及防范措施[J].電腦知識與技術,2013.
[7]蔡海巖.以 ARP欺騙技術為基礎的交換式局域網嗅探技術[J].網絡安全技術與應用,2016.
[8]王林勝.公司集團局域網 ARP惡意攻擊分析與防范措施研究[J].網絡安全技術與應用,2016.
[9]任儉.試談適于醫(yī)院局域網的 ARP攻擊防范[J].中國新通信,2015.
[10]于夫.ARP病毒在局域網中的防治研究[J].網絡安全技術與應用,2014.
[11]萬緒江,萬朔,班顯秀,袁健.局域網中ARP攻擊檢測與防御方法[J].中國新通信,2009.
[12]李少峰,周天宏.局域網環(huán)境下直接和間接ARP風暴攻擊的探討[J].網絡安全技術與應用,2014.
中央高?;究蒲袠I(yè)務費專項資金資助項目(GK201503065),現代教學技術教育部重點實驗室開放課題資助項目(SYSK201501),陜西師范大學非師范拔尖創(chuàng)新人才培養(yǎng)計劃2017年度項目。