WiFi中間人攻擊:運作原理解析

中間人攻擊在你不知情的情況下截取你的網絡流量。在香港的公共WiFi網絡上,這在技術上輕而易舉。了解這些攻擊的運作原理,有助你理解為何某些保護措施至關重要。

Man-in-the-middle attack diagram showing attacker intercepting WiFi traffic between user and internet
1何謂中間人攻擊

甚麼是中間人攻擊?

中間人(MITM)攻擊是指攻擊者在兩方的通訊路徑之間秘密插入自己——通常是用戶設備與網站或伺服器之間——並在雙方均不察覺的情況下截取或篡改通訊。這個名稱來自一個實體比喻:某人站在兩個正在交談的人之間,聆聽雙方對話,傳遞訊息的同時讀取所有內容,並可能在轉發訊息前加以竄改。

在WiFi環境中,中間人攻擊利用本地網絡上用於路由數據的協議。當你連接到公共WiFi網絡時,你的設備與網絡路由器(閘道器)通訊以存取互聯網。路由器知道你設備的地址,並相應地路由你的互聯網流量。同一網絡上的中間人攻擊者透過ARP欺騙等技術毒化網絡的路由資訊,令你的設備以為攻擊者的機器是路由器,同時令路由器以為攻擊者的機器是你的設備。一旦攻擊者定位在中間,所有數據便流經攻擊者。

成功的中間人攻擊後果廣泛。攻擊者可以讀取雙向的所有未加密流量,包括用戶名、密碼、電郵內容以及你提交的任何表單數據。他們可以向你訪問的網站注入惡意內容——廣告、惡意軟件下載提示或釣魚重定向。他們可以從你已登入的會話中竊取會話Cookie,從而接管你的帳戶。他們還可以對特定服務進行有針對性的操控,將合法下載鏈接替換為惡意文件,或截取並篡改應用程式發出的API請求。

  • 核心機制:攻擊者將自己定位於設備與互聯網之間,將所有流量路由通過自身
  • 靜默操作:成功攻擊期間受害者看不到任何截取跡象
  • 讀取能力:所有未加密流量可被讀取——密碼、電郵、表單提交
  • 注入能力:攻擊者可在網頁及API回應中插入惡意內容
  • 竊取會話Cookie:擷取的Cookie可在不知道密碼的情況下劫持帳戶
  • 篡改下載:將合法軟件下載替換為含惡意軟件的版本
查看公共WiFi網絡上的全面風險 →
MITM attack positioning diagram showing traffic interception
2ARP欺騙

ARP欺騙:WiFi上的主要中間人技術

ARP(地址解析協議)用於本地網絡,將IP地址(邏輯地址,如192.168.1.1)映射到MAC地址(實體硬件地址,如00:1A:2B:3C:4D:5E)。當你的設備想與網絡閘道器通訊時,它發送ARP請求詢問「誰擁有IP地址192.168.1.1?」閘道器以其MAC地址回應,你的設備緩存此映射,之後發往該IP的流量便傳送至該MAC地址。

ARP有一個根本性的設計缺陷:它是無狀態且未經驗證的。網絡上的任何設備均可隨時發送ARP「回應」,即使沒有待處理的請求,網絡上的其他設備通常也會接受並緩存該資訊。攻擊者利用此漏洞,向受害設備發送未經請求的ARP回應,聲稱「IP 192.168.1.1位於MAC AA:BB:CC:DD:EE:FF」(攻擊者的MAC地址)。受害設備更新其ARP緩存,隨後將所有發往閘道器的流量傳送至攻擊者的設備。攻擊者的軟件在擷取並讀取所有中間內容的同時,將流量轉發至真正的閘道器。

ARP欺騙攻擊使用免費的工具執行。Ettercap、arpspoof和Bettercap是廣泛記錄的工具,可自動化整個ARP毒化、流量擷取和分析過程。熟練的攻擊者可以在不到兩分鐘內對目標建立完整的中間人位置。此攻擊僅要求攻擊者與受害者在同一本地網絡上——當雙方連接到香港的同一個港鐵站、酒店或咖啡廳的公共WiFi熱點時,此條件自動滿足。

  • ARP功能:在本地網絡上將IP地址映射至MAC(硬件)地址
  • ARP漏洞:無狀態且未經驗證——任何設備可向任何其他設備發送ARP回應
  • 欺騙機制:攻擊者聲稱閘道器IP映射至攻擊者的MAC地址
  • 結果:受害者將所有發往互聯網的流量傳送至攻擊者的設備
  • 工具:Ettercap、arpspoof、Bettercap——免費提供且有完善文檔
  • 速度:在任何公共WiFi網絡上不到兩分鐘即可建立中間人位置
閱讀ARP欺騙攻擊詳細指南 →
ARP spoofing attack on local network — ARP cache poisoning process
3SSL剝除

SSL剝除:在公共WiFi上破解HTTPS

