パスワードリスト攻撃とは、他のWebサービスなどから漏えいしたID・メールアドレスとパスワードの組み合わせを使い、別のサービスへログインを試す攻撃です。
英語では「Credential Stuffing」と呼ばれます。攻撃者は、パスワードをゼロから推測するのではなく、すでに漏えいした認証情報を再利用します。そのため、同じパスワードを複数サービスで使い回している利用者が特に狙われやすくなります。
30秒でわかる結論
- パスワードリスト攻撃は、漏えい済みID・パスワードを別サービスで試す攻撃
- ブルートフォース攻撃は、1アカウントに多数のパスワード候補を試す攻撃
- パスワードの使い回しが最大の弱点
- 長く固有のパスワードをサービスごとに分ける
- パスワードマネージャーを使うと使い回しを防ぎやすい
- 多要素認証(MFA)を有効にすると、認証情報が漏れても突破されにくくなる
- 不審なログイン通知・端末・IP・地域の変化を監視する
- サービス運営側はレート制限・Bot対策・漏えい済みパスワード検知などを組み合わせる
- IPアドレスの遮断だけでは分散攻撃に対応しきれない
パスワードリスト攻撃とは?
パスワードリスト攻撃は、過去に別サービスなどから漏えいした認証情報を使い、他のサービスでもログインできるか試す攻撃です。
イメージ
サービスAから漏えい:
user@example.com / PasswordA
↓
同じ組み合わせをサービスB・C・Dでも試す
利用者が同じメールアドレスとパスワードを複数サービスで使っていると、1つのサービスから漏えいしただけで別サービスまで乗っ取られる可能性があります。
攻撃の中心は「使い回し」
攻撃者がパスワードそのものを推測するより、すでに正しい可能性が高い認証情報を再利用するのが特徴です。
ブルートフォース攻撃との違い
パスワードリスト攻撃とブルートフォース攻撃は似ていますが、使う認証情報が違います。
| 項目 | パスワードリスト攻撃 | ブルートフォース攻撃 |
|---|---|---|
| 主な方法 | 漏えい済みID・パスワードを使う | 多数のパスワード候補を試す |
| 英語 | Credential Stuffing | Brute Force |
| 狙う弱点 | パスワードの使い回し | 短い・弱いパスワード |
| 攻撃対象 | 多数のアカウントになりやすい | 1アカウントへ集中する場合が多い |
| 主な対策 | 固有パスワード・MFA | 強いパスワード・試行回数制限 |
OWASPは、ブルートフォースを「1つのアカウントに対して複数のパスワードを試す攻撃」、Credential Stuffingを「他サイトの侵害で得たID・パスワードの組み合わせを試す攻撃」と整理しています。
パスワードスプレー攻撃との違い
似た認証攻撃に、パスワードスプレー攻撃があります。
| 攻撃 | 方法 |
|---|---|
| ブルートフォース | 1アカウントへ多数候補 |
| パスワードリスト攻撃 | 漏えい済みID・パスワードの組み合わせ |
| パスワードスプレー | 1つの弱いパスワードを多数アカウントへ試す |
覚え方
ブルートフォース:1人にたくさん試す
パスワードスプレー:たくさんの人に同じ候補を試す
パスワードリスト:漏えい済みの組み合わせを再利用する
なぜパスワードリスト攻撃が成立する?
主な原因は、同じ認証情報を複数サービスで使い回す利用者がいることです。
危険な使い回し例
レンタルサーバー管理画面:user@example.com / PasswordA
WordPress管理画面:user@example.com / PasswordA
Webメール:user@example.com / PasswordA
この場合、どれか1つのサービスから認証情報が漏れれば、残りのサービスでも同じ組み合わせを試される可能性があります。
強いパスワードでも使い回しは危険
20文字の複雑なパスワードでも、別サービスからその文字列自体が漏えいしていれば、同じパスワードを使う他サービスへ入力されるだけです。
どんな情報が悪用される?
攻撃では、過去の情報漏えいなどで外部へ流出した認証情報が使われます。
代表例
- メールアドレス
- ユーザー名
- パスワード
- 過去に使っていた認証情報
攻撃者はこうした情報を組み合わせて、他のサービスでもログインできないか自動的に試します。
被害が起きるとどうなる?
パスワードリスト攻撃が成功すると、対象サービスの権限に応じて被害が広がります。
主な被害
- WordPress管理画面の乗っ取り
- レンタルサーバー管理画面への不正ログイン
- メールアカウントの乗っ取り
- 顧客情報・個人情報の閲覧
- 不正購入・不正送金
- アカウント設定の変更
- パスワード変更による正規利用者の締め出し
特に、サーバー管理画面やメールアカウントを奪われると、WordPressだけでなくドメイン・メール・バックアップなど複数の資産へ影響する可能性があります。
対策1.パスワードを使い回さない
最も重要な対策は、サービスごとに異なるパスワードを設定することです。
安全な考え方
レンタルサーバー:Password-A
WordPress:Password-B
メール:Password-C
実際には、推測できない長いランダム文字列を使います。
1サービス漏えいしても被害を分離できる
パスワードを分けておけば、1つのサービスから認証情報が漏れても、同じ情報で他サービスへログインされる危険を減らせます。
対策2.パスワードマネージャーを使う
サービスごとに長いパスワードを覚えるのは現実的ではありません。
そのため、パスワードマネージャーを使ってサービスごとに異なるパスワードを生成・保存します。
メリット
- サービスごとに別パスワードを使える
- 長いランダム文字列を作れる
- 使い回しを減らせる
- 入力ミスを減らせる
マスターパスワードは特に重要
パスワードマネージャー自体も重要なアカウントです。長く固有のマスターパスワードとMFAを設定してください。
対策3.多要素認証を有効にする
パスワードリスト攻撃に対して特に有効なのが、多要素認証(MFA)です。
OWASPは、Credential Stuffingを含むパスワード関連攻撃への最も強力な対策の1つとしてMFAを挙げています。
例
メールアドレス+パスワード
+
認証アプリ・パスキー・セキュリティキーなど
攻撃者が正しいID・パスワードを持っていても、追加要素を持っていなければログインを防げる可能性が高くなります。
パスキーは有効?
対応サービスでは、パスキーも有力な選択肢です。
パスキーは共有秘密であるパスワードをサービス間で使い回す仕組みではないため、パスワードリスト攻撃の前提を崩しやすい認証方式です。
対応していれば優先候補
レンタルサーバーや管理サービスがパスキー・セキュリティキー等へ対応している場合は、管理者アカウントでの利用を検討してください。
対策4.漏えい済みパスワードを使わせない
サービス運営側では、既知の漏えいパスワードを新規設定・変更時に拒否する仕組みも有効です。
NIST SP 800-63B-4では、認証サービス側がパスワード設定時に、一般的・予測可能・侵害済みと判断される値をブロックリストと照合する考え方を採用しています。
複雑さだけを見るより「漏れていないか」も重要
大文字・小文字・数字・記号を必須にしても、そのパスワード自体がすでに広く漏えいしていれば安全とは言えません。
対策5.ログイン通知を有効にする
対応サービスでは、新しい端末・地域・IPアドレスからのログイン通知を有効にします。
通知で確認すること
- 見覚えのない端末
- 見覚えのない地域
- 深夜など普段と違う時間帯
- パスワード変更通知
- MFA設定変更通知
攻撃を完全に防ぐ機能ではありませんが、侵害を早期発見しやすくなります。
対策6.レート制限を使う
サービス運営側では、短時間に大量のログイン試行を受けたときにレート制限を行います。
ただしパスワードリスト攻撃では、多数のIPアドレスから少量ずつ試す分散攻撃もあるため、単純な「1IPにつき○回」だけでは十分でない場合があります。
IPブロックだけに頼らない
OWASPも、Credential Stuffingではプロキシや多数のIPを使って分散される場合があり、IP単位の制限だけを主防御にしないよう案内しています。
対策7.CAPTCHA・Bot対策を組み合わせる
CAPTCHAやBot判定は、自動ログイン試行を減らす補助策として使えます。
常時表示しなくてもよい
新しい端末・異常な地域・短時間の大量試行など、リスクが高いログインだけ追加認証を要求する方法もあります。
OWASPもCAPTCHA単独では十分でないため、MFA・レート制限・IP情報・端末情報などと組み合わせるよう案内しています。
会社サイトでは管理者アカウントを分ける
複数人で1つの共通ID・パスワードを使うと、誰から漏れたか分からず、退職者のアクセス停止も難しくなります。
会社運用の基本
- 担当者ごとに個別アカウントを作る
- 必要最低限の権限だけ付ける
- 共有パスワードを配布しない
- 退職・異動時は即時停止する
- 管理者アカウントはMFA必須にする
WordPressで最低限やること
WordPress初心者向け
- 他サービスと同じパスワードを使わない
- 管理者ごとに個別アカウントを作る
- 二段階認証を有効にする
- ログイン試行制限を設定する
- 不審ログインを監視する
- 不要アカウントを削除する
- バックアップを確認する
WordPressのパスワードだけ変えて終わらない
同じパスワードをレンタルサーバー・メール・ドメイン管理でも使っていた場合は、すべて別の固有パスワードへ変更してください。
レンタルサーバー管理画面も重要
WordPressよりも、レンタルサーバーの管理画面の方が高い権限を持つ場合があります。
管理画面を乗っ取られると、Webサイトだけでなくメール・DNS・バックアップ・FTP・データベースなどへ影響する可能性があります。
優先してMFAを設定
レンタルサーバー・ドメイン管理・メール管理など、サイト全体を操作できるアカウントは特にMFAを有効にしてください。
メールアカウントも使い回さない
メールアカウントを乗っ取られると、パスワード再設定メールを利用して他のサービスまで奪われる可能性があります。
メールで優先すること
- メール専用の固有パスワード
- MFA
- 転送設定の確認
- 不審なログイン通知
- 不要なアプリパスワードの削除
漏えいした可能性がある場合の対応
自分の認証情報が漏えいした、または見覚えのないログインがあった場合は、早めに対応します。
パスワードを1つ変更しただけでなく、同じ文字列を使っていた他サービスをすべて洗い出すことが重要です。
パスワードは定期変更すべき?
理由なく毎月・90日ごとに変更するより、固有で長いパスワードを維持し、漏えい・不審ログインなどのリスクが発生したときに確実に変更する方が重要です。
NIST SP 800-63B-4では、パスワードの定期変更を一律に要求しない方針が示されています。
変更すべきタイミング
- 漏えいが判明した
- 見覚えのないログインがあった
- 同じパスワードを使い回していた
- 共有アカウントの担当者が退職した
- フィッシングサイトへ入力してしまった
複雑なパスワードなら使い回してよい?
いいえ。
パスワードリスト攻撃では「推測できるか」ではなく、「すでに漏えいしているか」が問題になります。
例
非常に複雑な20文字パスワード
↓
サービスAから漏えい
↓
サービスBでも同じ文字列を使用
↓
そのままログインされる可能性
複雑さと同時に、サービスごとに一意であることが重要です。
攻撃されているか確認する方法
サービス運営者は、ログイン履歴や認証ログを確認します。
疑う兆候
- 多数アカウントでログイン失敗が増える
- 複数地域から短時間に認証が発生する
- 多数IPから少量ずつ試行される
- 普段と違う端末から成功ログインがある
- MFA失敗が急増する
パスワードリスト攻撃は分散されることがあるため、単一IPのアクセス数だけでは見抜きにくい場合があります。
WAFだけで防げる?
WAFやCDNのBot対策は有効ですが、単独で完全に防げるとは限りません。
正しいID・パスワードの組み合わせを使う攻撃は、通常利用者のログインに近く見える場合があります。
固有パスワード + MFA + レート制限 + Bot対策 + 監視
複数の防御を組み合わせます。
IP制限だけで防げる?
管理画面を特定拠点からしか使わない場合、IP制限は強力です。
ただし一般ユーザー向けログインでは、多数の正規利用者がさまざまなIPからアクセスするため、単純なIP制限は使いにくくなります。
分散攻撃にも注意
OWASPは、Credential Stuffingで多数のプロキシIPを使う手法があるため、IPブロックだけを唯一の防御にしないよう案内しています。
利用者が最低限やること
この4つを優先
- 同じパスワードを複数サービスで使わない
- パスワードマネージャーを使う
- MFA・二段階認証を有効にする
- 不審なログイン通知を確認する
初心者はここまでで大きく改善
高度なBot判定を自分で構築する必要はありません。まず「使い回さない」「MFAを付ける」の2点だけでも、パスワードリスト攻撃への耐性は大きく上がります。
サービス運営者が追加でやること
運営側の対策
- MFAを提供する
- 管理者にはMFAを必須化する
- 漏えい済みパスワードを拒否する
- ログイン試行をレート制限する
- 異常な端末・地域・IPを検知する
- CAPTCHA・Bot対策を組み合わせる
- 不審ログインを利用者へ通知する
- 認証ログを保管・監視する
よくある間違い
避けたい考え方
- 複雑なパスワードなら使い回してよいと思う
- 毎月変更すれば使い回しでも安全だと思う
- IPブロックだけで完全に止められると思う
- CAPTCHAだけで十分だと思う
- WAFがあるからMFAはいらないと思う
- WordPressだけ別パスワードなら十分だと思う
- メールアカウントの安全性を軽視する
教科書判定
パスワードリスト攻撃対策の最優先は「使い回さない+MFA」
ブルートフォース対策ではパスワードの長さや試行回数制限が重要ですが、パスワードリスト攻撃では「すでに正しい認証情報が漏れている」前提で考える必要があります。
レンタルサーバー、WordPress、メール、ドメイン管理など、すべて別のパスワードを使い、パスワードマネージャーで管理してください。そのうえでMFAを有効にします。
会社サイトでは共有アカウントを減らし、担当者ごとの個別アカウント・MFA・退職時の即時停止まで運用に含めることが重要です。
FAQ
Q. パスワードリスト攻撃とブルートフォース攻撃の一番大きな違いは?
A. パスワードリスト攻撃は他サービスから漏えいした正しい可能性が高いID・パスワードを使います。ブルートフォース攻撃は、多数のパスワード候補を試して正解を探します。
Q. 複雑なパスワードなら複数サイトで使っても安全ですか?
A. いいえ。1つのサイトからそのパスワードが漏えいすれば、同じ文字列を使う別サービスでも試されます。サービスごとに異なるパスワードを使ってください。
Q. MFAを付ければパスワードは簡単でもよいですか?
A. いいえ。MFAは強力な追加防御ですが、パスワード自体も長く固有にするのが基本です。
Q. パスワードを定期的に変更すれば防げますか?
A. 定期変更だけでは使い回し問題を解決できません。固有パスワードを使い、漏えい・不審ログインなどのリスクが発生したときに確実に変更します。
Q. WordPressだけ対策すれば十分ですか?
A. いいえ。レンタルサーバー、メール、ドメイン管理など、より高い権限を持つアカウントも同様に固有パスワードとMFAで保護してください。
まとめ
漏えいした認証情報を他サービスで使わせないことが最重要
- パスワードリスト攻撃は漏えい済みID・パスワードを再利用する攻撃
- ブルートフォースとは攻撃方法が異なる
- 最大の弱点はパスワードの使い回し
- サービスごとに固有のパスワードを使う
- パスワードマネージャーを利用する
- MFA・二段階認証を有効にする
- 漏えい済みパスワードを避ける
- ログイン通知・認証ログを確認する
- IPブロックだけに頼らない
- 会社では個別アカウントと権限管理を徹底する
次に読む
「ブルートフォース攻撃とは?仕組みと対策を解説」「ログイン試行回数制限とは?不正ログイン対策を解説」「IP制限とは?アクセス制限の仕組みを解説」「サーバーのパスワードを安全に管理する方法|使い回し・保管・二要素認証を解説」もあわせて確認してください。