メインコンテンツへスキップ

開始前に

Brute Force Protection を設定し、ログとしきい値アラートを構成する必要があります。
攻撃者は、機密性の高いシステムへのアクセスを得るために、ブルートフォース攻撃の手法 (TT1110) を用いることがあります。ブルートフォース攻撃の多くは単純で、比較的容易に防げますが、防御には多くのリソースが必要になる場合があります。以下では、一般的なブルートフォース攻撃の手法と、テナントに対する潜在的な攻撃を特定して調査するためのガイダンスを示します。

注目すべきログイベントを見つける

IP をブロックしたり、その他の方法で攻撃に対処したりする前に、対象のログメッセージを精査して侵害の兆候を特定します。攻撃元は限られた範囲の IP である場合もあれば、単一の自律システム番号 (AS 番号) や国である場合もあります。 ブルートフォース攻撃を調査する際に関連するログイベントタイプは次のとおりです。これらは Auth0 テナントログ で確認できます。
  1. f: ユーザーログインの失敗
  2. fu: username が無効なため、ユーザーログインに失敗
  3. fp: パスワードが無効なため、ユーザーログインに失敗
  4. pwd_leak: 漏えいしたパスワードでログインを試行
  5. signup_pwd_leak: 漏えいしたパスワードでサインアップを試行
  6. limit_wc: 単一アカウントへのログイン失敗が 10 回を超えたため、IP をブロック
  7. limit_sul: 同じ IP アドレスから 1 分間に 20 回を超えるログインがあったため、ユーザーをブロック
  8. limit_mu: ログイン失敗が 100 回を超えた、またはサインアップ試行が 50 回を超えたため、IP をブロック
  9. fcoa: クロスオリジン認証の失敗
  10. scoa: クロスオリジン認証の成功

パスワード推測

攻撃者は、テナントのポリシーについてほとんど事前知識がなくても、アカウントへのアクセスを試みて繰り返しパスワードを推測することがあります (TT1110.001) 。攻撃者は、未知のパスワードを持つユーザーが存在するかどうかを手当たり次第に推測しているにすぎないため、Auth0ログ には fpfufcoa のログイベントが多数表示されます。詳細については、Auth0 の Breached Password プレイブック を参照してください。

パスワードスプレー攻撃

攻撃者は、正規のユーザーアカウントにアクセスするために、よく使われる一般的なパスワードを多数試します (TT1110.003) 。この攻撃は Auth0 のブルートフォース対策に引っかかることが多く、ログには fpfufcoa のイベントが多数記録されます。

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

クレデンシャルスタッフィング (TT1110.004) は、パスワードを使用しているものの追加の認証要素を備えていないテナントに対して最も効果的です。漏えいしたパスワードを悪用し、そのパスワードの辞書を使って被害者のアカウントへのログインを試みることで、クレデンシャルスタッフィング攻撃は fp ログイベントと pwd_leak ログイベントを生成します。

サインアップ攻撃

攻撃者は、ユーザー名列挙攻撃 (T1087) やサインアップ詐欺キャンペーンの一環として、短時間に大量のアカウントを登録しようとすることがあります。ユーザー名列挙攻撃では、攻撃者はテナント上にユーザーアカウントが存在するかどうかを確かめようとします。目的は、サインアップ特典を悪用するために多数のアカウントを作成したり、後の攻撃に備えて作成から時間の経ったアカウントを用意したりすることです。サインアップ攻撃では、fssssignup_pwd_leak のログイベントが生成されます。

Auth0 Management API を使用した検出

Auth0 Management API では、ログ検索クエリ構文 を使用して、対象期間内の特定のログタイプについてテナントログを照会できます。さらに高度なユースケースには、Auth0 ログストリームを活用して、データウェアハウスや SIEM などのログ集約ツールを使用する方法もあります。 Auth0 の を使用する場合、想定される攻撃の期間は、YYYY-MM-DD 形式の date:[startdate to enddate] で指定します。たとえば 2024-10-01 です。現在の日付を表すには * を使用します。 対象期間を想定される攻撃期間に限定することで、関心のある種類のログイベントをすべて取得できます。以下は、2024 年 10 月 1 日から現在までのブルートフォース攻撃を検索するクエリの例です。
date:[2024-10-01 TO *] AND (type:"f" OR type:"fu" OR type:"fp" OR type:"pwd_leak" OR type:"limit_wc" OR type:"limit_sul" OR type:"limit_mu" OR type:"fcoa")
高度な分析を行う場合や、Auth0 外のアプリケーションとログインアクティビティを関連付ける場合は、任意の外部ツールへのログストリーミングを有効にします。分析用にテナントからログイベントの一部を抽出する方法については、Management API ドキュメントを参照してください。

緩和策

攻撃から最適に保護するには、次の戦略を検討してください。
  • 漏えいした認証情報に対して最小限のユーザー負担で保護するため、Breached Password Detection または Credential Guard を有効にします。ただし、いずれも辞書攻撃は防げない点に注意してください。
  • 1 つ以上のフローでキャプチャを有効にし、必要に応じてキャプチャの実行頻度を上げます。ただし、キャプチャは抑止策であり、根本的な解決策ではありません。
  • 攻撃者が現在のキャプチャを回避している場合は、キャプチャプロバイダーを変更するか、Auth0 の Auth Challenge または別のサポート対象プロバイダーへの移行を検討してください。
  • 悪意のあるアクターを含め、すべてのユーザーによるアカウント作成を一時的に無効にします。
  • 不正な IP、AS 番号、地理的な場所、TLS クライアント、または user-agent 文字列のような HTTP ヘッダー要素をブロックするために、エッジプロバイダー側で Web アプリケーションファイアウォールのルールを変更するか、テナントアクセス制御リスト を使用し、リバースプロキシの導入も検討してください。
  • 許可される接続数の上限を下げてブルートフォース攻撃を緩和するため、Brute ForceSuspicious IP のしきい値を厳しくします。
  • fcoa および scoa イベントが頻繁に発生している場合は、Cross-Origin Authentication の設定を変更して未使用のエンドポイントを無効にします。なお、Auth0 はクロスオリジン認証の使用を推奨していません。
  • 侵害されたアカウントに対して step-up MFA を強制し、必要に応じて、侵害の可能性があるアカウントには を必須にすることも検討してください。
  • SMS ポンピング攻撃や通話料詐欺攻撃を緩和するため、SMS または音声ベースの MFA を OTP または WebAuthn に置き換え、より強力な MFA オプションへ移行します。
  • SMS/音声 MFA を使用している場合は、Twilio の Preventing Fraud in Verify など、SMS/音声プロバイダーの不正利用対策を実装します。