為什麼你的 USB 充電線應該要戴「保險套」?

很早以前就聽說過 名為 BadUSB 的攻擊, 直到最近又看到新聞: 「美政府籲勿使用公共USB充電站」 才認真爬文, 嚇到在電腦前面吃手手~

其實它的 運作原理 (簡中) 在概念層次說起來很簡單: 一個 USB 裝置接到電腦或手機 (姑且稱之為 host) 上時, 會告訴 host 它自己是什麼類型的裝置。 通常, 當然, 滑鼠會說我是滑鼠、 鍵盤會說我是鍵盤。 可是如果一個外表偽裝成充電座 (欺騙人眼) 的裝置宣稱自己是鍵盤 (欺騙 host) 呢? 即將受害的 host 當然還是相信了, 然後惡意裝置就開始告訴電腦: 「使用者按下 ctrl-alt-t 鍵了哦 (在 linux 底下會叫出終端機; 當然也有其他鍵可以攻擊 windows 或 mac 或手機), 然後哦, 使用者又下了以下指令...」 於是開始接管 host, 下指令從偽裝的充電座那頭下載惡意軟體 -- 原來它自己根本是一部電腦! 最極致者甚至還有偽裝成 USB 連接線的惡意裝置。 (沒有力氣研究他如何用那麼小的電路去實作惡意裝置。)

所幸, 目前比較成熟的惡意技術的偽裝方式是鍵盤, 而透過這種方式入侵時, 你會看到電腦螢幕上開始出現其怪的動作。 我不確定這時拔掉 USB 線還來不來得及, 但至少你有心理準備了。

那麼, 該如何自保呢? USB 接頭有四個接腳, 最兩邊的是電源與接地; 中間兩個接腳是訊號線。 所以如果你只想充電, 只需要阻斷這兩條訊號線就安全了。 有幾個方法可以達到這個目的:

  1. 自備充電器。 因為自己的 (安全的) 充電器接牆壁的電源時根本沒有訊號線, 所以就安全了。
  2. 購買 (可以重複使用的)(無誤!) USB 保險套 -- 用一個轉接頭阻擋那兩根資料接腳。 前提當然是: 你信任這個轉接頭本身沒有暗藏惡意裝置。 (所以便宜的比較可信) 在臺灣的賣場 (沒有非常認真地) 搜尋 USB condom 找不到東西; 不過從 Amazon 的同類商品 的名稱找到 露天的 PortaPow。 感覺賣家沒有抓到行銷關鍵詞, 沒讓買家看懂重點, 有點可惜...
  3. 用膠帶把傳輸線中間那兩個接腳蓋住。 最便宜、 最輕巧的解決方案; 但手要夠巧。

為什麼你的 USB 充電線應該要戴保險套?

當然, 以上只適用於僅想充電的狀況。 如果你的電腦或手機要跟陌生人提供的其他任何 USB 裝置連線 (所以不能把資料接腳阻斷) 那麼你最好隨時盯著它看。 依據我目前搜尋的結果與理解, 如果電腦沒有開始自動開視窗什麼的, 那麼後面若有其他入侵行為, 就跟 BadUSB 無關了。 (例如可能是 蘋果的 62078 後門。)

關於作者
洪朝貴,人稱「貴哥」,朝陽科技大學資訊管理系副教授。貴哥長期以來一直關注資訊人權,興趣是善用網路從事社會運動,反對以「保護智慧財產權」之名,行「控制資訊自由」之實。經營個人部落格:資訊人權貴ㄓ疑
本文轉自原作《為什麼你的 usb 充電線應該要戴保險套?(為麻瓜寫的 BadUSB 原理與防護)》,T客邦已取得轉載授權。

使用 Facebook 留言

發表回應

謹慎發言,尊重彼此。按此展開留言規則