什麼是 ARP 協定?
ARP(Address Resolution Protocol,位址解析協定)是區域網路中不可或缺的基礎協定,主要功能是將 IP 位址解析為對應的 MAC 位址(實體位址)。在 TCP/IP 網路環境下,資料封包的路由轉發依賴 IP 位址,但最終在區域網路內傳遞到目標主機時,則需依據 MAC 位址進行識別。每台主機記憶體中都維護一張 ARP 快取表,記錄 IP 到 MAC 的動態對應關係。
ARP 運作流程
當主機欲發送 IP 封包時,會先查詢本機 ARP 快取表。若找不到對應 MAC,主機會發送 ARP 廣播請求:「我是 IP A,MAC 為 X,請 IP B 的主機回應你的 MAC」。目標主機收到後回應單播:「我是 IP B,我的 MAC 是 Y」。請求端隨即更新快取表並發送封包。
ARP 欺詐攻擊原理與實例
同網段攻擊情境
攻擊者欲繞過防火牆限制(如僅開放特定 IP 的 Telnet 連線),可執行以下步驟:
- 先以洪水攻擊癱瘓合法主機(IP 192.0.0.3),導致其離線。
- 其他主機 ARP 快取表因逾時移除該 IP 對應項。
- 攻擊者將自身 IP 偽裝為 192.0.0.3,並發送 ICMP 封包誘導受害主機更新 ARP 表。
- 受害主機將攻擊者 MAC 綁定至 192.0.0.3,防火牆誤判為合法流量,攻擊者即可建立 Telnet 連線。
跨路由器攻擊進階手法
若目標位於不同網段,攻擊者需結合 ICMP 重導向攻擊:
- 同樣先癱瘓合法主機並佔用其 IP。
- 發送偽造 ARP 回應,宣稱新 MAC 對應該 IP。
- 再發送 ICMP 重導向訊息,欺騙網段內主機將送往該 IP 的封包轉發給路由器。
- 攻擊者位於路由器另一側,即可攔截經路由轉發的流量。
防範 ARP 欺詐的九大策略
- 建立 IP-MAC 綁定信任基礎:勿單憑 IP 或 MAC 進行存取控制,應採用 IP+MAC 雙重驗證。
- 部署靜態 ARP 表:在關鍵主機與路由器設定靜態 ARP 對應,禁止動態更新。
- 停用動態 ARP(非必要時):將 ARP 條目設為永久靜態條目。
- 引入 ARP 伺服器:集中管理 ARP 解析請求,確保伺服器本身安全強化。
- 使用 Proxy ARP 代理傳輸:由代理裝置處理跨網段 ARP 請求,減少廣播暴露。
- 硬體層級隔離與靜態路由 ARP:配置路由器靜態 ARP 條目,注意交換器、橋接器無法阻擋 ARP 欺詐。
- 定期 RARP 交叉驗證:管理員定期發送 RARP 請求比對 ARP 回應真實性。
- 輪詢檢查主機 ARP 快取:定期掃描關鍵主機 ARP 表,偵測異常對應。
- 防火牆持續監控:啟用防火牆 ARP 異常警報(如偵測到區域網 IP 來自外部路由介面)。
ARP 封包結構與常見協定類型對照表
ARP 請求/回應封包包含:硬體類型、協定類型、硬體/協定位址長度、操作碼、發送端/目標端硬體與協定位址。常見協定類型碼:
- 2048 (0x0800):Internet Protocol (IP)
- 2054 (0x0806):ARP
- 32821 (0x8035):RARP
- 32823 (0x8037):AppleTalk
了解封包結構有助於使用 NetXRay 等工具深度分析 ARP/ICMP 協同攻擊流量。