パスワード攻撃の全体像

T1110 ブルートフォース

パスワード攻撃は TA0006 認証情報アクセス タクティクスの中核をなす手法です。多くのサービスが依然としてパスワード認証に依存しているため、攻撃者にとって有力な侵入経路となっています。

攻撃手法の比較

主要なパスワード攻撃手法の比較
手法説明検知難易度対策
辞書攻撃一般的な単語・パスワードリストを試す中(大量の試行が発生)強力なパスワードポリシー
ブルートフォースすべての文字の組み合わせを試す低(大量・高速な試行)アカウントロックアウト
パスワードスプレー少数のパスワードを多数アカウントに試す高(低頻度試行)異常ログイン監視
クレデンシャルスタッフィング漏えいした認証情報を別サービスで試す高(正規ユーザーに見える)MFA・パスワードリセット通知

辞書攻撃(Dictionary Attack)

一般的なパスワード・単語・過去の漏えいパスワードリストを順番に試します。

なぜ有効か: 多くのユーザーが推測可能なパスワードを使用しています。

  • password, 123456, qwerty がいまだに最多使用パスワード
  • company2024! のような予測可能なパスワードパターン
  • 生年月日・名前・ペットの名前

防御策:

  • Have I Been Pwned などの漏えいパスワードデータベースとの照合
  • NIST SP 800-63Bに基づく「連続した文字・既知のパスワードの禁止」
  • パスワードマネージャーの使用推奨(ランダムな長いパスワード生成)

パスワードスプレー(Password Spray)

アカウントロックアウトを回避するため、1つのパスワードを多数のアカウントに試す手法です。

通常の攻撃: 1アカウント × 1000パスワード → すぐにロック
スプレー:   1000アカウント × 1パスワード → ロックされにくい

攻撃者の視点からの狙い:

  • 組織のメールアドレスをOSINTで収集
  • Spring2025! など「よくある季節+年+記号」パスワードを試す
  • クラウドサービス(Office 365, Google Workspace)への認証試行
パスワードスプレーの検知が難しい理由

各アカウントへの試行が少ないため、通常のアカウントロックアウト機能では検知できません。SIEMによる横断的な認証失敗パターンの監視が必要です。「多数のアカウントが同じ時刻に1〜2回認証失敗」というパターンがシグネチャです。

クレデンシャルスタッフィング(Credential Stuffing)

過去のデータ侵害で漏えいした実際のID・パスワードの組み合わせを、別のサービスに試す攻撃です。

なぜ有効か: パスワードの使い回しが蔓延しているため。

  • Verizon DBIR 2024によると、侵害の61%でパスワードの使い回しが関与

攻撃の流れ:

  1. ダークウェブから漏えいした認証情報を入手
  2. Sniperスクリプトや専用ツールで自動化して試行
  3. ヒットしたアカウントをリスト化して悪用

防御策:

  • MFAの強制 — パスワードが漏れていても侵害を防止
  • HIBP API連携 — アカウント作成・ログイン時に漏えいパスワードを確認
  • 行動分析 — IPアドレス・デバイス・地理的位置の異常検知
  • CAPTCHA — 自動化ツールによる大量試行の阻止

安全なパスワードポリシー設計

NIST SP 800-63B(2024年版)の推奨事項:

旧来の考え方(非推奨)NIST推奨(現代のベストプラクティス)
定期的な変更(90日ごと)漏えい時のみ変更を求める
複雑性ルール(大文字+数字+記号必須)最小文字数(8文字以上)を重視
パスワードのヒントを表示ヒント機能は廃止
セキュリティの質問SMSより認証アプリやハードウェアキーを推奨
パスフレーズの有効性

correct-horse-battery-staple のようなパスフレーズは、P@ssw0rd! より安全です。長さが増すと総当たりに必要な計算量が指数的に増加します。記憶しやすく、エントロピーが高い点が優れています。


理解度チェック

パスワードスプレー攻撃が通常のブルートフォースより検知しにくい理由はどれですか?