ARP欺騙
ARP欺騙(英語:ARP spoofing),又稱ARP毒化(ARP poisoning,網絡上多譯為ARP病毒)或ARP攻擊,是針對乙太網路地址解析協定(ARP)的一種攻擊技術。此種攻擊可讓攻擊者取得區域網絡上的資料封包甚至可篡改封包,且可讓網絡上特定電腦或所有電腦無法正常連線。最早探討ARP欺騙的文章是由Yuri Volobuev所寫的《ARP與ICMP轉向遊戲》(ARP and ICMP redirection games)[1]。
運作機制
編輯ARP欺騙的運作原理是由攻擊者傳送假的ARP封包到網絡上,尤其是送到閘道器上。其目的是要讓送至特定的IP地址的流量被錯誤送到攻擊者所取代的地方。因此攻擊者可將這些流量另行轉送到真正的閘道(被動式封包嗅探,passive sniffing)或是篡改後再轉送(中間人攻擊,man-in-the-middle attack)。攻擊者亦可將ARP封包導到不存在的MAC地址以達到阻斷服務攻擊的效果,例如netcut軟件。
例如某一的IP地址是192.168.0.254
,其MAC地址為00-11-22-33-44-55
,網絡上的電腦內ARP表會有這一筆ARP記錄。攻擊者發動攻擊時,會大量發出已將192.168.0.254
的MAC地址篡改為00-55-44-33-22-11
的ARP封包。那麼網絡上的電腦若將此偽造的ARP寫入自身的ARP表後,電腦若要透過網絡閘道連到其他電腦時,封包將被導到00-55-44-33-22-11
這個MAC地址,因此攻擊者可從此MAC地址截收到封包,可篡改後再送回真正的閘道,或是什麼也不做,讓網絡無法連線。
簡單案例分析:這裏用一個最簡單的案例來說明ARP欺騙的核心步驟。假設在一個LAN裏,只有三台主機A、B、C,且C是攻擊者。
- 攻擊者聆聽區域網絡上的MAC地址。它只要收到兩台主機洪泛的ARP Request,就可以進行欺騙活動。
- 主機A、B都洪泛了ARP Request.攻擊者現在有了兩台主機的IP、MAC地址,開始攻擊。
- 攻擊者傳送一個ARP Reply給主機B,把此包protocol header裏的sender IP設為A的IP位址,sender mac設為攻擊者自己的MAC地址。
- 主機B收到ARP Reply後,更新它的ARP表,把主機A的MAC地址(IP_A, MAC_A)改為(IP_A, MAC_C)。
- 當主機B要傳送封包給主機A時,它根據ARP表來封裝封包的Link報頭,把目的MAC地址設為MAC_C,而非MAC_A。
- 當交換機收到B傳送給A的封包時,根據此包的目的MAC地址(MAC_C)而把封包轉發給攻擊者C。
- 攻擊者收到封包後,可以把它存起來後再傳送給A,達到偷聽效果。攻擊者也可以篡改數據後才傳送封包給A,造成傷害。
防制方法
編輯最理想的防制方法是網絡內的每台電腦的ARP一律改用靜態的方式,不過這在大型的網絡是不可行的,因為需要經常更新每台電腦的ARP表。
另外一種方法,例如DHCP snooping,網絡裝置可藉由DHCP保留網絡上各電腦的MAC地址,在偽造的ARP封包發出時即可偵測到。此方式已在一些廠牌的網絡裝置產品所支援。
有一些軟件可監聽網絡上的ARP回應,若偵測出有不正常變動時可傳送電子郵件通知管理者。例如UNIX平台的Arpwatch以及Windows上的XArp v2[2]或一些網絡裝置的Dynamic ARP inspection功能。
正當用途
編輯ARP欺騙亦有正當用途。其一是在一個需要登入的網絡中,讓未登入的電腦將其瀏覽網頁強制轉向到登入頁面,以便登入後才可使用網絡。另外有些設有備援機制的網絡裝置或伺服器,亦需要利用ARP欺騙以在裝置出現故障時將訊務導到備用的裝置上。
參考資料
編輯- ^ ARP and ICMP redirection games. INSECURE.ORG. [2010-05-24]. (原始內容存檔於2010-06-12) (英語).
- ^ XArp advanced ARP spoofing detection. chrismc. [2010-05-24]. (原始內容存檔於2010-05-27) (英語).
外部連結
編輯- Quick Detect ARP Poisoning/Spoofing Live Demo. [2008-05-23]. (原始內容存檔於2013-04-25) (英語).
- NetCut - Admin Network with ARP protocol. [2020-09-25]. (原始內容存檔於2017-06-03) (英語).
- Introduction to APR (Arp Poison Routing) by MAO. [2008-05-23]. (原始內容存檔於2007-06-30) (英語).
- ARPDefender - Hardware ARP Spoofing detection appliance. [2020-09-25]. (原始內容存檔於2016-11-29) (英語).
- GRC's Arp Poisoning Explanation. [2008-05-23]. (原始內容存檔於2019-04-24) (英語).
- XArp2 ARP spoofing detection tool performing packet inspection using active and passive methods. [2008-05-23]. (原始內容存檔於2010-05-27) (英語).
- AntiARP - Professional defence ARP spoof/poison/attack. [2008-05-23]. (原始內容存檔於2008-09-14) (英語).
- ARP Spoofing How to (PDF) (英語).[永久失效連結]