「自分はパスワードを使い回していないし大丈夫」と思っていても、社内の誰かが同じパスワードを複数サービスで使っていれば、そこが突破口になります。パスワードリスト攻撃は、過去の情報漏えいで流出したIDとパスワードの組み合わせを使い、別のサービスに片っ端からログインを試みる攻撃です。
総務省の「不正アクセス行為の発生状況」によると、不正ログインの原因として「他人のID・パスワードを利用」が毎年上位を占めており、その多くがパスワードの使い回しに起因しています。ブルートフォース攻撃(総当たり攻撃)と違い、実際に使われたことのある認証情報を使うため、成功率が桁違いに高いのが特徴です。
この記事では、パスワードリスト攻撃の仕組み・実際の被害パターン・具体的な防御策について、中小企業の情シスでも明日から実践できるレベルで解説します。

パスワードリスト攻撃とは?なぜ今も被害が絶えないのか
パスワードリスト攻撃(Credential Stuffing)とは、過去の情報漏えい事件で流出した「メールアドレスとパスワードの組み合わせリスト」を使い、別のWebサービスやシステムに自動でログインを試みる攻撃手法です。「クレデンシャルスタッフィング」「アカウントリスト攻撃」とも呼ばれます。
この攻撃が厄介な理由は3つあります。
・正規の認証情報を使う: ブルートフォース攻撃のようにランダムな文字列を試すのではなく、実際に人間が設定したID・パスワードの組み合わせを使うため、成功率が0.1〜2%と高い
・リストが大量に出回っている: ダークウェブ上では数十億件規模の流出認証情報がリスト化されて売買・共有されている。攻撃者が入手するコストは極めて低い
・正常なログインと区別しにくい: 1つのIDに対して1回のログイン試行しか行わないため、アカウントロックやレート制限をすり抜けやすい
ブルートフォース攻撃が「鍵の番号を1番から順に全部試す泥棒」だとすれば、パスワードリスト攻撃は「他のマンションから盗んだ合鍵を使い回す泥棒」です。合鍵が合うかどうかだけを試すので、1回の試行で突破される可能性があります。
攻撃の仕組み ― パスワードリスト攻撃はどのように実行されるのか
パスワードリスト攻撃のフローを順を追って見ていきましょう。
1. 流出した認証情報リストを入手する
攻撃の起点は、過去の情報漏えい事件で流出したメールアドレスとパスワードの組み合わせリストです。大規模な漏えい事件が起きるたびにリストは蓄積され、複数のリストを統合した「コンボリスト」と呼ばれる巨大なデータベースがダークウェブ上で流通しています。
これらのリストには、平文(暗号化されていないそのまま)のパスワードだけでなく、弱いハッシュから復元されたパスワードも含まれています。
2. 自動化ツールで大量のログイン試行を実行する
攻撃者は専用のツールを使い、標的のWebサービスに対してリスト内のID・パスワードの組み合わせを次々と試行します。1秒間に数百〜数千件のログイン試行を行うものもあります。
ツールには以下のような回避機能が組み込まれていることが多いです。
・IPアドレスのローテーション: プロキシやボットネットを使い、1つのIPアドレスからの試行回数を抑えてレート制限を回避する
・ブラウザ挙動の模倣: User-AgentやCookieを操作し、人間のブラウザアクセスに見せかける
・CAPTCHAの突破: OCRサービスや人間によるCAPTCHA解読サービスを経由して、画像認証を突破する
3. ログイン成功したアカウントを悪用する
ログインに成功したアカウントは「有効なアカウント」として別のリストにまとめられ、不正送金・個人情報の窃取・ポイントの不正利用・さらなる攻撃の踏み台として悪用されます。攻撃者自身が使うだけでなく、「ログイン済みアカウント」として転売されるケースもあります。

