KeyFrame內部研究專用

Black Hat USA 2025 | Windows Hell No for Business

Black Hat·3月26日週四·36 min英文

三句話摘要

德國安全研究員在 Black Hat 揭露 Windows Hello 企業版生物辨識資料庫的本地管理員提權漏洞,並現場演示攻擊。 Windows Hello 企業版的生物辨識資料庫在缺乏 ESS 模式的設備上,本地管理員即可解密並篡改任意用戶的生物模板,最壞情況可從本地管理員直接提權至網域管理員,啟用 ESS 模式(需硬體支援)是目前唯一根本性防禦手段。 生物驗證與密碼驗證在熵來源上存在根本差異:傳統密碼驗證中,密碼本身提供密碼學熵;生物辨識中,「臉部」只是識別觸發器,實際釋放金鑰的機制依賴磁碟上的資料,導致無法在金鑰釋放時強制綁定具體的生物輸入。

重點整理

重點
  • 1

    生物驗證與密碼驗證在熵來源上存在根本差異:傳統密碼驗證中,密碼本身提供密碼學熵;生物辨識中,「臉部」只是識別觸發器,實際釋放金鑰的機制依賴磁碟上的資料,導致無法在金鑰釋放時強制綁定具體的生物輸入。

  • 2

    資料庫加密依賴系統層 DPAPI,本地管理員等同擁有解密能力:Windows 使用 `CryptProtectData/CryptUnprotectData` 保護資料庫加密標頭,此函式在 System 帳戶下執行,使得具有本地管理員權限的攻擊者可直接呼叫並解密,讀取、篡改任意用戶的生物模板。

  • 3

    ESS(增強型登入安全)模式透過 VBS 隔離解決根本問題:ESS 在 Hypervisor 的 VTL1(隔離虛擬機)中獨立運行生物辨識服務,模板金鑰只存在於 VTL1 記憶體,VTL0(正常 OS)即使擁有管理員權限也無法存取,但此模式需要硬體(安全攝影機感測器 + Intel 晶片)支援。

  • 4

    本地管理員提權到網域管理員是最壞情境:攻擊者替換特定用戶的生物模板後,可在域環境中以該用戶(例如域管理員)身份通過 Kerberos 驗證,完成橫向移動與提權。

實用技巧與重點

