ITの教科書検索

パスワードリスト攻撃とは、流出したIDとパスワードで不正ログインする攻撃

ふだん使うサービスに問題がなくても、昔登録したきりのサイトから漏れたパスワードで、不正ログインされることがあります。パスワードリスト攻撃は、漏れたIDとパスワードの組で不正ログインする攻撃です。あるサービスから漏れた組を、別のサービスでそのまま試します。クレデンシャルスタッフィング(credential stuffing)とも呼びます。

攻撃者が試すのは本物の組なので、どれだけ長く複雑なパスワードでも、使い回していれば通ります。「不正ログインの可能性があります」というメールが届いたときに、まず疑う攻撃の1つです。自社のログに失敗が並んでいるときも同じです。

防ぐには、使い回しをやめ、パスワードだけでログインできる状態をなくします。総当たり攻撃との違い、利用者と運営者それぞれの対策、被害に気づいたときの手順も順に説明します。

パスワードリスト攻撃の仕組み

攻撃は、次の3段階で進みます。

  1. あるサービスから、IDとパスワードの組が漏れます。原因は外部からの攻撃、内部の人の持ち出し、フィッシングなどさまざまです。
  2. 攻撃者が、漏れた組をリストにまとめます。
  3. 攻撃者がプログラムを使い、別のサービスのログイン画面にリストの組を次々に入力します。

ログインを自動で繰り返すプログラムを、ボットと呼びます。人の手では試しきれない数の組を、短い時間で試せます。

漏れた組を集める自動で試すサービスAIDとパスワードが漏れる攻撃者のリスト本物の組が並ぶサービスB同じパスワードログインされるサービスC別のパスワードログインされない
漏れたのはサービスAだけでも、同じパスワードのサービスBには不正ログインされます。分かれ目は、パスワードの強さではなく使い回しの有無です。

図のサービスBで不正ログインされたのは、パスワードが弱かったからではありません。サービスAと同じIDとパスワードを使っていたからです。パスワードリスト攻撃が狙うのは、パスワードの使い回しです。

IDが同じになりやすいことも、攻撃者に有利に働きます。多くのサービスがメールアドレスをIDにしているので、利用者は意識しなくても同じIDを使うことになります。漏れたのがハッシュ値でも、弱いパスワードは解読されてリストに加えられることがあります。

成功率が低くても被害が大きくなる理由

使い回しは珍しくありません。国家サイバー統括室のコラムは、2022年の民間のアンケートを紹介しています。国内700名のうち87.6%が、パスワードを使い回していました。

リストの組がすべて通るわけではありません。総務省が2013年にまとめた資料には、8社の事例の成立率が載っていて、0.15〜1.35%でした。割合は小さくても、試す数が多ければ被害は大きくなります。同じ資料には、約1,546万回の試行で約2.4万件のログインが成立した例があります。

ブルートフォース攻撃・辞書攻撃との違い

いちばんの違いは、パスワードを推測するか、本物の組をそのまま使うかです。ブルートフォース攻撃は、ありうる文字の組み合わせを片っ端から試す攻撃で、総当たり攻撃とも呼びます。辞書攻撃は、試す値をよく使われる単語や文字列に絞ったものです。

リバースブルートフォース攻撃は、パスワードのほうを固定して、IDを次々に変えて試します。よく使われるパスワードを多くのアカウントに試すパスワードスプレー攻撃も、ほぼ同じ形です。次の図で、3つの試し方を線の形で比べます。

総当たり攻撃ID試す値ID A候補1候補2候補31つのIDに何度もリバースブルートフォースID試す値ID AID BID C同じ値多くのIDに同じ値パスワードリスト攻撃ID試す値ID AID BID C漏れた値A漏れた値B漏れた値CIDごとに本物の1組
総当たりは1つのIDに値を変えて試し、リバースブルートフォースはIDを変えて同じ値を試します。パスワードリスト攻撃だけは、IDごとに本物の値を試します。辞書攻撃は総当たりと同じ形で、試す値を絞ったものです。

試し方が違うと、効く対策も変わります。推測する攻撃には、長く複雑なパスワードが効きます。パスワードリスト攻撃には、使い回している限り効きません。

手口何を試すか長く複雑なパスワードで防げるかIDごとの回数制限で止まるか
総当たり攻撃ありうる文字の組み合わせ防ぎやすくなる止まる
辞書攻撃よく使われる単語や文字列防ぎやすくなる止まる
リバースブルートフォース攻撃よく使われる値を1つ決め、IDを変えて試す防ぎやすくなる止まりにくい
パスワードリスト攻撃別のサービスから漏れた本物の組使い回していれば防げない止まりにくい