パスワードリスト攻撃による被害事例
パスワードリスト攻撃による被害は国内でも数多く報告されています。代表的なパターンを見てみましょう。
| 被害パターン | 具体例 | 影響度 |
|---|---|---|
| ポイント・電子マネーの不正利用 | ECサイトやポイントサービスで、貯まったポイントを攻撃者のアカウントに移行される。数千万円規模の被害も報告されている | 重大 |
| 個人情報の閲覧・窃取 | 氏名・住所・電話番号・クレジットカード情報の一部が閲覧され、フィッシング詐欺やなりすましの材料にされる | 重大 |
| 不正注文・不正送金 | ECサイトで登録済みの決済手段を使って商品を購入される。金融サービスでは口座から不正に送金される | 重大 |
| 企業システムへの侵入 | 社員が私用サービスと同じパスワードを業務システムに設定していた場合、VPNやメール、グループウェアに不正ログインされる | 致命的 |
| アカウントの乗っ取り・転売 | ゲームアカウントやSNSアカウントが乗っ取られ、スパム送信や詐欺の踏み台にされる | 高 |
国内の有名サービスでも、数十万〜数百万件のアカウントに対するパスワードリスト攻撃が公表されており、決して他人事ではありません。特に、従業員が業務システムと私用サービスでパスワードを使い回している場合、私用サービス側の漏えいが直接的に社内システムへの侵入経路になります。
具体的な防御手順
パスワードリスト攻撃の防御は「パスワードの使い回しを前提とした対策」が基本です。利用者側と管理者側の両面で対策を講じる必要があります。
1. 多要素認証(MFA)を導入する
パスワードリスト攻撃に対する最も効果的な防御策は、多要素認証(MFA)の導入です。パスワードが一致しても、スマートフォンのワンタイムパスコードや生体認証など「パスワード以外の要素」が求められるため、流出したパスワードだけでは突破できません。
導入の優先度が高いサービスを整理します。
・最優先: VPN、メール、グループウェア、クラウドストレージなど業務の中核システム
・優先: 管理画面(CMS・サーバー管理・ドメイン管理)
・推奨: 社員が業務で使うSaaSサービス全般
Google AuthenticatorやMicrosoft Authenticatorなどのアプリベースのワンタイムパスコードであれば、追加コストなしで導入できます。SMS認証よりもアプリ認証の方がSIMスワップ攻撃(SIMカードの不正再発行)に強く、より安全です。
2. パスワードポリシーを見直す
「定期的なパスワード変更」を強制するルールは、かえってパスワードの使い回しや単純化を招くことがNIST(米国国立標準技術研究所)のガイドラインでも指摘されています。現在推奨されているパスワードポリシーは以下の方針です。
・長さ重視: 最低12文字以上。可能であればパスフレーズ(単語を組み合わせた長い文字列)を推奨する
・定期変更は不要: 漏えいが疑われる場合にのみ変更を求める
・漏えい済みパスワードの排除: Have I Been Pwnedなどの流出パスワードデータベースと照合し、登録時点で漏えい済みのパスワードを拒否する
3. ログイン試行の監視とレート制限を実装する
パスワードリスト攻撃は「1アカウントに1回だけ試行する」パターンが多いため、同一アカウントへの連続失敗を検知するブルートフォース対策だけでは不十分です。以下の観点で監視を強化しましょう。
・同一IPアドレスからの大量ログイン試行: 短時間に多数の異なるアカウントへのログインが試みられていないかを監視する
・地理的に不自然なログイン: 普段と異なる国や地域からのログインを検知し、追加認証を要求する
・ログイン失敗率の急増: 通常時と比較してログイン失敗率が急上昇していないかを監視する
nginxでの基本的なレート制限の設定例です。
# nginx: ログインエンドポイントへのレート制限 # http ブロックにゾーン定義を追加 limit_req_zone $binary_remote_addr zone=login:10m rate=5r/m; # server ブロック内のログインパスに適用 location /wp-login.php { limit_req zone=login burst=3 nodelay; # 1分あたり5リクエストまで、バースト3件まで許容 }
4. CAPTCHAやボット対策を導入する
ログインフォームにCAPTCHAを導入することで、自動化ツールによる大量試行を抑制できます。ただし、CAPTCHAだけに頼るのは危険です。解読サービスや高精度のOCRによって突破される可能性があるため、MFAやレート制限と組み合わせて多層防御を構築しましょう。
reCAPTCHA v3のように、ユーザーの操作を妨げずにバックグラウンドでボット判定を行うタイプであれば、ログインのユーザー体験を損なわずに導入できます。
中小企業でも今日からできること
パスワードリスト攻撃への対策は、大規模なシステム改修がなくても始められます。費用をかけずに効果が高い対策から優先的に導入しましょう。
| 対策 | 内容 | コスト |
|---|---|---|
| MFAの有効化 | Google Workspace、Microsoft 365、VPN等の業務システムでMFAを有効化する。アプリ認証なら無料 | 無料 |
| パスワードマネージャーの導入 | Bitwarden(無料プランあり)やKeePassなどを全社展開し、サービスごとに異なるパスワードを使う運用を定着させる | 無料〜低 |
| 漏えいチェックの定期実施 | Have I Been Pwnedで自社ドメインのメールアドレスが漏えいリストに含まれていないか定期的に確認する | 無料 |
| ログイン監視の強化 | 業務システムのログイン失敗ログを定期的に確認し、異常な試行パターンを早期発見する | 無料 |
| 社員教育 | 「パスワードの使い回しがなぜ危険か」を具体的な被害事例とともに共有し、パスワードマネージャーの使い方を教える | 無料 |
特に効果が高いのは「MFAの有効化」と「パスワードマネージャーの導入」の2つです。MFAがあれば、たとえパスワードが流出していても突破されません。パスワードマネージャーがあれば、そもそもパスワードの使い回しが発生しなくなります。
Have I Been Pwnedでの確認は、以下のURLから自社ドメインのメールアドレスを入力するだけで実行できます。管理者向けには「Domain Search」機能があり、自社ドメイン全体の漏えい状況を一括で確認できます。
よくある誤解と注意点
【注意】「パスワードを定期変更しているから安全」は逆効果になり得る
パスワードの定期変更を義務づけると、社員はルールに対応するために「末尾の数字を1つ増やすだけ」「季節名+年号」のような安易なパターンに陥りがちです。NISTのガイドライン(SP 800-63B)では、定期変更の強制は推奨されておらず、「漏えいが確認された場合にのみ変更を求める」方針が示されています。
【注意】「アカウントロックを設定しているから大丈夫」ではない
「ログイン失敗5回でアカウントロック」のような設定は、ブルートフォース攻撃には有効ですが、パスワードリスト攻撃に対しては効果が限定的です。パスワードリスト攻撃は1つのアカウントに1回しか試行しないため、ロック条件に引っかかりません。逆に、攻撃者が意図的にアカウントロックを発生させてサービス妨害を狙う「アカウントロックアウト攻撃」のリスクもあるため、ロック時間の設定やMFAとの併用が重要です。
【注意】「自社サービスから漏えいしていないから関係ない」は通用しない
パスワードリスト攻撃で使われる認証情報は、自社から漏えいしたものとは限りません。まったく無関係な外部サービスから流出したパスワードが、自社システムへのログインに使われます。自社のセキュリティがどれだけ堅牢でも、利用者がパスワードを使い回していれば攻撃は成立します。だからこそ、MFAの導入が不可欠なのです。

