1. リスト型攻撃とは——「破る」のではなく「使い回す」
リスト型攻撃(クレデンシャルスタッフィング/Credential Stuffing)とは、どこか別のサービスから漏洩したID・パスワードの組み合わせのリストを使って、他のサービスに大量に不正ログインを試みる攻撃です。ECサイト、金融サービス、ポイント・マイレージ、会員サイトなどで、不正ログインやアカウント乗っ取りの被害が後を絶ちません。その多くがこのリスト型攻撃によるものです。
重要なのは、この攻撃がパスワードを「破る」ものではないという点です。攻撃者はパスワードを推測したり総当たりしたりするのではなく、すでにどこかで正解だった「本物のID・パスワード」をそのまま使い回しているだけです。だからこそ、システムから見れば「正しいパスワードでログインしてきた正規ユーザー」にしか見えません。
似た攻撃との違い
| 攻撃 | 手口 | 特徴 |
|---|---|---|
| リスト型攻撃 (クレデンシャルスタッフィング) |
漏洩した「ID+パスワードの組」を他サービスで試す | 使い回しユーザーに高確率で成功する |
| ブルートフォース攻撃 (総当たり) |
1つのIDに対し無数のパスワードを試す | 試行回数制限で防ぎやすい |
| パスワードスプレー攻撃 | よくあるパスワードを多数のIDに広く薄く試す | ロックアウトを回避しやすい |
漏洩リストは「地下市場」で流通している
過去の大小さまざまなデータ漏洩で流出したID・パスワードは、まとめられてダークウェブや闇市場で売買・共有されています。数十億件規模の認証情報が出回っているとされ、攻撃者は自動化ツールを使ってこれらを大量のサービスに次々と試します。「1回どこかで漏れたら、その組み合わせは何年も攻撃に使われ続ける」のがリスト型攻撃の実態です。
2. なぜ成功してしまうのか——パスワード使い回しの罠
リスト型攻撃が成立する唯一にして最大の理由は、多くの人が複数のサービスで同じID(メールアドレス)とパスワードを使い回していることです。
考えてみてください。あるサービスAからメールアドレスとパスワードが漏洩したとします。もしあなたが同じメールアドレスとパスワードを、ネットバンキング、ECサイト、ポイントサービスでも使っていたら——攻撃者はサービスAで漏れた組み合わせを、そのまま他のサービスに入力するだけで、あなたのアカウントに次々とログインできてしまいます。パスワードを1文字も「破って」いないのに、です。
- 成功率は低くても、数で稼ぐ:1件ごとの成功率は数百〜数千回に1回程度でも、数百万件のリストを自動で試せば、まとまった数のアカウントを乗っ取れる。攻撃は完全に自動化されている。
- 強いパスワードでも無意味:「複雑で長いパスワード」にしていても、それを複数サービスで使い回していれば、1箇所の漏洩で全部が破られる。パスワードの強度ではなく、使い回しが問題。
- ユーザーは漏洩に気づかない:自分のパスワードが別のサービスから漏れていたことを、本人はほとんど把握していない。
「パスワードを複雑にする」だけでは防げない
長年「パスワードは複雑に、定期的に変更を」と言われてきましたが、リスト型攻撃に対してはこれらはほとんど効果がありません。攻撃者は正解のパスワードを持っているので、複雑さは関係ないのです。効くのは「サービスごとに違うパスワードにすること」と、「パスワードだけに頼らない認証(多要素認証・パスワードレス)にすること」の2つだけです。
3. 狙われる業種——EC・金融・ポイントに集中する理由
リスト型攻撃は特に、アカウントに「換金しやすい価値」がたまっている業種に集中します。
- ECサイト・オンラインショップ:登録済みのクレジットカードやギフト残高を使って、勝手に高額商品を購入・転売される。配送先を書き換えられるケースも。
- 金融・決済サービス:不正送金、不正決済、暗号資産の引き出し。直接的な金銭被害につながる。
- ポイント・マイレージ:貯まったポイントを商品券や別のポイントに交換して換金される。「たかがポイント」ではなく、実質的な金銭。
- 会員サイト・サブスク:登録情報の窃取、アカウントの転売、なりすまし。
共通するのは、アカウントそのものが「お金」または「お金に換えられる情報」を抱えていることです。攻撃者は乗っ取ったアカウントを直接換金するか、盗んだ情報を売却します。ユーザーにとっては金銭被害に直結し、事業者にとっては補償対応・信頼失墜・当局対応という重い負担になります。
事業者の「入口」が攻撃者の「入口」になる
ログイン機能は、正規ユーザーにとっての入口であると同時に、攻撃者にとっての入口でもあります。ログイン画面を持つあらゆるサービスがリスト型攻撃の標的になりえます。特に、金銭価値を扱うサービスは「攻撃されて当然」という前提で、ログインの防御を設計する必要があります。
4. なぜ検知が難しいのか——「正規のログイン」との見分け
リスト型攻撃の厄介さは、個々のログイン試行が「正しいパスワードによる成功」に見えることにあります。総当たり攻撃なら「失敗が大量に続く」異常として検知できますが、リスト型攻撃は正解を持っているため、成功したログインは正規ユーザーと区別がつきにくいのです。
そのため、事業者側は「1件のログイン」ではなく「全体のパターン」で異常を見抜く必要があります。
- アクセス元の異常:短時間に大量のIPアドレスから、少しずつログインが試みられる(分散して制限を回避)。海外や普段と異なる地域からのアクセス。
- 挙動の異常:人間ならありえない速度・規則性でのログイン試行。自動化ツール特有のパターン。
- デバイス・環境の異常:いつもと違う端末・ブラウザ・環境からのログイン。
- ログイン後の異常:ログイン直後に配送先変更・パスワード変更・大量注文など、乗っ取り特有の操作。
しかし攻撃側も、住宅用IPアドレスを大量に使う、試行速度を人間らしく調整するなど、検知回避を高度化させています。検知だけに頼る防御には限界があり、そもそも「盗んだパスワードでは入れない」認証方式に移行することが本質的な解決になります。
5. 対策——多層防御とフィッシング耐性認証
リスト型攻撃への対策は、事業者側とユーザー側の両面で、複数の層を組み合わせます。
事業者が実装すべき対策
- 多要素認証(MFA)の導入:パスワードが正しくても、second factorがなければログインさせない。リスト型攻撃への最も基本的で効果的な対策。
- フィッシング耐性のあるMFA(FIDO2/パスキー):SMSやワンタイムパスワードは中間者攻撃で突破されうる。より確実なのはFIDO2/パスキー。詳細は後述。
- リスクベース認証:アクセス元・デバイス・挙動のリスクを評価し、怪しい場合のみ追加認証を求める。正規ユーザーの利便性を保ちつつ防御する。
- 漏洩パスワードの照合:既知の漏洩リストに含まれるパスワードの利用を禁止・警告する。
- ボット対策・レート制限:自動化ツールによる大量試行を検知・遮断する。分散アクセスへの対応も含む。
- 異常検知と通知:不審なログインを検知し、ユーザーに通知・確認を求める。
ユーザー側の基本
- パスワードを使い回さない:サービスごとに異なるパスワードを。パスワードマネージャーの活用が現実的。
- 多要素認証・パスキーを有効にする:提供されているなら必ず設定する。
- 漏洩通知サービスを確認する:自分の認証情報が漏洩していないか把握する。
MFAの「方式」まで問われる時代
多要素認証を導入していても、SMSワンタイムパスワードやプッシュ承認は、フィッシングや中間者攻撃(AiTM)、MFA疲労攻撃で突破される事例が出ています。リスト型攻撃で入口を塞いでも、フィッシングで次の一手を取られては意味がありません。「MFAを入れたか」だけでなく「フィッシング耐性のあるMFAか」まで踏み込むことが、いまの標準的な考え方です。
6. Keyperで実現する「使い回せない」認証
リスト型攻撃の根本原因は「パスワードという、盗めて・使い回せる合言葉」に認証を依存していることです。Net Peaceは、この根本にアプローチします。
Keyper——FIDO2/パスキーで「盗んでも使えない」認証へ
Keyperは、FIDO2/パスキーによるパスワードレス認証を実現するID・アクセス管理基盤です。FIDO2認証では、認証に使う秘密鍵が利用者の端末内に安全に保管され、外部に送信されることがありません。つまり、そもそも「盗んで使い回せるパスワード」が存在しないため、リスト型攻撃は原理的に成立しません。
さらにFIDO2は、認証が正規ドメインに紐づく(オリジンバインディング)ため、フィッシングサイトでは認証が成立しません。リスト型攻撃だけでなく、フィッシング・中間者攻撃・MFA疲労攻撃といった、パスワードやワンタイムパスワードを狙う攻撃全般に耐性を持ちます。
金融・EC事業者のアカウント保護に
金銭価値を扱う金融・EC・ポイントサービスにとって、アカウント乗っ取りは事業の根幹に関わるリスクです。Keyperは、従業員・管理者の認証はもちろん、サービス利用者・取引先を含めたID統制を提供し、リスト型攻撃・なりすましによる被害を低減します。パスワードに依存しない認証基盤への移行は、補償対応や信頼失墜という「攻撃後のコスト」を根本から減らす投資です。