どの手口も、ログインを自動で試す点は同じです。OWASPは、Webアプリケーションの安全性に取り組む非営利団体です。その解説は、パスワードリスト攻撃を総当たり攻撃の一種に分類しています。それでも、対策を選ぶときは分けて考えます。フィッシングやキーロガーを含め、パスワードを盗むほかの手口は不正アクセスの記事にまとめています。

利用者の対策:使い回しをやめ、パスワードだけに頼らない

すべてのアカウントを一度に変えるのは大変です。メール、金融、普段使うSNSから順に進めます。メールを先にするのは、ほかのサービスのパスワードを再設定するときの宛先になるからです。

サービスごとに別のパスワードにする

パスワードが別々なら、漏れた影響はそのサービスだけで止まります。IPA(情報処理推進機構)も、パスワードはできるだけ長く複雑にし、使い回さないよう勧めています。昔登録したサービスで、もう使わないものは退会しておくと、漏れる場所そのものが減ります。

パスワード管理アプリに覚えさせる

サービスごとに長いパスワードを覚えるのは無理があります。パスワード管理アプリを使うと、長くランダムな値を作って保存し、ログイン画面に自動で入力できます。ただし管理アプリが破られると、保存した分がまとめて盗まれるおそれがあります。管理アプリのアカウントには、長いパスワードと多要素認証を設定します。

多要素認証を設定する

多要素認証を設定すると、リストの組が合っていても、2つ目の要素がない攻撃者はログインできません。生体認証や認証アプリなど、サービスが用意する方法を選びます。すぐにパスワードを変えられないアカウントでも、設定しておけば、漏れた組だけではログインされません。

使えるならパスキーに切り替える

パスキーは、サービスごとに別の鍵を使うログインです。サービスが保存するのは公開鍵なので、漏れても別のサービスで試せるものがありません。アカウントにパスワードが残っていれば、攻撃者はそちらを試せます。残すパスワードも、使い回さないようにします。

定期的な変更は基本的に要らない

十分に複雑で使い回していないパスワードなら、定期的に変える必要は基本的にありません。定期的な変更だけを求めると、かえって単純な値や使い回しが増えるからです。米国の標準技術研究所NISTの指針も、サービス側が定期的な変更を強制してはならないと定めています。変えるのは、サービスから漏れたときや、不正ログインの疑いがあるときです。

サービス運営者の対策:パスワード照合の前後で止める

運営者から見ると、攻撃者のログインは正しいパスワードでの成功です。パスワードの照合だけでは、本人と見分けられません。そこで、照合の前で数を減らし、照合の後で止めます。

大量に届くすり抜けた試行照合に成功漏れた組でのログイン回数制限・ボット判定試行の数を減らすパスワードの照合本物の組なので通る多要素認証2つ目の要素がなく止まるログインされない
回数制限は数を減らせても、すり抜けた試行はパスワードの照合を通ります。止めるのは、パスワードのほかに求める要素です。

対策はそれぞれ止められる範囲が違うので、組み合わせて使います。

対策効く場面限界
多要素認証パスワードが合っていても、2つ目の要素がないログイン利用者が設定しなければ効かない
パスキーへの対応パスワードを使わないので、漏れた組が役に立たないパスワードが残っていれば、そちらを狙われる
通信元ごとの回数制限同じ通信元からの大量の試行多くの通信元に分散されると効きにくい。IPアドレスを共有する無関係の利用者も止めることがある
アカウントの一時停止同じIDへの連続した失敗1つのIDに1、2回しか試さない攻撃では、しきい値に届かない
ボット判定プログラムによる自動のログインCAPTCHAを破るツールやサービスがある
漏えい済みパスワードの拒否登録や変更のときに選ばれた、漏えい済みのパスワード登録済みのパスワードは、別に確かめる必要がある
普段と違うログインの検知と通知新しい端末や通信元からのログイン通知が多すぎると、利用者が読まなくなる

OWASPの対策集は、多要素認証を最も強い防御に挙げています。毎回求めなくても、新しい端末からのログインや高額の取引など、危険な場面に絞って求める方法があります。逆に、IPアドレスによる遮断や回数制限は回避されやすいので、これだけに頼らないよう書いています。

