2013年12月10日 星期二

別讓鄰居害死你 談ARP掛馬攻擊

別讓鄰居害死你 談ARP掛馬攻擊

你以為將重要伺服器管好就天下太平嗎?ARP掛馬從你的鄰居伺服器下手,同樣間接駭到你。

2009年3月初,知名網站包含MSN台灣、cnet在內均傳出使用者瀏覽網頁時,遭轉址到大陸某惡意網站的情形。由於影響層面廣,一時之間引發各界討論,事發當初原因還不得而知,因此許多資安專家紛紛對事件提出不同的解讀。初期有一派認為是DNS伺服器遭入侵,後來有人深入分析封包後,認為是利用網路協定漏洞而發動攻擊,到後來也有人提出是ARP掛馬(ARP Spoofing / ARP Poisoning)等不同看法。

網頁掛馬並不稀奇,但究竟什麼是ARP掛馬?又該如何防範?在調查水落石出之前,本文不對MSN網站轉址事件究竟為何進行評析,但僅藉此說明ARP掛馬的手法,提醒讀者注意,這種極為可怕的區域網路威脅。

ARP Poison手法
ARP掛馬在台灣雖然不太常見,但並不是新的攻擊手法。在大陸此種攻擊手法極為常見,2007年Norton大陸網站即曾被ARP掛馬攻擊,於2008年底也有許多知名網站代管區域遭到入侵,被放置ARP攻擊套件,不但監聽Switch網路環境,也進行ARP掛馬攻擊,這些事件若非因ARP掛馬而讓大家產生警覺,可能至今仍潛伏在各機房區網內,持續竊取伺服器連線資料。

ARP掛馬工具種類繁多,相對地,也有ARP掛馬防火牆等防護方案,包括免費工具包或是商品化產品,這方面由其可以在大陸網站看到,反倒是國內、甚至國外的此類資訊明顯弱了許多。

在過去,區域網路在Hub環境底下,這種廣播式的封包傳送方式,可輕易竊聽到旁邊傳送的封包,安全性問題眾所皆知。到後來隨著交換器的普及,交換器埠與埠之間,彼此阻隔了廣播封包的傳送,因此駭客無法利用原本的方式來竊聽區域網路,但只要利用ARP這個協定,則可透過ARP request封包,來強制欺騙特定主機,使其誤認傳遞目標,進而達到所謂的中間人(Man-in-the-middle)攻擊手法。而ARP掛馬正是利用此一技巧,駭客主機處在傳輸兩者的中間,可達成竊聽或穿插惡意封包的目的。

我們來看看這種手法,流量大的網站主機(A主機)通常有較嚴密的防護,因此駭客未必能打下,他先入侵相同網段中防護較差的B主機,接著這台B主機就偽裝為假A主機,並對往來的封包注入一段惡意程式碼,藉此欲連線到A主機的用戶端電腦(C電腦)就可能遭殃,因此這就形成中間人攻擊。

與網頁掛馬不同,由於惡意程式是注入在往來傳輸的封包當中,因此目標主機網頁內容上不會留有任何iframe掛馬的痕跡,就算大費周章,利用各種檢查方法在該網站主機上查詢,也都是徒勞無功。


ARP協定介紹
Address Resolution Protocol(ARP):在乙太網路架構中,ARP可用來查詢IP位址與Mac Address的對應。當發送主機有目的主機的IP位址,但想知道目的主機的Mac Address時,即可發送一個查詢封包,包含自己的IP位址與Mac Address,這時網段中所有主機都會收到此封包,若是IP為自己,便會回應ARP reply,詢問者收到後,會更新自己ARP Table資訊,也就是覆蓋原來的資料。這樣的過程並無任何信任安全機制,因為當初設計這個協定時,並未考慮區域網路中會有這樣的威脅,所以一旦有惡意人士在區域網路中,發送詐騙的ARP封包,便可以欺騙區網內的主機,回應假的MAC位址與IP對應,一般最常詐騙的便是出口閘道(Gateway),因此受害主機的對外流量都將先通過惡意主機,然後再轉送到出口閘道。

解決方法
防護方式有許多種,包括在網站伺服器上安裝ARP防火牆,或直接透過系統設定,下個指令直接將真正的閘道端Mac Address設為固定靜態。

指令:ARP-S IP位址

Mac位址 一般來說,透過ARP防火牆可以把ARP Table記錄起來,並且知道內部網路中有哪些主機嘗試被ARP掛馬攻擊,可進一步處理。但如果嫌麻煩,至少應對每一台網站伺服器做好arp-s設定。只要一個指令,就可以輕鬆解決ARP掛馬的問題。


結語
ARP相關的攻擊手法並非最近才出現,早就對區域網路安全造成影響,但許多管理者卻疏忽了這種威脅,認為交換器網路環境中,並無廣播封包的特性因此不會有竊聽的風險,這是極為可怕的觀念。利用ARP攻擊技術,駭客可以在交換器網路環境底下達到竊聽、竄改的目的,就算你將自己的伺服器管理的很好,也難保鄰居不會害慘你,藉由本文,讓大家了解此類手法,避免受到此類危害。

轉載自《資安人科技網》