クレデンシャルスタッフィングとは? | クレデンシャルスタッフィング対ブルートフォースアタック

クレデンシャルスタッフィング攻撃では、1つのサービスから盗んだ一連のログイン認証情報を使って、その他さまざまなサービスのアカウントのクラッキングを試みます。

Share facebook icon linkedin icon twitter icon email icon

クレデンシャルスタッフィング

学習目的

この記事を読み終えると、以下のことができます。

  • クレデンシャルスタッフィングを定義する
  • クレデンシャルスタッフィングとブルートフォースアタックを区別する
  • クレデンシャルスタッフィングの緩和の戦略を理解する

クレデンシャルスタッフィングとは?

クレデンシャルスタッフィングは1つのサービスから漏洩した認証情報を使って別の無関係なサービスにログインすることを試みるサイバー攻撃です。

Credential Stuffing Example

たとえば、攻撃者は一流デパートから不正に得られた同じログイン認証情報のユーザー名とパスワードのリストを、国立銀行のサイトでログインするために使用するかもしれません。攻撃者は、それらのデパート顧客の一部が銀行でも同じユーザー名とアカウントを使用する可能性を悪用しています。

漏えいした認証情報の巨大なリストが闇市場で取引、販売されていることもあり、2019年時点でクレデンシャルスタッフィングは増加傾向にあります。このようなリストの拡散とボットを使用して従来のログイン保護を回避するクレデンシャルスタッフィングツールの進歩が組み合わさることで、クレデンシャルスタッフィングはよく使用される攻撃ベクトルになっています。

クレデンシャルスタッフィングを有効にするものは?

統計的にクレデンシャルスタッフィング攻撃は非常に成功しにくくなっています。多くの推計評価で、攻撃者の成功率は0.1%です。1000のアカウントで一度だけ成功することを意味します。攻撃者によって交換される認証情報が多いため、低い成功率にもかかわらずクレデンシャルスタッフィングはいまも利用されています。

これらのコレクションは何百万、いくつかの場合に何十億ものログイン認証情報を含んでいます。攻撃者が100万セットの認証情報を持っていれば、これは約1,000のアカウントをクラッキングできるかもしれません。クラックされたアカウントがわずかでも有益なデータ(しばしばクレジットカード番号やフィッシング攻撃の中で使用することができる機密データ)を含んでいれば、攻撃は有効です。その上、攻撃者は多数の異なるサービス上で同じセットの情報を使用してプロセスを繰り返すことができます。

ボット技術における進歩は、さらに攻撃成功率を高めています。Webアプリケーションのログインフォームに組み込まれたセキュリティ機能では、しばしば意図的な時間の遅れを発生させて、ユーザーのログイン認証が繰り返し失敗したIPアドレスをブロックする機能を含んでいます。現代のクレデンシャルスタッフィングソフトウェアは、ボットを使用し、さまざまなデバイスタイプから、また異なるIPアドレスから始まるように見えるいくつかのログインを同時に試みることにより、これらの保護を出し抜こうとします。悪意のあるボットのゴールは、攻撃者のログインの試行を通常のログイントラフィックと見分けられないようにすることで、これは非常に有効です。

標的になった会社で、攻撃を受けていることがわかる1つの徴候は、全体的なログイン試行の回数の上昇です。しかし標的になった会社では、攻撃を検知しても、正当なユーザーがサービスにログインできる能力を損なわずにこれらの試みを止めることは困難です。

クレデンシャルスタッフィング攻撃が有効な主な理由は、人々がパスワードを使い回すことです。研究によると、大多数のユーザーが、いくつかの評価では85%まで、多数のサービスで同じログイン認証情報を再使用していることを示唆します。こうしたことが継続する限り、クレデンシャルスタッフィングは止まりません。

クレデンシャルスタッフィングとブルートフォースアタックの違いとは?

OWASPは、ブルートフォースアタックの一部としてクレデンシャルスタッフィングを分類しています。しかし、厳密に言えば、クレデンシャルスタッフィングは従来のブルートフォースアタックとは非常に異なります。ブルートフォースアタックは、コンテキストや手掛かりのないパスワードを推測することを試み、アトランダムまたは一般的なパスワードと組み合わせた文字列を使用します。クレデンシャルスタッフィングは漏洩したデータを使用し劇的に正解の数を絞り込みます。

ブルートフォースアタックに対する正しい防御は、多くの文字列から成り、大文字、小文字、数字および特殊文字を含む強力なパスワードです。しかし、パスワードの強度はクレデンシャルスタッフィングに対して保護はできません。パスワードがどれくらい強いかということは重要ではありません。パスワードが異なるアカウントで共有される場合、クレデンシャルスタッフィングの標的になります。

クレデンシャルスタッフィングを防ぐ方法

ユーザーがクレデンシャルスタッフィングを防ぐ方法

ユーザーの視点から見て、クレデンシャルスタッフィングに対して防御することは簡単です。ユーザーは、個々の異なるサービスそれぞれ異なるパスワードを使用するべきです(これを達成する容易な方法として、パスワードマネージャーがあります)。ユーザーが常に別々のパスワードを使用すれば、クレデンシャルスタッフィングは成立しません。セキュリティの追加手段として、ユーザーは2要因認証が利用可能な場合常に利用するように奨励されます。

会社がクレデンシャルスタッフィングを防ぐ方法

クレデンシャルスタッフィングを止めることは認証を実行する会社にとってより複雑な挑戦です。クレデンシャルスタッフィングは、別会社のデータ漏洩の結果生じます。クレデンシャルスタッフィング攻撃によって犠牲となった会社では必ずしも自社のセキュリティが危険にさらされていません。

会社は、ユーザーに他では使用しないパスワードを設定することを提案することはできますが、強制することはできません。いくつかのアプリケーションはクレデンシャルスタッフィングに対する対策としてパスワードを登録する前に既知の危険にさらされたパスワードのデータベースと提出されたパスワードを照合しますが、これはそれほど簡単ではありません。ユーザーは、まだ漏洩していないサービスのパスワードを再使用することがあります。

追加ログインセキュリティを提供することで、クレデンシャルスタッフィングの緩和を支援できるかもしれません。二要素認証やログイン時のユーザーへのCAPTCHAの入力要求といった機能を利用することは、悪意のあるボットの阻止に繋がります。こうした機能はユーザーには不便ですが、セキュリティ脅威の軽減はこの不便さに値する価値があります。

クレデンシャルスタッフィングからの最も強い保護はボット管理サービスです。ボット管理は、レート制限をIPレピュテーションデータベースと併せて使用し、正当なログインを損なわずに、悪意のあるボットがログインを試みないよう阻止します。Cloudflare Bot Managementは、毎日Cloudflareネットワークを通りる4250億のリクエストのデータをもとに、クレデンシャルスタッフィングボットをまさに高精度で認識し、止めることができます。