Password Spraying(パスワードスプレー攻撃)とは、攻撃者が1つまたは数種類のよく使われるパスワードを
多数のアカウントに対して繰り返し試すことで、アカウントを不正に突破する攻撃手法です。
ブルートフォース攻撃の一種ですが、従来の総当たり攻撃とは異なり、
アカウントロックを回避するために対象を分散して試行するのが特徴です。
特に企業のメールサーバーやVPNを狙った攻撃が多発しており、同時セッション脆弱性やログイン脆弱性を悪用される原因となっています。
実際のデータ漏洩事例
2022年、米国の大手大学では、攻撃者が「Password123」や「Welcome2022」などの単純なパスワードを
数千の大学メールアカウントに対してスプレーし、約1,800件のアカウントを乗っ取りました。
被害はメール情報の漏洩にとどまらず、Google Drive、Slack、内部学務システムへの不正アクセスへと発展し、
数百万件の機密情報が流出する結果となりました。
攻撃者による悪用方法
Password Spraying は以下の流れで実行されます:
- 漏洩済みまたは推測されやすいユーザー名リストを収集
- 「123456」「Welcome1」「Password!」などの一般的なパスワードを1つずつ大量のアカウントに試行
- ロックされないよう時間をあけながら断続的に実行(例:1時間に1回)
- 認証に成功したアカウントで機密情報やシステムにアクセス
なぜ危険なのか?
- 検出が困難:1つのアカウントに対して数回しかログイン試行しないためセキュリティログで気づきにくい
- 成功率が高い:パスワード再利用や弱いパスワード設定が多い企業環境に効果的
- 低コストで大規模:数百アカウントを簡単にスキャン可能
脆弱なコードの例
// ログイン失敗回数の制限がアカウント単位のみ if (authService.login(username, password)) { session.setAttribute("user", username); response.sendRedirect("/dashboard"); } else { loginAttemptService.record(username); response.sendRedirect("/login?error=true"); }
安全な実装例
// IPアドレス単位のレート制限 + アカウント単位のロックアウト String ipAddress = request.getRemoteAddr(); if (loginAttemptService.isBlocked(ipAddress)) { response.sendError(429, "Too many requests from this IP."); return; } if (authService.login(username, password)) { loginAttemptService.clearAttempts(ipAddress); session.setAttribute("user", username); response.sendRedirect("/dashboard"); } else { loginAttemptService.recordFailedAttempt(ipAddress); response.sendRedirect("/login?error=true"); }
Password Spraying 対策
- 多要素認証(MFA)の導入:認証突破後の操作制限
- 強力なパスワードポリシー:パスワード長、記号、更新サイクル
- アカウント・IP単位のレート制限(例:1時間あたり5回)
- サインインの失敗回数に応じたCAPTCHAの出現
- 不審なログイン試行の検知と通知(SIEM、ログ分析)
- 共通パスワードのブラックリスト化(例:「123456」など)
企業に与える影響
Password Spraying によるアカウント乗っ取りは、単なる個人情報の漏洩にとどまらず、
内部システムの改ざんやランサムウェア感染、サプライチェーン攻撃にも繋がるリスクがあります。
特に同時セッションの可視化と管理を怠っている企業は、複数の端末・拠点から攻撃を受けた際に
被害の発見と封じ込めが遅れる傾向があります。
まとめ
Password Spraying は、現代のWebセキュリティにおいて見逃せない脅威です。
特にリモートワーク環境やクラウドサービスを多用する企業では、
セキュアな認証基盤の構築と平常時からのアクセス監視体制の強化が不可欠です。
弱いパスワードを排除し、防御の多層化を徹底することが、
組織全体のサイバーセキュリティレベルを引き上げる鍵となります。
キーワード: Password Spraying, パスワードスプレー, ブルートフォース, アカウント乗っ取り, ログイン脆弱性, セッション管理, 多要素認証, サイバー攻撃, 認証セキュリティ, データ漏洩対策, クラウドセキュリティ, API保護, ログイン制限, サイバーセキュリティ