一旦攻擊者定位為中間人,他們通常會採用SSL剝除來破解HTTPS保護。SSL剝除利用許多網頁瀏覽器連接網站的初始方式。當你在瀏覽器中輸入「bank.com」時,初始連接通常以HTTP(未加密)開始,然後才重定向至HTTPS。在SSL剝除攻擊中,中間人截取初始HTTP連接,代表你與真實伺服器建立HTTPS連接,但以HTTP形式向你提供網站——剝除原本應保護你連接的加密層。

從你的角度來看,網站運作正常——你可以看到所有內容、登入並與網站互動。但你正透過HTTP與攻擊者的代理通訊,而代理則透過HTTPS與真實伺服器通訊。你輸入的一切——包括用戶名、密碼、信用卡號碼或任何其他敏感數據——在轉發至真實伺服器前對攻擊者而言是明文可見的。你的瀏覽器可能在地址欄顯示「http://」而非「https://」,這就是為何注重安全的用戶總是驗證協議指示符,但許多用戶並不習慣性地查看。

現代瀏覽器實施HSTS(HTTP嚴格傳輸安全),有助緩解SSL剝除。HSTS告知瀏覽器始終對特定域名使用HTTPS——一旦瀏覽器透過啟用HSTS的網站訪問過某網站,它將拒絕透過HTTP連接,並在HTTPS連接失敗時拒絕加載該網站。大多數主要網站以較長的max-age週期實施HSTS。然而,HSTS保護僅在你之前透過乾淨連接以HTTPS訪問過該網站時才有效——若你首次訪問某網站恰好在受損網絡上進行,仍然容易受到SSL剝除攻擊。

  • 機制:攻擊者截取初始HTTP連接,透過HTTP提供網站,同時透過HTTPS連接伺服器
  • 受害者體驗:網站運作正常——受害者無法察覺攻擊正在發生
  • 地址欄提示:URL顯示「http://」而非「https://」——仔細查看地址欄
  • HSTS緩解:瀏覽器在首次HTTPS訪問後拒絕連接啟用HSTS的域名的HTTP請求
  • 首次訪問漏洞:若首次訪問發生在受損網絡上,HSTS無法保護
  • VPN消除威脅:來自設備的端對端加密意味著SSL剝除無法生效
了解HTTPS在公共WiFi上實際能保護甚麼 →
SSL stripping attack removing HTTPS encryption on public WiFi
4防禦方法

如何在公共WiFi上防禦中間人攻擊

VPN是在公共WiFi上對抗中間人攻擊最全面的防禦手段。當VPN啟用時,你設備的所有流量在到達公共WiFi網絡前已被加密。成功執行ARP欺騙將自身定位為中間人的攻擊者,只能擷取加密的VPN流量——他們看到的是發往你VPN伺服器的封包,但內容以AES-256加密,在沒有VPN伺服器私鑰的情況下,在計算上不可能解密。SSL剝除無法對VPN流量生效,因為沒有HTTP到HTTPS的升級過程可供利用——VPN將一切封裝在其自身的加密隧道中。

除VPN外,請設定瀏覽器在任何地方強制使用HTTPS。HTTPS Everywhere瀏覽器擴充功能(由EFF提供)已被瀏覽器原生選項取代。在Chrome中,於「設定 → 私隱和安全性 → 安全性」中啟用「一律使用安全連線」。在Firefox中,於「設定 → 私隱和安全性」中啟用「僅限HTTPS模式」。這些設定指示瀏覽器始終使用HTTPS,並在載入任何HTTP頁面前發出警告,在VPN之上提供額外的保護層。

如果你管理網絡,請啟用動態ARP檢測(DAI);如果你是企業IT管理員,請在端點層面使用VPN。對於個人用戶,啟用VPN後最實用的額外措施是在登入任何敏感服務時查看瀏覽器地址欄中的URL——確認「https://」存在,且域名中沒有多餘字符或拼寫錯誤。這些視覺檢查補充你的VPN,並在可能存在網絡層攻擊的環境中提供人工層面的驗證,確認你的連接是合法的。

  • VPN是主要防禦:來自設備的AES-256加密使中間人截取毫無用處
  • VPN對抗SSL剝除:無HTTP到HTTPS升級意味著SSL剝除無從下手
  • 瀏覽器HTTPS強制:Chrome的「始終使用安全連線」及Firefox僅HTTPS模式增添保護
  • 地址欄驗證:輸入憑證前始終確認https://及正確的域名
  • 憑證警告:切勿忽略任何網絡上的瀏覽器SSL憑證警告
  • 網絡管理員:在受管網絡上啟用動態ARP檢測以防止ARP欺騙
設置VPN以抵禦公共WiFi上的中間人攻擊 →
VPN and HSTS protection against MITM attacks on public WiFi

在攻擊發生前阻止中間人攻擊

VPN在你的流量到達公共網絡前將其加密——使ARP欺騙和SSL剝除對你的數據完全無效。

Related VPN Articles