パスワードリスト攻撃とは?初心者向けに徹底解説
生徒
「先生、パスワードリスト攻撃って聞いたんですけど、どんな攻撃なんですか?」
先生
「パスワードリスト攻撃(パスワードリストコウゲキ)は、過去に流出したユーザーIDとパスワードの組み合わせをリスト化して、他のサービスに不正ログインを試みる攻撃のことです。」
生徒
「じゃあ、一度どこかでパスワードが漏れると、別のサービスにも勝手に入られる危険があるんですか?」
先生
「その通りです。特に同じパスワードをいろいろなサービスで使い回していると、とても危険なんです。」
1. パスワードリスト攻撃とは?
パスワードリスト攻撃とは、過去に特定のサービスから流出した「ID(メールアドレス)」と「パスワード」のリストを使い、別のWebサイトやSNSへ不正にログインを試みるサイバー攻撃の手法です。英語では「Credential Stuffing(クレデンシャル・スタッフィング)」と呼ばれ、直訳すると「資格情報の詰め込み」という意味になります。これは、攻撃者が手に入れたリストを機械的に次々と試していく様子を表しています。
初心者向けの具体例
例えば、あなたが「Aショップ」と「Bアプリ」の両方で、同じメールアドレスとパスワードを使っていたとしましょう。もしAショップから情報が漏れてしまった場合、犯人はその情報を使って、全く関係のないBアプリへのログインを試みます。これがパスワードリスト攻撃の恐ろしい点です。
この攻撃が成功してしまう最大の原因は、人間が複数のサービスで「同じパスワードを使い回す」という習慣にあります。セキュリティの専門知識がなくても、攻撃者は自動化ツールを使って数万件のログイン試行を高速で行うため、一つでも使い回しがあれば、芋づる式に他のサービスも乗っ取られてしまうのです。2026年の現在でも、個人情報の窃取や金銭被害を招く非常に代表的な脅威として警戒されています。
2. パスワードリスト攻撃の仕組み
パスワードリスト攻撃の仕組みは、驚くほどシンプルで効率的です。攻撃の出発点は、どこかのサービスから不正に盗み出された「IDとパスワードのリスト」を入手することから始まります。これらは「ダークウェブ」と呼ばれる特殊なネットワークで取引されることが多く、攻撃者は手に入れた膨大な名簿を武器に、別のWebサイトへと狙いを定めます。
未経験者でもわかるステップ解説
- 名簿の入手:過去に情報漏えい事件を起こしたサイトから流出した、本物のログイン情報を手に入れます。
- 自動化ツール(ボット)の準備:人間が手入力するのではなく、専用のプログラムを使って、1秒間に何百回ものログイン試行を自動で繰り返します。
- 攻撃の実行:有名ECサイトや銀行、SNSなど、金銭や個人情報に直結するサイトに対して、リストにある情報を片っ端から流し込みます。
この攻撃が恐ろしいのは、試行されるパスワードが「でたらめな文字列」ではなく、「誰かが実際に使っている有効なパスワード」である点です。そのため、従来のセキュリティ検知をすり抜けやすく、ログインが成功した瞬間にアカウントが乗っ取られてしまいます。これは、人間の「覚えるのが面倒だから、同じ鍵を全てのドアに使い回す」という心理的な隙を突いた、非常に巧妙なサイバー攻撃と言えるでしょう。
3. 辞書攻撃や総当たり攻撃との違い
パスワードリスト攻撃は、他の攻撃手法と混同されがちです。例えば「辞書攻撃(ジショコウゲキ)」は、よく使われる単語を試す方法で、「総当たり攻撃(ソウアタリコウゲキ/ブルートフォースアタック)」は可能な文字の組み合わせを片っ端から試す方法です。これに対して、パスワードリスト攻撃は「すでに実際に使われていたパスワード」を利用するため、成功率が非常に高いのが特徴です。
4. パスワードリスト攻撃の被害例
過去には有名なSNSやショッピングサイトでパスワードが流出し、その情報が他のサービスへの不正アクセスに悪用されたケースがあります。たとえば、あるサイトでメールアドレスとパスワードが漏れ、その組み合わせでネット銀行やオンラインショップに不正ログインされるという被害が起きました。このように、ひとつのサービスの流出が複数のサービスの被害につながるのが大きな問題です。
5. パスワードリスト攻撃を防ぐための対策
初心者でもできる基本的な対策は次の通りです。
- パスワードを使い回さない:サービスごとに違うパスワードを設定する。
- 二要素認証(ニヨウソニンショウ)を使う:パスワードだけでなく、スマートフォンの確認コードなどを組み合わせる。
- 定期的にパスワードを変更する:流出していても長期間使わないようにする。
- パスワード管理ツールを活用する:覚えきれない場合は専用アプリで安全に管理する。
特に二要素認証は効果的で、パスワードが知られても不正ログインを防げる可能性が高くなります。
6. 雑学:パスワードの歴史と人の心理
実は「パスワード」という概念はコンピュータより前から存在していました。軍隊や秘密結社では、仲間かどうかを確認するために合言葉を使っていました。現代のインターネットでも「合言葉」としての役割を果たしています。しかし人間は覚えやすさを優先して「誕生日」や「123456」といった単純なパスワードを使ってしまう傾向があります。攻撃者はこの心理を突き、リスト攻撃を効率的に仕掛けてくるのです。
7. 試験対策として覚えておきたいキーワード
ここまでの内容を整理すると、理解を助けるキーワードは以下の通りです。
- パスワードリスト攻撃(流出したパスワードを再利用する攻撃手法)
- 辞書攻撃(よく使われる単語を順番に試す方法)
- 総当たり攻撃(ブルートフォースアタック/すべての組み合わせを試す方法)
- 二要素認証(パスワード+確認コードで守る仕組み)
- パスワード使い回し禁止(最も基本的なセキュリティ対策)
これらをしっかり理解すれば、セキュリティに関する基礎力が身につきます。
基本情報技術者試験の理解を確実に定着させたい人や、 科目A・Bをまとめて過去問演習したい人に向けた定番の問題集です。
基本情報技術者 パーフェクトラーニング 過去問題集を見る※ Amazonアソシエイト広告リンク
まとめ
パスワードリスト攻撃は、過去に流出した認証情報を悪用し、別のサービスへ不正ログインを試みる非常に現実的で被害の大きい攻撃手法です。特に近年は多くのサービスがインターネット上で連携しており、一つのサービスでの情報漏えいが他のサービスにも連鎖的な被害をもたらす点が問題視されています。ユーザー側の対策としては、パスワードの使い回しを避けることが最も重要であり、それだけでも攻撃成功率を大きく下げることができます。また、二要素認証を設定することで、仮にパスワードが漏えいした場合でも不正アクセスを防ぐ壁を一つ増やすことが可能になります。
セキュリティ対策を考える上では、人間の行動や心理を理解することも欠かせません。覚えやすさを優先して単純なパスワードを設定したり、複数のサービスで同じ認証情報を使い回したりする行動は、利便性の観点では合理的に見える一方で、攻撃者にとっては格好の標的となります。そのため、安全性と利便性のバランスを取りながら、適切な管理方法を選択することが求められます。
具体的には、パスワード管理ツールを活用することで、複雑で長いパスワードをサービスごとに生成し、安全に保管することができます。さらに、定期的なパスワード変更やログイン履歴の確認といった習慣を取り入れることで、被害の早期発見にもつながります。企業や開発者の立場では、ログイン試行回数の制限や異常検知の仕組みを導入することで、パスワードリスト攻撃の影響を最小限に抑えることができます。
以下は簡単なログイン処理の例です。ログイン試行回数を制限することで、不正アクセスのリスクを軽減する基本的な考え方を示しています。
public class LoginSecurityExample {
private static int loginAttempts = 0;
private static final int MAX_ATTEMPTS = 3;
public static void login(String userId, String password) {
if (loginAttempts >= MAX_ATTEMPTS) {
System.out.println("アカウントがロックされました");
return;
}
if (authenticate(userId, password)) {
System.out.println("ログイン成功");
loginAttempts = 0;
} else {
loginAttempts++;
System.out.println("ログイン失敗 残り回数 " + (MAX_ATTEMPTS - loginAttempts));
}
}
private static boolean authenticate(String userId, String password) {
return "user".equals(userId) && "password123".equals(password);
}
}
このような仕組みを取り入れることで、単純な繰り返し攻撃を防ぐことができ、セキュリティレベルの向上につながります。パスワードリスト攻撃は決して特別な知識がなくても実行可能なため、誰もが被害に遭う可能性があります。だからこそ、日頃からの意識と基本的な対策の積み重ねが重要です。インターネットを安全に利用するためには、自分自身の情報を守る責任があるという意識を持つことが大切です。
生徒
パスワードリスト攻撃って、思ったより身近な危険なんですね。同じパスワードを使い回すのがこんなに危ないとは知りませんでした。
先生
そうですね。多くの人が便利さを優先してしまうので、そこを狙われてしまうのです。攻撃自体は難しくないため、対策をしていないと簡単に突破されてしまいます。
生徒
対策としては、サービスごとに違うパスワードを使うことと、二要素認証を設定することが重要なんですよね。
先生
その通りです。それに加えて、パスワード管理ツールを使うことで安全性と利便性を両立できます。自分で全て覚えようとする必要はありません。
生徒
ログイン回数の制限みたいな仕組みも大事なんですね。プログラム側でも対策できることがあると分かりました。
先生
はい。ユーザーとシステムの両方で対策することで、より安全な環境を作ることができます。基本をしっかり押さえることが、最も効果的な防御になります。