密碼破解
📌 想像每個帳號都是一把門鎖
暴力破解 → 有人不停試所有可能的鑰匙直到打開門
撞庫 → 有人拿了從別人那裡偷來的一堆鑰匙去嘗試別人的門,看哪把鑰匙能用
密碼噴灑 → 像有人用少數常見鑰匙(如 123456
)去試很多不同的門,希望某些門恰好開了
📌 重複使用密碼、弱密碼、系統沒差別化防護,容易為易攻擊對象
攻擊方
-
偵察:收集目標服務的登入端點、API、常見輸入格式與限制(速率、回傳訊息)。
-
工具:
- Brute-force:Hydra、Burp Intruder、custom scripts(對單帳號暴力嘗試)。
- Credential stuffing:使用有清單的帳密(從資料外洩買來或公開洩露)搭配自動化工具(Sentry MBA、Snipr、custom tools)。
- Password spraying:簡單腳本或 Burp 的自動化配置,針對大量帳號用少量常見密碼嘗試。
-
技巧:使用代理池/殭屍主機分散流量、快慢混合、避開速率限制與 IP 黑名單、利用 API 與手機 App 弱點規避 CAPTCHA。
-
目標:取得可用憑證後做 ATO(帳號接管)、金融詐騙、散播垃圾、或建立後門。
防禦方
-
強制多因素驗證(MFA) — 不依賴 SMS 單一因素,採用 TOTP / Push / FIDO2
-
速率限制與分佈式節流 — 針對 IP/裝置/帳號設定合理的速率閾值與逐步延遲(exponential backoff)
-
阻擋撞庫:
- 檢查登入憑證是否出現在已知洩漏名單(Have I Been Pwned API / 自建 DB)
- 對來自可疑來源或已知代理池的流量進行更高強度驗證
-
密碼策略與密碼管理:
- 禁用超常見密碼(blacklist)與強制最小長度/複雜性或採用 passphrase
- 推薦並支援密碼管理器(避免人為重複密碼)
-
Device fingerprinting / risk-based auth — 根據裝置指紋、IP 地理位置、行為基線決定是否 step-up
-
監控與情資 — 整合 SIEM:偵測大量失敗登入、短時間內跨帳號的相同密碼失敗模式、IP reputation、暴力嘗試指標
-
伺服器端安全 — 密碼以強鹽與慢 hash儲存、限制登入 API 的回傳資訊
偵測指標
- 突然的大量失敗登入(短時內多 IP)
- 相同密碼在大量帳號上嘗試
- 同一來源 IP 在多個帳號上嘗試登入
- 登入來源地點/裝置突變(UBA 異常)
- API token/Session 在異常地點使用
應變
-
臨時提高防護:啟用更嚴格速率限制、CAPTCHA、關閉無必要的登入 API
-
通知與鎖定:對疑似受害帳號執行暫停、強制重設密碼、發送安全通知(包含如何回應與客服聯絡資訊)
-
取證日誌保存:保留完整登入請求/回應、IP、User-Agent、時間戳供後續分析
-
移除洩露憑證的使用:若撞庫來源可追溯到洩露資料庫,批次強制重設受影響用戶
-
長期改進:更新黑名單、調整策略、擴展 MFA 覆蓋、訓練客服辨識社工詐騙
結論
📌 使用者往往重複使用密碼或選擇弱密碼
攻擊工具與洩露資料庫使得攻擊成本極低
防守端以 MFA 與風險式驗證為核心
速率限制、密碼黑名單與行為分析來阻斷自動化攻擊
在服務端以強鹽與慢雜湊儲存密碼並限制登入回傳訊息
早發現攻擊並觸發 step-up 措施,將損害降至最低