一種新思路的ARP欺騙攻擊的防范
一、ARP欺騙攻擊
ARP(Address Resolution Protocol,地址解析協(xié)議)是局域網(wǎng)中用來(lái)進(jìn)行地址解析的協(xié)議,它將IP地址映射到MAC地址。
圖1所示為ARP地址解析的過(guò)程。當PC1要給PC2發(fā)送報文時(shí),它先檢查本地的ARP緩存,如果沒(méi)有查找到PC2的MAC地址,則向網(wǎng)絡(luò )中發(fā)送一個(gè)廣播的ARP(ARP Request)請求報文,表示要請求解析PC2(172.16.1.2)的MAC地址,并且此報文的目的MAC地址為廣播地址FFFF。
FFFF.FFFF.由于A(yíng)RP請求報文是廣播報文,網(wǎng)絡(luò )中所有的設備都會(huì )接收到,但只有IP地址與ARP請求報文中被請求解析的IP地址相同的設備才會(huì )回復。圖中由于PC2的IP地址就是PC1要請求的對象,PC2將回復一個(gè)單播的ARP應答(ARP Reply)報文,表示自己(172.16.1.2)的MAC地址是0002.0002.0002,報文的目的MAC地址為PC1的MAC地址(0001.0001.0001),也就是說(shuō),只有PC1會(huì )收到此應答。當PC1收到ARP應答報文后,它便獲知了PC2的MAC地址,并將此條目加入到ARP緩存表中,用于后續的數據發(fā)送。
由于A(yíng)RP當初被開(kāi)發(fā)時(shí),沒(méi)有考慮到安全的因素,不存在任何的驗證機制,所以就導致了ARP報文很容易偽造,也就是被欺騙。另一方面,發(fā)送ARP請求的設備并不能判斷收到的ARP應答是否合法,是否為正確的源所發(fā)送的,只要它接收到ARP應答報文,它就將結果放入ARP表中,而不管是否之前已經(jīng)存在此條目,或者與之前存在的條目不一樣,這就給攻擊者可趁之機。利用以上這些缺陷,攻擊者就可以通過(guò)發(fā)送偽造(欺騙)的ARP應答報文(應答報文中的IP與MAC的綁定關(guān)系是錯誤的、偽造的)來(lái)更新其他設備的ARP緩存,導致其他設備之間不能正常進(jìn)行通信。
圖2所示就是一個(gè)典型的ARP攻擊。用戶(hù)PC的IP地址為172.16.1.2,網(wǎng)管出口的路由器地址為172.16.1.1,所有PC要發(fā)往外部網(wǎng)絡(luò )的數據都要通過(guò)網(wǎng)關(guān)。我們來(lái)看一下攻擊者(Attacker,172.16.1.3)是如何發(fā)起ARP欺騙攻擊。在PC要向外部網(wǎng)絡(luò )發(fā)送數據是,首先它要使用ARP請求報文去請求網(wǎng)關(guān)的MAC地址,由于請求是廣播的,攻擊者也可以收到此請求報文。之后攻擊者將向PC發(fā)送偽造的ARP應答報文,而且攻擊者可以通過(guò)特定的工具以特定的速率連續發(fā)送偽造的ARP應答報文。當PC收到偽造的應答報文后,它會(huì )毫不猶豫地將偽造報文的錯誤綁定信息加入到本地的ARP緩存中,不管之前是否已經(jīng)獲得了正確的綁定信息。攻擊者在它發(fā)送的應答報文中“聲稱(chēng)”自己就是網(wǎng)關(guān),即172.16.1.1的MAC地址是0003.0003.0003(攻擊者的MAC地址)。這樣后續PC發(fā)往網(wǎng)關(guān)的數據都會(huì )發(fā)給攻擊者而不是網(wǎng)關(guān),達到了欺騙的目的,從而造成PC不能正常訪(fǎng)問(wèn)外部網(wǎng)絡(luò )資源。
二、ARP欺騙攻擊工具
1.WinPcap.exe與WinArpAttacker組合,WinPcap是Win32平臺下用于抓包和分析的系統,主要用于為Win32應用程序提供訪(fǎng)問(wèn)網(wǎng)絡(luò )底層的數據包,包括一個(gè)內核級別的packetfilter、一個(gè)底層的DLL(packet.dll)和一個(gè)高級的獨立于系統的DLL(Wpcap.dll)。而WinArpAttacker是以款ARP綜合攻擊攻擊,能夠在局域網(wǎng)內進(jìn)行主機掃描、ARP攻擊、ARP攻擊檢查、ARP表防護和ARP代理。
2.WinPcap.exe與NetFuke組合,NetFuke軟件具有ARP欺騙、ICMP欺騙和網(wǎng)絡(luò )監視等功能。
3.WinPcap.exe與“網(wǎng)絡(luò )執法官”組合,“網(wǎng)絡(luò )執法官”是一款局域網(wǎng)管理輔助軟件,采用網(wǎng)絡(luò )底層協(xié)議,能穿透各客戶(hù)端防火墻對網(wǎng)絡(luò )中的每一臺主機(本文中主機指各種計算機、交換機等配有IP的網(wǎng)絡(luò )設備)進(jìn)行監控。
三、ARP攻擊的局限性
ARP攻擊只能在局域網(wǎng)內進(jìn)行,無(wú)法對外網(wǎng)(互聯(lián)網(wǎng)、非本區域內局域網(wǎng))進(jìn)行攻擊。
四、ARP攻擊防范措施
1.防范措施一,安裝360ARP防火墻、瑞星防火墻、AntiARP防火墻或其他具有防范ARP攻擊的防火墻。
2.防范措施二,在SOHO、寬帶、網(wǎng)吧專(zhuān)用路由器上設置IP與MAC地址綁定,防止ARP攻擊。
(1)進(jìn)入路由器WEB頁(yè)面,通過(guò)“ARP映射表”可以批量導入計算機IP地址與MAC地址對應信息,進(jìn)行綁定操作。
(2)通過(guò)“靜態(tài)ARP綁定設置”,可以啟用和編輯“ARP綁定”。
3.防范措施三,網(wǎng)管員可以通過(guò)二層或三層交換機設置,將IP和MAC地址進(jìn)行綁定,可以防止用戶(hù)進(jìn)行惡意的ARP欺騙,下面以銳捷二層交換機RG-S2328G為例介紹。
「配置命令」
4.防范措施四,網(wǎng)管員可以通過(guò)措施三防止ARP欺騙,但需要在每個(gè)接入端口上配置地址綁定,工作量過(guò)大,因此可以考慮采用交換機DAI功能解決ARP欺騙攻擊的問(wèn)題。DAI(動(dòng)態(tài)ARP檢測),交換機的DAI功能可以檢查端口收到的ARP報文的合法性,并可以丟棄非法的ARP報文,防止ARP欺騙攻擊。交換機DAI技術(shù),是以DHCP Snooping的綁定表為基礎,對于沒(méi)有使用DHCP的服務(wù)器個(gè)別機器,采用靜態(tài)添加ARP實(shí)現。下面以銳捷三層交換機RG-S3760-24和二層交換機RG-S2328G為例介紹(兩臺交換機均支持DHCP與DAI),圖3所示。
「配置步驟」
(1)配置DHCP服務(wù)器將一臺PC配置為DHCP服務(wù)器,可以使用Windows server配置DHCP服務(wù)器,或第三方DHCP服務(wù)器軟件。DHCP服務(wù)器中的地址池為172.16.1.0/24.
(2)交換機RG-S2328G基本配置及DHCP監聽(tīng)配置(接入層)。
評論