2015 年 1 月,Samy Kamkar——2005 年癱瘓 MySpace 的 Samy 蠕蟲作者——公開了 KeySweeper:一款內建於可正常運作的 USB 壁式充電器中的按鍵記錄器,成本低至 10 美元。它會持續竊聽、解密、記錄並傳輸範圍內 Microsoft 無線鍵盤上輸入的一切內容,而在受害者眼中,它就只是另一個插在牆上的充電器。

硬體皆為現成零件:Arduino 或 Teensy、nRF24L01+ 無線電晶片、選配的 SPI 快閃記憶體用於儲存,以及選配的 Adafruit FONA 板搭配 SIM 卡以進行無線外傳。弱點在於 Microsoft 自家的加密設計:按鍵輸入以鍵盤的 MAC 位址作為金鑰進行 XOR 編碼,而由於晶片能讀取該位址——且每個 Microsoft 鍵盤的 MAC 都以 0xCD 開頭——解密的對齊方式永遠不變。當按鍵流中出現「bankofamerica.com」、「confidential」或「password」等關鍵字時,KeySweeper 可向操作者發送簡訊。

根本缺陷並非新事——白帽研究人員 Travis Goodspeed、Thorsten Schröder 與 Max Moser 多年前就已揭露這種馬虎的 XOR 加密——但他們的攻擊手法需要更大、更耗電的電腦。Kamkar 的貢獻在於將攻擊縮小為一個廉價、常時運作的物件,清潔工、同事或訪客都能將其放置在目標範圍內,然後一走了之。

偽裝成基礎設施:一個打扮成壁式充電器的按鍵記錄器無需點擊、無需插入、無需受害者——它就待在手機本來就會待的地方。

這層偽裝移除了所有人為檢查點:沒有釣魚、沒有安裝惡意軟體、沒有網路入侵——裝置就像家具一樣隱身於明處。

Microsoft 的加密以鍵盤自身的 MAC 位址作為金鑰,而該值以明文廣播,且開頭為固定位元組。

早先的研究已證明此缺陷,但需要笨重的設備;現成的無線電與微控制器將其變成一台 10 美元的常時運作設備。

關鍵字觸發的簡訊意味著攻擊者從不需要盯日誌——裝置會自行浮現有價值的按鍵輸入。

攻擊者能讀取的金鑰材料就不是金鑰材料:以裝置自身廣播位址進行加密,擋不住任何一個有 10 美元無線電和耐心的人。

Kamkar 公開了硬體規格與軟體。Ars Technica 指出,受測鍵盤是全新的零售機型,而 Microsoft 自家網站僅列出一款具備 128 位元 AES 加密的鍵盤;Microsoft 的聲明表示,藍牙鍵盤以及 2011 年 7 月以後的 2.4GHz 無線設計使用 AES 並受到保護。有線鍵盤與藍牙鍵盤不受此類攻擊影響。

追溯依據

參考來源

  1. Meet KeySweeper, the $10 USB charger that steals MS keyboard strokes Ars Technica · arstechnica.com ·