パスワードリスト攻撃
ほかのサービスから流出した利用者IDとパスワードの組のリストを使って、別のサービスへのログインを試みる攻撃。利用者が複数のサービスで同じパスワードを使い回していることを狙う。
イマシルちゃんの解説
ねえ、いろんなサイトで同じパスワードを使ってないかな?
もし1つのサイトからパスワードが漏れちゃうと、
攻撃者はその「IDとパスワードの組」を、ほかのサイトでもそのまま試すんだ。
使い回していたら、全部のサイトに入られちゃう。合鍵を1本なくしただけで、家も車も会社のロッカーも開けられちゃうようなものだよ!
より深い解説
定義
パスワードリスト攻撃は、何らかの方法で入手した利用者IDとパスワードの組のリスト(他のサービスから流出したものなど)を使い、別のサービスに対してログインを試みる攻撃である。英語では、クレデンシャルスタッフィング(credential stuffing)と呼ばれる。
成功してしまう理由
この攻撃は、パスワードを推測するのではなく、実際に使われていた正しい組を試す。そのため、利用者がパスワードを使い回していれば、非常に高い確率で成功する。また、1つのアカウントに対しては1回(または数回)しかログインを試さないため、「一定回数失敗したらロックする」というアカウントロックの対策が効きにくい。
ほかのパスワード攻撃との比較
| 攻撃 | 固定するもの | 変えて試すもの | 特徴 |
|---|---|---|---|
| ブルートフォース攻撃 | 利用者ID | パスワード(すべての組み合わせ) | 1つのアカウントに多数回試す |
| 辞書攻撃 | 利用者ID | パスワード(よく使われる単語) | 試す候補を絞る |
| リバースブルートフォース攻撃 | パスワード | 利用者ID | よく使われるパスワードを多数のIDで試す |
| パスワードスプレー攻撃 | パスワード(少数) | 利用者ID | 時間を空けて、ロックを避けながら試す |
| パスワードリスト攻撃 | − | IDとパスワードの組 | 流出した組をそのまま試す |
対策
| 立場 | 対策 |
|---|---|
| 利用者 | パスワードを使い回さない(パスワード管理ソフトを使う) |
| サービス提供者 | 多要素認証を導入する |
| サービス提供者 | 普段と異なる国や端末からのログインを検知し、追加の確認を求める |
| サービス提供者 | 同じIPアドレスから多数のアカウントへのログインが試みられたら、遮断する、CAPTCHAを表示する |
| サービス提供者 | ログインの成功を利用者に通知する |
| サービス提供者 | 流出したパスワードのリストと照合し、危険なパスワードの使用を拒否する |
CDNとの関係
パスワードリスト攻撃は、正規の利用者と同じように少数のログインを繰り返す攻撃であり、アクセスを分散させるCDNで防げるものではない。ボットによる自動ログインの検知は、WAFやボット対策のサービスで行う。