Luke a Pro

Luke Sun

Developer & Marketer

🇺🇦
EN||

憑據填充攻擊 (撞庫)

| , 1 minutes reading.

1. 定義

憑據填充 (Credential Stuffing) 是暴力破解攻擊的一個子集。攻擊者將從第三方洩漏資料庫中獲得的用戶名和密碼對,自動注入到目標應用的登入表單中。

與傳統的暴力破解(如猜測 “password123”)不同,這種攻擊基於一個統計學事實:用戶通常會在多個服務中重複使用相同的密碼。如果用戶的 LinkedIn 密碼洩漏了,攻擊者就會將該憑據「填充」到銀行、醫療或零售網站中。

2. 技術原理

這屬於一種 自動化威脅 (Automated Threat) (OAT-008)。

  1. 來源: 攻擊者從暗網獲取「庫(Combolists)」(即 電子郵件:密碼 的洩漏名單)。
  2. 引擎: 使用 Sentry MBA 等工具或自定義腳本,通過住宅 IP 代理網路發送請求,以繞過簡單的 IP 封鎖。
  3. 執行: 機器人程式針對目標網站測試憑據。
  4. 結果: 有效的登入被分類為「Hits」,隨後被轉賣或直接用於欺詐。

3. 攻擊流程

flowchart TD
    Breach[網站 A 發生洩漏] -->|洩漏數據| DB[(帳號密碼資料庫)]
    DB --> Bot[自動化攻擊機器人]
    
    Bot --"嘗試 user@email.com / P@ss123"--> Target[目標網站 B]
    
    Target --"200 OK (登入成功)"--> Bot
    
    Bot --> Hits[(有效帳號列表)]
    Hits --> Takeover[帳號接管 / 欺詐]

    Target -.-> Note>"用戶是真實的,<br/>密碼也是正確的。<br/>系統無法識別這是機器人。"]

4. 真實案例:23andMe (2023)

目標: 23andMe (基因檢測服務)。 漏洞類別: 缺乏憑據填充保護(雙因素認證 MFA 僅為可選)。

事件經過: 2023 年底,攻擊者訪問了 690 萬用戶的帳號。值得注意的是,23andMe 的系統本身並未被入侵。 攻擊者利用從其他平台洩漏的有效憑據,登入了那些重複使用密碼的 23andMe 帳號。 進入帳號後,他們抓取了「DNA 親屬」數據。這意味著即使許多用戶本身並未被直接撞庫,但因為其親屬的帳號被盜,其基因隱私也遭到了洩漏。

影響: 引發了大規模的隱私訴訟。這證明了**「用戶錯誤」(重複使用密碼)也是系統問題**,如果平台不強制執行 MFA 或檢測撞庫行為,就必須承擔責任。

5. 深度防禦策略

A. 多因素認證 (MFA)

這是防禦撞庫的「銀彈」。即使攻擊者擁有從其他洩漏中獲得的正確密碼,他們也無法通過簡訊、TOTP 挑戰或硬體金鑰。

  • 最佳實踐: 對所有用戶強制執行 MFA,或至少使用「自適應 MFA」(僅針對可疑登入發起挑戰)。

B. 已洩漏密碼檢查 (Breached Password Protection)

在登入或註冊時,檢查用戶密碼是否已存在於已知的洩漏資料庫中。

  • 工具: 使用 Have I Been Pwned (HIBP) API 或類似服務。
  • 機制: 如果用戶嘗試使用(或正在使用)已知的受損密碼,則強制其重置密碼。
  • NIST 指南: NIST 800-63B 明確建議對照洩漏庫檢查用戶密碼。

C. 設備指紋與行為分析

識別登入請求是否來自腳本機器人。

  • 信號:
    • 無頭瀏覽器 (Headless Browser) 的 User-Agent 特徵。
    • 不一致的 IP 地理位置(如 5 分鐘前在美國登入,現在在俄羅斯登入)。
    • 滑鼠移動遙測(機器人通常以直線移動,或根本沒有移動軌跡)。

6. 參考資料