本記事のまとめ
パスワードリスト攻撃は、過去の情報漏えいで流出した認証情報を使って別のサービスにログインを試みる攻撃手法です。正規のID・パスワードの組み合わせを使うため、ブルートフォース攻撃よりも成功率が高く、正常なログインと区別しにくいという厄介な特徴を持っています。
防御の基本は「パスワードが漏れた前提」で備えることです。MFAの導入でパスワード単体での突破を防ぎ、パスワードマネージャーの全社展開で使い回しの根本原因を断つ。この2つを軸に、レート制限や監視を加えた多層防御を構築しましょう。
| 脅威 | 対策 | 優先度 |
|---|---|---|
| 流出パスワードによるログイン突破 | 多要素認証(MFA)の導入 | 最優先 |
| パスワードの使い回し | パスワードマネージャーの全社展開 | 最優先 |
| 自動化ツールによる大量試行 | レート制限 + CAPTCHA導入 | 高 |
| 流出状況の把握不足 | Have I Been Pwnedでの定期確認 | 高 |
| 社員のセキュリティ意識不足 | パスワード使い回しのリスクを社員教育で共有 | 中 |
ブルートフォース攻撃の仕組みと対策については、本サイトの関連記事で詳しく解説しています。パスワードリスト攻撃との違いを理解しておくと、認証セキュリティの全体像が見えてきます。また、多要素認証(MFA)の具体的な導入手順については「多要素認証(MFA)とは?仕組みと導入手順をわかりやすく解説」もあわせてご覧ください。
Linuxサーバーの認証強化やPAM設定によるパスワードポリシーの実装については、姉妹サイトLinuxMaster.JPで詳しく解説しています。
自社の認証情報、すでに漏えいしていませんか?
パスワードリスト攻撃は「気づいたときには手遅れ」になりやすい攻撃です。MFAの導入やパスワードポリシーの見直しを、今日から始めてみませんか。
正しいセキュリティ知識を体系的に身につけたい方へ、メルマガで実践的なセキュリティ対策ノウハウをお届けしています。


コメント