パスワードリスト攻撃とは
パスワードリスト攻撃とは、ある特定のWebサイトやサービスから何らかの原因で漏洩した「ID(メールアドレス)とパスワードのリスト」を使い、別の全く異なるWebサイトやサービスに対して自動プログラムを用いてログインを試みる攻撃手法です。多くのインターネット利用者が、複数のサイトで同じIDやパスワードを使い回している(使い回し癖がある)という人間の心理的な行動パターンを悪用しています。攻撃が成功すると、会員情報の窃盗やポイントの不正利用、なりすましによる不正送金などの被害が発生します。
具体例
個人で運営されている小規模なネットショップから漏れたIDとパスワードのリストを悪用し、ハッカーがその情報を使って大手SNSや銀行のログインページに片っ端からログインを試み、同じパスワードを使っていたユーザーのアカウントを乗っ取る事例。
[漏洩元サイトA] --(流出したID・PASSリスト)--> [攻撃者]\n | (別のサイトBへ一斉にログイン試行)\n v\n [銀行やSNS等のサイトB] (使い回し口座が乗っ取られる)
もう少し詳しく
パスワードリスト攻撃(Credential Stuffing)は、セキュリティ意識の低い一部のWebサービスから不正に詐取したID(電子メールアドレスや会員ID)とパスワードの組み合わせリストを元手に、セキュリティが強固な銀行や大手ECサイトなどの他のWebサービスに対して順次ログインを試行するサイバー攻撃です。
この攻撃の成功率は、多くのユーザーが「パスワードを何十個も覚えるのが面倒」「推測しにくい複雑な文字列を使い回している」という、人間の心理的・物理的な行動パターンに依存しています。もし、あるユーザーが「簡単なパスワード」や「複雑だがすべてのサイトで共通のパスワード」を使用していた場合、1箇所で情報が漏洩すると、関連するすべてのサービス(SNS、ECサイト、Webメール、インターネットバンキングなど)のアカウントがドミノ倒しのように芋づる式で乗っ取られることになります。
パスワードリスト攻撃の最大の特徴は、攻撃者が「すでに本物(そのユーザー自身)が設定していた正しいパスワード」を入力するため、システム側で通常の「ブルートフォース攻撃(総当たり)」を防ぐためのセキュリティフィルターをすり抜けやすい点にあります。各ユーザーIDに対する入力間違いが1回のみ(リストに載っている正しいと思われるペアを1度だけ試す)となるため、「3回連続で間違えたらアカウントをロックする」といった標準的な防御設定が機能しません。そのため、サービス事業者側にとっても検知と対策が極めて難しい攻撃として知られています。
試験でのポイント
試験において「パスワードリスト攻撃」は、その攻撃手法の定義(別のサイトから流出したIDとパスワードの組み合わせを使い、異なるWebサービスにログインを試みる)を正しく理解し、他の攻撃(ブルートフォース攻撃やフィッシング)と区別できるかがまず基本です。そして、サービス提供者側およびユーザー側で実施すべき「有効な対策」について出題されます。
・ユーザー側の対策: パスワードを絶対に使い回さないことです。サービスごとに異なるパスワードを設定し、管理を容易にするためにパスワード管理ツールを活用することが推奨されます。
・サービス提供者側の対策:
1. 多要素認証(MFA)の導入: パスワード情報がリストと一致しても、もう一つの認証要素(ワンタイムパスコードや生体情報など)を要求することでログインを防ぎます。
2. リスクベース認証(適切な追加認証): ユーザーがいつもと異なるデバイス、あるいは異なる国やIPアドレスからログインを試みた際に、事前に登録された本人宛てに確認コードを送って認証を求める仕組みです。
3. 不審なアクセスの遮断: 短時間で無数の異なるアカウントに対してログイン試行を行うプログラム(ボット)特有のアクセスを検知して遮断します。
関連する用語
あらゆる文字の組み合わせを順に試す「ブルートフォース攻撃」、パスワードと他の要素を組み合わせる「多要素認証」、接続環境の不審さに基づいて追加の認証を要求する「リスクベース認証」などがあります。