概要
漏洩したパスワードを悪用したクレデンシャルスタッフィング(Credential Stuffing)攻撃が近年急増している。
この攻撃は単純な手法から始まり、自動化ツールの進化やアカウントの使い回しという脆弱性が重なり、大規模なアカウント乗っ取りや金銭的被害につながっている。
従来は単純に多くのログイン試行を発生させ、脅威行為を識別することができた。しかし、近年では攻撃者が Web プロキシ、ユーザーエージェントの偽装、分散したログインリクエストなどにより、正常なユーザーのトラフィックに似せたパターンを再現し、検知を回避しようとする試みを行っている。このように、攻撃手法が高度化しているため、従来のファイアウォールや単純な認証失敗回数に基づく検知方式だけでは対応に限界が存在する。
クレデンシャルスタッフィングは継続的に増加しており、企業と個人の両方にとって深刻な脅威となっている。

[図] IBM が提供した年度別データ漏洩事故費用(2019–2024)
当ブログでは、近年増加しているクレデンシャルスタッフィング攻撃の概念と特徴を説明し、実際の被害事例を紹介する。また、検知方法と対応策を通じてクレデンシャルスタッフィングに対する対応力を高めていく。
クレデンシャルスタッフィングとは
クレデンシャルスタッフィング(Credential Stuffing)とは、すでに漏洩しているユーザーアカウント情報を活用し、複数の Web サイトやサービスに自動的に不正アクセスを試みる攻撃手法である。
この攻撃は、多くのユーザーが複数のサービスで同じログイン情報を再利用している点を悪用している。
攻撃の特徴
クレデンシャルスタッフィングは、単純なブルートフォース攻撃(Brute Force)とは異なる。ブルートフォース攻撃では考えられるすべてのパスワードの組み合わせを試すのに対し、クレデンシャルスタッフィングはすでに確保された実際のユーザー認証情報を使用する。そのため成功率が高く、あるサービスで情報が漏洩した場合、同じ認証情報を使っている他のサービスでも被害が広がるリスクがある。
攻撃手法の進化
クレデンシャルスタッフィング(Credential Stuffing)攻撃は、自動化ツールの発展とともにますます精巧で検知が困難な方式に進化している。初期には curl や Python requests のような単純な HTTP クライアントを通じてアカウント情報を無作為に入力する方式が使用された。この方式は異常なトラフィックパターンにより比較的容易に検知されるという限界がある。
ヘッドレスブラウザの使用
近年、ヘッドレスブラウザ(Headless Browser)が主要な攻撃手法として使用されている。ヘッドレスブラウザとは、ユーザーインターフェース(GUI)なしで動作する Web ブラウザであり、画面には何も表示されないが、実際のブラウザのように Web サイトをレンダリングし、JavaScript を実行することができる。これにより、攻撃者はログインページに接続し、ID/PW を入力してボタンをクリックし、JavaScript を実行や、クッキーを設定するなど、正常なユーザーと類似したトラフィックを生成する。代表的に攻撃に悪用されるブラウザは Puppeteer、Playwright がある。
CAPTCHA 回避
攻撃者は、CAPTCHA のような自動化防止装置を回避するために、様々な戦略を活用する。テキストベースの CAPTCHA は OCR エンジンであり、自分で選択するタイプは CNN ベースの分類モデルを活用し、自動化する。これ以外にも、CAPTCHA ソルビングサービスを活用する。例えば、2Captcha や Anti-Captcha のようなプラットフォームは、実際の人間が CAPTCHA の問題をリアルタイムで解き、その結果を API を通じて攻撃者に送信する方式である。このような方式は、ボットが直接画像を認識しなくても CAPTCHA を通過することができる。
被害事例
クレデンシャルスタッフィングは、ログインの試みにとどまらず、実際に様々な企業とサービスで個人情報漏洩につながる事例が多数報告されている。代表的な被害事例は以下の通りである。
ケース1
2023年、クレデンシャルスタッフィング攻撃により遺伝子検査サービス提供業者である23andmeの約690万人の顧客情報が窃取される事件が発生した。23andmeはアメリカのバイオテクノロジーおよびゲノム学企業であり、顧客が唾液サンプルを会社の実験室に送ると、祖先および遺伝子に関する検査などのサービスを提供し、つながった家族情報まで確認できる。この事件は、顧客が他のプラットフォームで使用していたアカウント情報を再利用したことが主な原因と指摘された。
攻撃者は漏洩したメールアドレスとパスワードの組み合わせを利用し、自動化ツールでテストした後、窃取したデータをダークウェブのフォーラムに掲示した。23andme事件は以下のような問題点により発生したものとみている。
1. DNA Relatives 機能構造の脆弱性であり、1つのアカウントが侵害されるとつながっている数百~数千人のユーザーデータまで曝露される構造であった。
2. アカウントにマルチ認証機能が無効になっていた。
ケース2
2024年6月、クラウド企業であるスノーフレークの顧客企業がクレデンシャルスタッフィング攻撃により数億件のデータが窃取される事件が発生した。この事件は、スノーフレークサービスを利用している顧客企業の担当者のノートパソコンにインフォスティーラーがインストールされ、アカウント情報が漏洩したものと確認された。攻撃者は窃取したアカウント情報を利用してスノーフレークに接続し、データを抜き取っていったが、特にマルチ認証機能(2FA)が設定されておらず、アカウントに容易にアクセスすることができた。
攻撃に使用されたアカウントのうち約 79.7%は以前にすでに資格情報が漏洩したことがあると確認されており、インフォスティーラー感染日はデータ窃取時点より約 4年前であることが明らかになった。この事例は以下のようなセキュリティ脆弱性によって発生したものと分析されている。
1. アカウントにマルチ認証機能が無効になっていた。
2. アカウントのパスワードが数年間変更されずに使用されていた。
3. アカウントログイン時、ネットワークのホワイトリストが設定されていなかった。
検知方法
クレデンシャルスタッフィング攻撃を検知するためには、多様な方式の検知技術が活用される。本ブログでは、ルールベース検知と自動化された異常振る舞いベース検知について紹介する。
シグネチャーベースの検知
クレデンシャルスタッフィング攻撃は主に様々なアカウントに対して繰り返しログイン試行を実行する方式で行われる。よって、検知時にはログベースのルール(Rule)設定を通じて異常な認証試行を識別することができる。
代表的な検知方法として、同じ IP アドレスや同じ User-Agent から多数のアカウントに対して繰り返しログイン試行が発生する場合を検知することができる。もしくは、特定のアカウントや IP のログイン失敗率が異常に高い場合、これを異常な兆候と判断することができる。また、正常なユーザーのログイン成功率、接続時間帯、地域などのパターンと比較して異常な振る舞いを識別する方式も使用される。
このような検知は主に SIEM や WAF、認証サーバーのログ分析システムを活用して行われ、例えば「5分以内にログインを10回以上失敗した場合」または「同じ IP で20個以上のアカウントにログインを試みた場合」などのルールを設定して異常な振る舞いをリアルタイムで検知することができる。
正常なユーザーの平均的な接続パターンを基準に例外状況を選別し、リアルタイム検知によってセキュリティ警告を発生させることができる。
異常なふるまいベースの検知
従来のシグネチャーベースの検知方式は、定められた条件に従って異常なログを検知するには有用だが、攻撃者の回避手法が精巧になり、ログインパターンが多様化していることから、固定されたルールだけでは新しいタイプの攻撃を検知するのが困難である。
例えば、以下のような要素を解析して異常な兆候を検知することができる。
-
ログイン成功/失敗比率の急激な変化
-
IP アドレスまたはデバイス情報の地域間での急激な移動
-
正常なユーザーのタイムゾーン、接続頻度、ブラウザ/OS パターンとの不一致
-
同一デバイスで大量のアカウント接続試行
-
正常なログインに対し速度/頻度過多な認証リクエスト
これをために UEBA(User and Entity Behavior Analytics)、EDR、XDR などのソリューションが活用され、攻撃パターンを自動で学習し、異常な振る舞いをリアルタイムで検知してセキュリティ担当者に警告の送信や、自動で遮断するようにする。
このように振る舞いベースの検知は、従来のシグネチャベースの検知を補完し、持続的に進化するクリデンシャルスタッフィング攻撃に対するリアルタイム対応力を向上させる重要な戦略として定着している。
対応策
クリデンシャルスタッフィング(Credential Stuffing)攻撃に対応するため、様々なセキュリティ対策を適用することができる。攻撃者は漏洩したアカウント情報を自動化ツールを通じて入力し、これを防御するために、認証、検知、遮断、ユーザー教育など、多様な対応が必要である。
1. 多段階認証(MFA)の導入
アカウント情報が流出しても、追加の認証手続きを要求することでアカウントの乗っ取りを防ぐことができる。特に管理者アカウントや重要システムアクセスアカウントに関しては基本的に MFA 適用を推奨し、疑わしいログイン時には条件付き MFA を適用することも効果的である。
2. ログイン試行の制限および CAPTCHA 適用
ログイン失敗回数が一定回数を超えると、そのアカウントを一時的にロックしたり CAPTCHA を要求することで、自動化された攻撃を遮断することができる。ただし、CAPTCHA にもまた、回避ができる自動化ツールが存在するため、MFA、Rate Limiting、異常振る舞い検知とともに複合的に適用することが効果的である。
3. 異常なログイン検知および IP 遮断
同一の IP または User-Agent で多数のアカウントログイン試行が発生したり、特定の IP のログイン失敗率が急激に上昇する場合、これを異常な兆候と判断し、その IP を遮断したり、管理者に通知する方式で対応することができる。また、ログイン位置、デバイス、タイムゾーンが普段と異なる場合、ユーザーにリアルタイムで通知を送ることも効果的である。
4. ルールベースの検知および自動対応システムの構築
SIEM、WAF、認証サーバーログなどを活用し、「5分以内にログインを10回以上失敗した場合」などの検知ルールを設定して、異常な振る舞いが検知されると自動で対応を実行したり、セキュリティ管理者に警告を送信するシステムを整備しなければならない。
5. 漏洩アカウント情報に基づいた対応
ダークウェブなどで収集された漏洩認証情報をもとにブラックリストを構築し、そのアカウントがログインに使用された場合、すぐにパスワード変更を要求や、ログイン試行を遮断することができる。また、これをもとにアカウントの再利用有無を自動で検知する機能も重要である
6. ユーザーのセキュリティ意識の向上
ユーザーにパスワードの再利用リスクと多段階認証の重要性を定期的に案内し、侵害の兆候が発生した場合にどう対処すべきかを知らせるセキュリティ教育を並行して行わなければならない。
結論
個人情報保護委員会と KISA が 3 月 20 日に発刊した報告書「2024年個人情報漏洩申告動向と予防方法」によると、ハッキングによる個人情報漏洩申告件数は総 307 件中 171 件で約 56%を占めた。ハッキング事故のタイプでは SQL Injection、マルウェアに次ぎ、3 番目に多く使用される攻撃であり、クレデンシャルスタッフィング手法で確認された。また、Verizon が発表した「2024 Data Breach Investigations Report」には、クレデンシャルスタッフィングのような盗用された認証情報に基づく攻撃が、全体の侵害事件の約 1/3 に関与していると発表した。
したがって、企業と機関は漏洩したアカウント情報に対する持続的なモニタリングおよび実質的で持続可能なセキュリティポリシーを確立しなければならない。
AhnLab TIP を購読すると、関連 IOC および詳細な解析情報を追加で確認することができる。詳しい内容は下のバナーをクリックして確認してほしい。