乾貨
  • 研究由德國 BSI(聯邦資訊技術安全辦公室)資助,為期約兩年(開始於研討前一年,結束於演講後一年春天),完整報告約 170 頁
  • 資料庫加密方式:AES-CBC,每個資料庫有獨立加密金鑰與 IV(Initialization Vector)
  • 資料庫完整性保護:SHA-256 雜湊值加密後存於標頭
  • 資料庫路徑來源:`HKLM\SYSTEM\CurrentControlSet\Services\WinBio\`
  • 資料庫類型值:`2` 代表人臉辨識
  • 三種適配器類型:Sensor Adapter、Engine Adapter、Storage Adapter
  • 隱藏的第四種:Framework Adapter(微軟未公開文件,用於 VBS 安全隔離)
  • ESS 模式執行檔:`system32` 下獨立可執行檔,含 VTL1 隔離版生物辨識服務
  • 驗證分數:引擎輸出 0~1 之間的浮點閾值,超過閾值即識別成功
  • 攻擊工具:研究員開發了資料庫解密工具(現場演示)
  • 緩解建議:每台客戶端只登錄一個用戶;無法用 ESS 時改用 PIN 驗證(PIN 提供熵並受 TPM anti-hammering 保護);監控應針對 Windows 生物辨識服務的資料庫存取行為

結論

結論

Windows Hello 企業版的生物辨識資料庫在缺乏 ESS 模式的設備上,本地管理員即可解密並篡改任意用戶的生物模板,最壞情況可從本地管理員直接提權至網域管理員,啟用 ESS 模式(需硬體支援)是目前唯一根本性防禦手段。

完整解析

詳細

Windows Hello 在 2015 年被微軟引入,目的是以生物辨識取代密碼。對企業環境而言,Windows Hello for Business 的核心機制是:在用戶完成生物登記後,系統為其生成一組非對稱金鑰對,公鑰上傳至身份提供商(Active Directory 或 Entra ID),私鑰保存在本地 TPM 中,此後以加密挑戰的形式向網域驗證身份。而生物辨識本身的作用,是透過「手勢 → 保護金鑰 → 身份驗證金鑰 → 用戶 ID 金鑰」的鏈式釋放機制,讓系統在確認「是這個人」之後才釋放用於簽名的私鑰。

在 Windows 生物辨識服務(WinBio Service)的內部架構中,感測器資料由硬體驅動傳入核心模式,再透過廠商提供的驅動程式轉換後進入用戶模式服務。服務內部以適配器(Adapter)架構組織:Sensor Adapter 負責採集、Engine Adapter 負責 AI 比對(輸出 0~1 的閾值判斷),Storage Adapter 負責從本地加密資料庫存取模板。所有通訊透過稱為「管道(Pipeline)」的函數指標結構進行,客戶端應用程式永遠無法直接讀取生物特徵原始資料,只能透過 RPC 取得識別結果,從而保護隱私邊界。

然而,研究員發現這套架構存在一個根本性的信任邊界問題。資料庫的加密標頭使用微軟的 DPAPI(`CryptProtectData`)保護,而這個函式在 System 帳戶下執行,意味著任何擁有本地管理員權限的帳戶,都可以呼叫 `CryptUnprotectData` 解密整個資料庫,包括讀取每位用戶的生物模板、加密金鑰與 SID 綁定關係。攻擊者因此可以:解密某用戶的模板、注入自己的生物特徵資料、重新加密並更新資料庫中的雜湊完整性標頭,使系統在下次人臉辨識時,將攻擊者的臉識別為被攻擊用戶。在現場演示中,研究員以本地管理員身份執行工具,成功將自己的臉替換進另一位研究員的帳戶模板,隨後在網域環境中以對方身份完成 Windows Hello 登入。

緩解方向有兩個層次。硬體層面,應啟用 ESS(Enhanced Sign-in Security)模式,它利用 Hypervisor 的 VTL1 隔離環境運行獨立的生物辨識服務,VTL0 的管理員即使取得系統權限也無法存取 VTL1 的記憶體,從根本阻斷此攻擊路徑;但此模式需要支援安全感測器的攝影機硬體(通常為 Intel 平台),AMD 平台目前尚不支援。軟體層面,若無法啟用 ESS,建議每台客戶端僅允許一位用戶登記生物辨識(縮小攻擊面)、改以 PIN 碼驗證替代(PIN 提供密碼學熵,並受 TPM anti-hammering 機制保護),並對 WinBio 服務的資料庫存取行為進行監控告警。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web2 安全」的內容

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car
7 min
Web2 安全英文PODCAST8月25日

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car

SANS Stormcast

  • PNG 容器攻擊的簡易性設計:Double Cup 不依賴複雜的 Exif 或隱寫技術,只用 PNG 副檔名和檔頭來偽裝,核心是利用 findstr 指令的常見可用性讓執行變得無需額外工具。
  • Web Audio API 的隱密指紋識別:音訊於增益零的無聲狀態下播放,使用者完全無感,但錄製波形足以建立裝置特徵,在瀏覽器原生功能層面難以區分是反詐欺還是過度追蹤。
  • 域名過期引發的串聯漏洞:DMARC 報告端點使用過期域名是常見疏漏,允許攻擊者透過簡單的域名註冊取得他人的 SPF/DKIM 錯誤報告,進而收集目標系統配置情報。
Risky Bulletin: Expired credit cards can be used for malicious transactions
5 min
Web2 安全英文PODCAST8月24日

Risky Bulletin: Expired credit cards can be used for malicious transactions

Risky Business

  • 支付安全的非對稱風險:Visa卡利用未加密的卡片資料與NFC通訊,攻擊者可藉由中間人技術竄改過期日期進行交易,但MasterCard、美運卡與Discover的防護更完善,顯示不同發卡機構的安全架構存在明顯差異。
  • 國家級駭客活動的連鎖延伸:北韓Lazarus集團在2月單一事件已累積100名受害者,涵蓋大學、警察部門、媒體與醫療機構,伊朗駭客則針對基礎建設如電力系統發動破壞性攻擊,反映地緣政治在網路戰爭中的升溫。
  • AI加速漏洞生態的雙面刃:AI工具催生近2萬份漏洞概念驗證代碼發布,但同時也導致大量失效漏洞代碼氾濫,增加資安團隊甄別真實威脅的難度;Mayer Protocol遭攻擊事件中,駭客用AI鏈接六個無關的小漏洞完成盜竊170萬美元的攻擊。
SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware
5 min
Web2 安全英文PODCAST8月24日

SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware

SANS Stormcast

  • Microsoft EntraID 的遠端代碼執行漏洞已由微軟修補,初期報告顯示已遭利用但後來更正為未遭利用。這反映 Microsoft 在雲端軟體安全上的透明度提升,對漏洞採用與內部軟體相同的 CVE 編號和公告流程。
  • PowerShell 指令碼可用於驗證 MFA 部署完整性,特別是找出未啟用 MFA 的遺漏帳號。同時可以分析 EntraID 登入日誌中的異常行為,如風險係數評估和地理位置檢測,幫助組織快速識別可疑登入。
  • GitLab 的 GraphQL 代碼注入漏洞允許未認證攻擊者刪除或修改儲存庫,潛在導致供應鏈攻擊。已有公開概念驗證 (PoC) 存在,使用內部部署 GitLab 的組織必須立即修補。