Skip to main content

始める前に

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

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

IP をブロックしたり、別の方法で攻撃に対処したりする前に、対象のログメッセージを精査して侵害の兆候を特定します。攻撃元は限られた数の IP である場合もあれば、単一の AS 番号や国である場合もあります。 ブルートフォース攻撃を調査する際は、以下のログイベントタイプが参考になります。これらは Auth0 テナントログ で確認できます。
  1. f: ユーザーのログイン失敗
  2. fu: 無効なユーザー名によるユーザーのログイン失敗
  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 logs には fpfufcoa の ログイベント が多数表示されます。詳しくは、Auth0 の Breached Password プレイブック をご覧ください。

パスワードスプレー

攻撃者は、正規のユーザーアカウントへのアクセスを得るために、よく使われるパスワードを多数試します (TT1110.003) 。こうした試みは Auth0 のブルートフォース対策にしばしば検知され、ログには fpfufcoa のログイベントが多数残ります。

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

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

サインアップ攻撃

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

Auth0 Management API を使用した検出

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

緩和策

攻撃から効果的に保護するには、次の対策を検討してください。
  • 漏えいパスワードの検知 または Credential Guard を有効にして、ユーザーの負担を最小限に抑えながら漏えいした資格情報から保護します。ただし、どちらも辞書攻撃には有効ではない点に注意してください。
  • 1 つ以上のフローで CAPTCHA を有効化し、必要に応じて CAPTCHA の表示頻度を上げてください。ただし、CAPTCHA は抑止策であって、根本的な解決策ではありません。
  • 攻撃者に現在の CAPTCHA を回避されている場合は、CAPTCHA プロバイダーを変更するか、Auth0 の Auth Challenge または別のサポート対象プロバイダーへの移行を検討してください。
  • 悪意のある攻撃者を含め、すべてのユーザーによるアカウント作成を一時的に無効にします。
  • エッジプロバイダー側で Web アプリケーションファイアウォールのルールを変更するか、テナントアクセス制御リストを使用して、不正な IP、自律システム番号、地理的な場所、TLS clients、または user-agent 文字列のような HTTP ヘッダー要素をブロックし、リバースプロキシの導入も検討してください。
  • 許可される接続数の上限を引き下げてブルートフォース攻撃を緩和するために、ブルートフォースSuspicious IP のしきい値を厳しくします。
  • アプリケーションが クロスオリジン認証 のエンドポイントに依存していない場合 (たとえば、Universal Login のみを使用している場合や、埋め込みフローで OAuth 2.0 トークンエンドポイントを直接使用している場合) は、fcoascoa のイベントが頻繁に見られる際にそれらのエンドポイントを無効にして、未使用の攻撃対象領域を削減してください。
  • 侵害されたアカウントに対しては、潜在的に侵害されているアカウントに を要求することも含め、step-up MFA を強制します。
  • SMS ポンピング攻撃や通話料金詐欺攻撃を緩和するため、SMS または音声ベースの MFA を OTP または WebAuthn に置き換え、より強力な MFA オプションへ移行してください。
  • SMS/音声 MFA を使用する場合は、Twilio の Preventing Fraud in Verify のような、SMS/音声プロバイダーの不正防止機能を導入してください。