解決方案
2016 年 11 月,安全研究員 Samy Kamkar 發布了 PoisonTap:一套跑在 5 美元 Raspberry Pi Zero 上的免費軟體,插入上鎖的 Mac 或 PC 約 30 秒,就能攔截該機器的網路流量與身分驗證 cookie,接著安裝後門,讓瀏覽器與區域網路在裝置拔除後仍可被遠端控制。「主要動機是要證明,即使是在執行 WPA2 Wi-Fi、受密碼保護的電腦上,你的系統與網路仍可能被快速且輕易地攻擊,」他向 Ars 表示。
這條攻擊鏈只用了標準的便利機制。Pi 偽裝成乙太網路卡,並透過 DHCP 發放位址,讓自己成為閘道;它把區域網路定義為整個 IPv4 位址空間,於是也成為所有網際網路流量的閘道。它找到背景瀏覽器,注入指向 Alexa 前一百萬名網站的隱藏 iframe,並——冒充各網站的 HTTP 伺服器——收集回傳的 cookie。快取植入的程式碼在隨身碟拔除後仍維持持久的 WebSocket 連線;DNS 重綁定攻擊則賦予對所連路由器的管理權限。
文中列出的防禦措施屬於結構性,而非行為性。HSTS 與妥善保護的 cookie 能挫敗 cookie 蒐集——這也是為何 Google 與 Facebook 的頁面無法被觸發——而多因素驗證幾乎幫不上忙,因為以 cookie 為基礎的登入不會重新觸發它。終端使用者可以在鎖定前關閉瀏覽器、在 Mac 上啟用 FileVault2 並進入睡眠,或清除快取;最安全的習慣就是乾脆把機器帶在身上。
PoisonTap 延續了 Kamkar 一貫廉價且公開的駭客手法:一支 10 美元、可蒐集鍵盤輸入的 USB 充電器;一個 30 美元、能打開電子鎖汽車與車庫的裝置;一款建立在 Google 街景上的 DIY 跟蹤 App。他公開了原始碼與示範影片,Ars Technica 則將這個模式定調為對日益電腦化世界安全取捨的持續警示。
它達成了什麼
鎖定的螢幕守護的是登入提示,而非網路堆疊:偽裝成 USB 乙太網路閘道,把整個 IPv4 網際網路稱為「本地」,cookie 就會自己送上門。
為何奏效
它不需要任何零日漏洞:USB 網路、DHCP、寬鬆的「本地」位址範圍與快取持續性都是普通的便利機制,只是被依正確順序串接起來。
它移動了信任邊界:登入提示從來不是真正的攻擊面——網路堆疊與背景瀏覽器才是。
以 5 美元的價格,它讓一種原本讀來像國家級行為者幻想的攻擊變得人人可及,把防禦論述從使用者習慣推向協定層級的保證。
可應用之處
一旦硬體被接觸,密碼強度就無關緊要。把保證放在協定層級——HSTS、Secure cookie——因為像「鎖定螢幕」這類行為規則,面對 5 美元的裝置只會失效。
後續
Kamkar 公開了完整原始碼與示範影片,讓任何擁有 5 美元板子的人都能重現這條攻擊鏈。文章指出,該漏洞利用對妥善執行 HSTS 與 Secure cookie 的網站已經失效——Google 與 Facebook 即屬此類——這是產業正朝預設全面 HTTPS 轉移的縮影。其實際建議以真正偏執的選項作結:把筆電帶在身上,或干脆把機器關機。
追溯依據
參考來源
- Meet PoisonTap, the $5 tool that ransacks password-protected computers Ars Technica · arstechnica.com ·