現在部分 Windows 筆電也提供了像是 Mac 一樣的指紋辨識登入功能,但據網路安全公司 Blackwing Intelligence 的測試結果卻顯示,Windows Hello 的指紋辨識系統安全性似乎不太夠。
據 Blackwing Intelligence 的顯示,會發起這項測試是受到微軟(Microsoft)攻擊性研究與安全工程團隊的要求,希望 Blackwing Intelligence 能替他們評估 Windows 筆電的 Windows Hello 指紋辨識系統安全性。
Blackwing Intelligence 總共測試了三台 Windows 筆電,分別是 Dell Inspiron 15、Lenovo ThinkPad T14,以及微軟自家的 Surface Pro 實體鍵盤保護蓋(for Surface Pro 8 / X)。有趣的是,最容易被繞過的竟然是微軟自家產品。
不過三台筆電得採取不同方式來繞過 Windows Hello 指紋辨識系統安全性。
Dell Inspiron 15
當使用者將電腦啟動到 Windows 作業系統時,它會遵循完整的安全協議,其中包括安全連接協議(SDCP),其目的是檢查「主機正在與受信任的設備而不是惡意設備進行通信」、「檢查設備以確保它沒有運行被駭客入侵的韌體」、「指紋資料不會被快取或重播」。
雖然 Windows 對讀卡機的存取使用了 SDCP 協議,但對 Linux 的讀取卻沒有,而這也給團隊第一個想法;Blackwing Intelligence 就嘗試將目標裝置啟動到 Linux,並使用 Linux 端將攻擊者指紋註冊到資料庫中,並指定此一指紋資料與 Windows 端註冊的合法使用者使用相同的 ID。
但此一方式並沒有奏效,因為晶片上有針對 Windows 與 Linux 個別單獨的資料庫。不過 Blackwing Intelligence 弄清楚 Windows 如何知道要存取哪個資料庫後,便設法將其指向 Linux 資料庫,便啟動了另一套方式:
- 啟動至 Linux
- 枚舉有效的 ID
- 使用與合法 Windows 使用者相同 ID,並著側攻擊者的指紋
- MitM(中間人攻擊)主機與感測器間的連接
- 啟動 Windows
- 使用 MitM 攔截並重寫配置資料包以指向 Linux DB
- 使用攻擊者的指紋以合法使用者身份登入電腦
Lenovo ThinkPad T14
雖然 Lenovo ThinkPad T14 使用的 Synaptics 指紋感測器支援 SDCP 協議,但實際上卻是被禁用。裝置使用自訂傳輸安全層(TLS)來完成相同的工作。
但 Blackwing Intelligence 認為這個替代安全系統並不是很安全,並表示「任何人都可以讀取用戶端憑證與金鑰,但它們是加密的,不過是用什麼來加密?在更多的 RE 之後,證明它們是透過兩個資訊派生的金鑰來進行加密:機器的產品名稱和序號,透過 ACPI 從 BIOS 檢索(可以在裝置底部的貼紙上找到資訊)筆電。
Blackwing Intelligence 最後找到繞過 Lenovo ThinkPad T14 指紋辨識登入的步驟:
- 讀取加密的用戶端憑證/金鑰
- 使用產品名稱和序號派生的金鑰解密加密的 blob
- 與感測器協商 TLS 對話
- 枚舉有效的 Windows 指紋 ID 範本
- 登記攻擊者指紋、欺騙有效 ID
- 啟動進入 Windows
- 使用攻擊者的指紋以目標 Windows 使用者身份登入
Surface Pro 實體鍵盤保護蓋
原本團隊以為,要繞過微軟官方產品將會是此次測試中最艱鉅的挑戰,但實際上卻驚訝地發現,該公司的產品安全性極為糟糕。
Blackwing Intelligence 發現,微軟的這款鍵盤蓋產品沒有 SDCP、明文(Cleartext)USB 通信、沒有認證。因此只需斷開指紋感測器,並插入自己的裝置即可對受害者的電腦進行欺騙:
- 拔下鍵盤蓋(驅動程式無法處理插入的兩個感測器)
- 插入攻擊設備,通告感測器的 VID/PID
- 從 Windows 驅動程式觀察有效的 SID
- 透過「有多少指紋」檢查
- 在 Windows 上啟動指紋登入
- 從欺騙設備發送有效登入回應
(首圖來源:微軟)
標題:網路安全公司測試 Windows Hello 指紋辨識,最容易繞過卻是 Surface
地址:https://www.utechfun.com/post/294971.html