隨著信息技術的發展,特別是現代高速網絡技術的快速推進,各大高校對互聯網的應用更加廣泛。很多新的應用技術也在不斷地開發并投入應用之中。但是科技從來都是“矛盾”并行的,新技術可以讓我們感受到科技帶來的便利,同時也會給我們“附送”新的煩惱。在我們越來越依賴互聯網的時候,網絡攻擊的問題也更加突出。對于校園網來說,ARP攻擊就是一個揮之不去的夢魘。
ARP攻擊又稱為“ARP欺騙”,這種攻擊往往被加載到木馬和病毒程序上,在校園網內快速擴散,嚴重干擾了校園網正常運行。ARP攻擊的具體表現為:在使用校園網時經常突然掉線,過一會兒網絡又可能恢復,這種現象頻繁出現。如果重新啟動計算機或者在命令提示符下鍵入“arp-d”,暫時又可以恢復網絡的使用,如此周而復始。ARP攻擊一般較為頑固,在一個網絡中只要一臺電腦有ARP病毒程序,就會導致整個網絡出現間歇性中斷,甚至整個網絡癱瘓,危害特別大,前一段時間,各大校園網都受到不同程序的攻擊。ARP攻擊由于附著于木馬之上,經常還兼有盜取用戶QQ密碼、游戲賬號,以及網上銀行賬號等行為,給用戶帶來了不便甚至造成了經濟損失。
鑒于ARP攻擊的危害極大,對于ARP攻擊的防范在校園網的應用中就為一種常規任務了。我院在遭受ARP攻擊后,采用相關技術積極應對,大大減少了ARP攻擊的成功率,確保了學院校園網的正常運行。下面我就我院出現的ARP攻擊現象簡單分析ARP攻擊的過程和相應的對策。
1.ARP協議及ARP攻擊原理及攻擊方式
1.1ARP協議簡介
ARP協議是Address Resolution Protocol地址解析協議的縮寫。是一種將IP地址轉化成物理地址,即MAC地址的協議,在TCP/IP局域網中以幀的方式傳輸數據。并且根據幀中目標主機的MAC地址來進行尋址。在TCP/IP網絡中,一臺主機與另一臺主機進行直接通信,就必須要知道目的主機的MAC地址。這個目的MAC地址就是通過ARP協議獲取的。地址解析就是主機在發送幀前將目的主機的IP地址轉換成目的主機MAC地址的過程。這樣即可實現各主機間的通信。
1.2ARP協議的工作方式
ARP在同網段和不同網段的工作方式略有不同。
在同網段內:源主機若要向目的主機發送信息,首先會查看本機的緩存表,確定其中是否包含有目的主機對應的ARP表。如果有目的主機對應的MAC地址,則直接利用ARP表中的MAC地址,對IP數據包進行幀封裝,并將數據包發送給目的主機。如果在本機中沒有找到目的主機對應的MAC地址,則將緩存該數據報文。然后以廣播方式發送一個ARP請求報文。由于ARP請求報文以廣播方式發送,該網段上的所有主機都可以接收到該請求。但只有被請求的目的主機會對該請求進行處理,其他主機會自動丟棄這個請求報文。而目的主機會比較自己的IP地址和ARP請求報文中的目標IP地址。如果相同則將ARP請求報文中的源主機的IP地址和MAC地址存入自己的ARP表中,之后以單播方式發送ARP響應報文給源主機。源主機在收到ARP響應報文后會將目的主機的MAC地址加入到自己的ARP緩存表中,用于后續報文的轉發。同時將IP數據包進行封裝后發送出去。
在不同網段中:源主機在確認與目的主機不在同一個網段時,就會先向網關發出ARP請求報文,從收到的響應報文中獲得網關的MAC地址后,將報文封裝并發給網關。如果網關已經有目的主機的ARP表項,網關直接把報文發給目的主機;如果網關沒有目的主機的ARP表項,網關會廣播ARP請求。目標IP地址為目的主機的IP地址。當網關從收到的響應報文中獲得目的主機的MAC地址后,就可以將報文發給目的主機,同時將目的主機的IP地址和MAC地址存入ARP緩存表中,以后再進行數據交換時,只需直接從緩存表中讀取映射條目就可以了。
1.3ARP攻擊的工作方式
從ARP協議的工作方式可以看出,由于網絡中各主機是建立在互相信任的基礎之上,協議本身考慮更多的是穩定性和高效性,所以ARP協議是一個高效的數據鏈路層協議。但是也存在如下的缺陷:ARP高速緩存根據所接收到的ARP協議包隨時進行動態更新;ARP沒有連接的概念,任意主機即使在沒有ARP的時候也可以做出應答;ARP協議沒有認證機制,只要接收到的協議包是有效的,主機就無條件地根據協議包的內容刷新本機ARP緩存,并不檢查該協議包的合法性。因此攻擊者可以隨時發送虛假的ARP包更新被攻擊主機上的ARP緩存,進行地址欺騙或拒絕服務攻擊。
ARP的攻擊主要分為兩種形式:一種是截獲網關數據,這種方法是攻擊者通知網關一系列錯誤的內網MAC地址,并按照一定的頻率不斷進行改善,使真實的地址信息無法通過更新保存到網關的路由中,結果造成網關的所有數據只能發送給錯誤的MAC地址,造成正常的主機無法收到信息,或者信息被監聽或轉發。另一種是偽造網關,這種方法建立虛假的網關,讓被欺騙的主機向它發送數據,而不是通過正常的網關途徑上網,造成被攻擊主機無法上網。
2.ARP攻擊的解決思路和防御策略
2.1ARP攻擊的檢測
如果懷疑網絡中的主機受到了ARP攻擊,可以采用如下幾種方法進行檢測。
2.1.1進入命令提示符界面,鍵入“arp-a”命令,查看本機ARP的緩存。正常情況下,除網關外不會有其他記錄,需要注意的是網關的MAC地址是否和正常的時候一樣。在沒有更換網關的網卡的情況下,如果出現不同、沒有記錄或者記錄過多,都有可能是受到了ARP攻擊。鍵入“arp-d”命令,查看網絡是否可以恢復。如果情況有所緩解,說明已經恢復了默認的arp緩存表。
2.1.2Ping網關,看看是否出現丟包的現象,如果有丟包現象,但是又有時能夠連通,則有可能受到了攻擊。
2.1.3使用tracert命令跟蹤網絡連接。直接使用tracert連接最近的路由,檢查是不是原來設定的路由,如果或者通過很多路由,就可能受到了攻擊,而且通過的路徑都有可能是攻擊路由。
2.2ARP攻擊的解決思路
2.2.1應該把網絡安全信任關系建立在IP和MAC基礎之上,不能僅僅建立在IP或MAC基礎上(因為RARP同樣可以攻擊)。
2.2.2設定好靜態的IP-MAC對應表,不讓主機去更新綁定的ARP緩存表,從而制止ARP攻擊。
2.2.3管理員定期輪詢,檢查主機上的ARP緩存表。
2.2.4使用ARP防火墻監視網絡,發現ARP攻擊及時阻斷攻擊源并立即追蹤。
2.3ARP攻擊的總體防御對策
我根據上面提到的思路,再結合我院軟硬件條件,制定了一套切實可行的防御策略并著手實施。
2.3.1對整個網絡進行一次全面而徹底的殺毒,而且為了避免以后再次受到ARP攻擊,要求本網絡內的所有計算機都安裝上正版殺毒軟件,并且保持隨時更新。
2.3.2針對性地安裝ARP防火墻,控制ARP攻擊在本網內的傳播和發作。
2.3.3綁定本網絡中所有機器的IP-MAC地址,將本網中所有的IP地址、MAC地址及對應的使用人登記備案,以便在發生ARP攻擊時快速定位攻擊源。
3.總結
由于TCP/IP最初設計的應用環境是美國國防系統的內部網絡,這個網絡環境是互相信任的。因此,TCP/IP協議只是為了解決計算機的互聯互通的問題。而當其推廣到全社會的應用環境后,安全問題就發生了,其中IPv4中的ARP協議簇的安全缺陷就是來源于協議自身設計思想上的時間局限性。我對ARP協議的工作原理和安全缺陷進行了簡單分析,同時根據我院受到的ARP攻擊情況分析了基于ARP協議安全缺陷的攻擊,并提出了針對ARP攻擊的檢測和防御策略。這些防御策略能有效地抵御ARP攻擊,但是校園網的管理者日常管理維護的工作量相當大,網絡問題也并不僅僅是ARP攻擊。如果要徹底解決網絡中的ARP攻擊,目前最根本有效的措施就是在校園網中使用IPv6協議。因為IPv6協議簇定義了鄰機發現協議(NDP),把ARP納入NDP并運行于Internet控制報文協議(ICMP)上,使ARP更具有一般性,包括更多的內容,適用于各種鏈路層協議,而不用為每種鏈路層協議定義ARP。另外,NDP中還定義了可達性檢測過程,可達性檢測的目的是確認相應IP地址代表的主機或路由器是否還能收發報文,對此,IPv4還沒有統一的解決方法。
本文為院級科研基金項目。