開學季又要到了,不管你有沒有住宿的經驗,相信大家有時候都會遇到明明網路設備是開的可是上不了網的問題。電腦也沒什麼異狀,有裝掃毒軟體但也沒有病毒訊息,也看的到自己的IP,但是就是連不上網。
這種時候可以合理的懷疑:你被攻擊了!首先可以看看是不是被室友使用了網路剪刀手(Netcut)等軟體把你惡意斷網,或者是區域網路中有人中了ARP病毒。這種攻擊沒有防毒軟體能夠防範,電腦也不會有異狀,唯一的症狀就是電腦有IP可是就是ping不到router,也就是你上網的連接器。
由於Netcut使用的是假造ARP封包造成目標主機ARP table記錄錯誤來達成斷線目的,最新版本的Netcut2.0或變種ARP病毒已能快速的同時竄改目標主機與路由器(閘道器)ARP記錄,簡易的Netcut防護軟體或靜態ARP記錄已經無法解決危害,因此要徹底解決此一問題必需自Netcut工作原理著手。
首先要解釋DHCP的運作方式:在開機的時候原本電腦沒有IP(預設為0.0.0.0),當電腦要連接網路的時候,會要求DHCP分配IP,一旦取得IP以後就可以上網了(圖一)。
(圖一)DHCP發送流程在電腦A剛開機,還沒有取得IP的時候並不會受到來自ARP的攻擊,因為要發動ARP攻擊的條件就是要取得對方的網卡卡號(MAC)和IP。所以當取得IP以後,電腦A就曝露在ARP攻擊的環境中。
ARP其實是IP位址轉換成Mac位址的一種通訊協定,當某一台電腦要傳送資料到某個IP位址時,會先傳送ARP封包詢問網路上哪台電腦的MACAddress對應到這個IP位址,當目的端的電腦接收到這個ARP封包之後便會回應給來源電腦進行資料傳送。MAC Address的範例格式如下:00-E0-18-0E-B2-21
(圖二)電腦A廣播自己的MAC及IP以更新網域內電腦的ARP table(圖三) Router會依據ARP表 把資料依照適合的路徑傳送到 電腦A而Netcut工作方式就是從封包傳遞這方面下手,Netcut會經由IP掃描的方式(圖四)找尋區域網路上正在活動的IP,選定好攻擊的目標以後(假設要攻擊A),就會大量發送廣播封包,以自己或是編造的MAC搭配A的IP企圖讓網路上所有的電腦都把原本要傳給A的資料都無法送達,這樣原本正常上網的A就無法上網了(因為封包都有去無回)。(如圖四)
(圖四) 電腦B探尋網域中的電腦MAC (圖五)Router和 電腦A收到廣播把MAC R和MAC A加進ARP表 (圖六) B電腦攻擊A ,同時對Router作干擾,並迫使Router及A更新MAC table (圖七)Router以及電腦A的ARP table被B所發送的廣播封包給竄改,導致A網路癱瘓想要防治受到ARP攻擊的話,需加裝VLAN Switch(在圖片範例中是把VLAN Switch取代HUB),因為VLAN Switch是把用戶端的連結
在實體層做分割,徹底的隔絕才能夠避免網路遭受攻擊以後災情影響到了網域內的所有用戶。一旦以VLAN Switch做切割以後,網域內的用戶除了看到路由器以外都無法看到其他用戶,如此一來用戶端的電腦都受到保障。在稍後展示的實際操作(圖十一)中可以看到加裝VLAN以後的情形。
(圖八)經由VLAN switch,每個用戶端都不會互相看到。
並確實做好MAC綁IP即可避免ARP攻擊以下示範使用
Router(BM-1000)以及
VLAN switch(EZ-800V)來防護ARP攻擊
1. 首先在BM-1000中的設定裏面
確實把用戶IP與MAC做連結,這樣不但可以
有效防範ARP攻擊也可以防止使用者亂改IP影響其他用戶上網的權益,也方便當遭受ARP攻擊時做為對照。
(圖九)把IP和MAC綁定以避免被竄改2. 在沒有經過防護的區域網路環境下,惡意軟體、病毒、或是木馬很容易的找到攻擊目標。因為只要廣播封包,網域上所有的電腦都會回應你,等於把網路曝露在危險之中。
(圖十)從Netcut的掃描清單中,可以看到網路上輕易的就找到一堆開機的電腦。3. 使用VLAN switch將區域網路確實做好實體層(Layer 2)切割,把每個分接出去電腦確實分割以避免封包可以傳送到網域所有的電腦,這樣ARP的封包就不能互相傳遞,也就能防護ARP攻擊啦!
(圖十一)裝設VLAN switch以後網路上只看的到自己的電腦和路由器的IP。4.其實想要徹底解決ARP攻擊、病毒、木馬、或是駭客的攻擊,最好是在規劃的時候就考慮好,而且在區網裡面每一個switch都要有VLAN的功能,只要有一台沒有VLAN功能即成為漏洞。另外最常見到的錯誤就是直接使用路由器的4個LAN埠,而使區網VLAN瓦解。建議的架設方式請參考下圖
--
以上只是避免arp攻擊的概述,有的比較難理解的地方就寫的淺顯一點,希望對想了解的朋友有些幫助,想要了解更多的話可以提出您的疑問,歡迎轉載但請附出處,有錯也請不吝指教。