NISTの指針は、同じアカウントでの連続した失敗を100回以下に制限するよう定めています。新しいパスワードを、漏えい済みの値の一覧と照合することも定めています。総務省の対策集は、運営者がIDを発行し、メールアドレスをIDに使わない形も勧めています。メールアドレスは、リストと一緒に攻撃者の手元にあることが多いからです。

自社が流出元にならない

パスワードの保存方法は、自社への攻撃を止める対策ではありません。自社から漏れたときに、ほかのサービスの利用者まで巻き込まないための対策です。パスワードは平文で保存せず、ソルトを付けたパスワード用の方式でハッシュ化します。

不正ログインで個人データが漏えいしたおそれがあれば、運営者は個人情報保護委員会への報告を求められる場合があります。調査に必要なログを残しておくと、何が見られたかを確かめられます。

不正ログインに気づく手がかり

攻撃者は正しいパスワードでログインするので、利用者にも運営者にも気づきにくい攻撃です。

IPAの相談窓口には、2025年7月に不正ログインの相談が144件寄せられ、それまでで最多でした。相談の多くは、SNSに自分でログインできなくなったという内容です。この件数は不正ログイン全体の数で、認証コードをだまし取る手口なども含みます。

利用者が気づく場面

  • 使っていない端末や地域からの、ログインの通知が届く
  • 身に覚えのない投稿や購入の履歴がある
  • パスワードや登録メールアドレスの変更通知が届く
  • 急にログインできなくなる

通知メールが届いても、本文のリンクは開きません。通知を装って偽サイトへ誘導するフィッシングがあるからです。公式アプリやブックマークからログインして、履歴を確かめます。

運営者が気づく場面

総務省の2013年の対策集によると、当時の事案では、次のようなきっかけで攻撃が見つかっています。攻撃が検知されるまでに時間がかかった事案もあります。

  • 利用者から、ログインできないという問い合わせが来る
  • ログインのエラーが大量に発生する
  • 特定のIPアドレスから、不正なログインを検知する

ログを1か所に集めて分析するSIEMを使うと、失敗の急増を通知できます。WAFの製品の中にも、ログイン画面への大量の試行を検知する機能を持つものがあります。

ログの並びから手口を見分ける

次の図でログの並びを選ぶと、疑われる手口と打つ手が分かります。ログは架空の例で、一部だけを抜き出しています。ログだけで手口は断定できないので、判定はどれも疑いの段階です。

ログの並びを選ぶ
1つのIDに失敗が続くのログの例
時刻ID通信元結果
02:14:05user18203.0.113.7失敗
02:14:06user18203.0.113.7失敗
02:14:07user18203.0.113.7失敗
02:14:08user18203.0.113.7失敗
02:14:09user18203.0.113.7失敗

総当たり攻撃か辞書攻撃の疑い

同じIDに失敗が続いています。パスワードを知らない攻撃者が、値を変えて推測している形です。

IDごとの回数制限やアカウントの一時停止で止まります。

不正ログインされたときにすること

不正ログインの疑いがあれば、公式アプリか公式サイトから、次の順に進めます。

  1. パスワードを変更します。ほかのサービスで使っていない値にします。
  2. 登録メールアドレスや電話番号に身に覚えのないものがあれば、削除します。
  3. ログイン中の端末の一覧があれば、知らない端末を切断します。
  4. 多要素認証を設定します。
  5. 同じパスワードを使っていたほかのサービスも、すべて変更します。

ログインできないときは、ログイン画面の「パスワードを忘れた」から再設定を試します。それでも戻せなければ、サービスのヘルプページやお問い合わせフォームから連絡します。クレジットカードを登録していて身に覚えのない請求があれば、カード会社にも連絡します。

練習問題(全6問)

Q1パスワードリスト攻撃の説明として正しいものは?
Q220文字のランダムなパスワードを3つのサービスで使い回していて、1つのサービスから漏れた。ほかの2つについて言えることは?
Q3多くのIDに1回ずつログインの失敗が記録され、ときどき成功が混じっている。IDごとの回数制限だけで止めにくい理由は?
Q4リストの組が合っていても、多要素認証を設定したアカウントに不正ログインされない理由は?
Q5「不正ログインの可能性があります」というメールが届いた。最初の対応として適切なものは?
Q6パスワードの定期的な変更についての説明で、NISTの指針に合うものは?

選んでから「採点する」を押すと、解説つきで答え合わせができます。

参考にした資料

関連記事

おすすめの本 PR

セキュリティとデータベースは、基本情報技術者試験の対策本でまとめて学べます。

目的別の本の選び方を見る

セキュリティの記事を続けて読む

セキュリティ 全37本中4本目