ESA のアカウントセキュリティ機能は、AI と機械学習を利用してアカウント乗っ取り (ATO) 攻撃を検出します。クレデンシャルスタッフィング、ブルートフォース攻撃、フィッシング、マルウェアによる窃取から効果的に保護します。
ATO 攻撃とは
アカウント乗っ取り (ATO) は、攻撃者がユーザー名やパスワードなどのログイン認証情報を盗み、オンラインアカウントを不正に制御する ID 詐欺の一種です。
ESA のアカウントセキュリティ機能は、AI と機械学習を利用して異常なログイン動作を検出し、以下の種類の攻撃から保護します。
クレデンシャルスタッフィング:他のウェブサイトから漏洩したユーザー名とパスワードの組み合わせを使用してログインを試みます。
ブルートフォース攻撃:多数のパスワードの組み合わせを試してアカウントを解読します。
フィッシング:ユーザーを騙してログイン認証情報を開示させます。
マルウェアによる窃取:悪意のあるソフトウェアを通じてユーザーのログイン情報を盗みます。
この機能は Enterprise Edition でのみ利用可能です。この機能を使用するには、ビジネス担当者に連絡して購入し、有効化してください。
仕組み
ESA のアカウントセキュリティ機能は、以下の方法で ATO 攻撃を検出し、保護します。
検出メトリック
ESA は以下のメトリックを監視および分析します。
検出メトリック | 説明 |
ログイン失敗率 | 特定のソースからのログイン失敗の回数とレートを監視します。 |
ログイン試行頻度 | 異常に高い頻度のログイン試行を検出します。 |
デバイスフィンガープリントの変更 | 複数のデバイスまたは地理的な場所からのアカウントへのアクセスを識別します。 |
行動異常 | AI モデルを使用して、通常のパターンから逸脱したログイン動作を識別します。 |
リスクスコアリング
システムは、各ログインまたは登録リクエストに対してリスクスコア (0 から 100) を計算します。
低リスク:0~30 (デフォルト)。通常のトラフィックを示し、パスが許可されます。
中リスク:31~60 (デフォルト)。不審なトラフィックを示します。推奨されるアクションは、観察 または JS チャレンジ や スライダーチャレンジ などのチャレンジの発行です。
中高リスク:61~80 (デフォルト)。不審なトラフィックを示します。推奨されるアクションは、JS チャレンジ や スライダーチャレンジ などのチャレンジの発行です。
高リスク:81~100 (デフォルト)。信頼度の高い脅威を示します。推奨されるアクションは、リクエストの ブロック です。
ESA は、ご利用のサイトの通常のトラフィックパターンに基づいて検出のしきい値を動的に調整し、誤検知を削減します。
アカウントセキュリティの設定
前提条件
ESA Enterprise にサブスクライブしていること。
ご利用のサイトを ESA に追加し、接続していること。
ステップ 1: ログインエンドポイントの追加
ログインに使用される API エンドポイントを定義します。システムはこの構成を使用して、アカウント情報を自動的に抽出し、リスクを評価し、ユーザーアカウントを保護します。
ESA コンソールで、サイト管理 を選択します。サイト 列で、対象のサイトをクリックします。
左側のナビゲーションウィンドウで、 を選択します。
アカウントセキュリティ ページで、アカウント API タブをクリックし、追加 をクリックします。ログイン API エンドポイントのパラメーターを設定し、OK をクリックします:
リクエストメソッド:GET、POST、PUT、PATCH、HEAD、DELETE をサポートします。
ホスト名:ログイン機能のホストレコードを選択します (例:
login.example.com)。パス:ログイン機能のパスを入力します (例:
/login-in)。その他のマッチングフィールド:AND ロジックを使用して追加の照合条件を指定します (例:
Header my-header Equals test)。アカウント抽出位置:アカウント情報を抽出する場所を指定します (例:
Body Parameter $.username)。ログイン成功の判定条件:ログイン成功の条件を定義します (例:
Status Code Equals 200)。ログイン失敗の判定条件:ログイン失敗の条件を定義します (例:
Status Code Equals One Of 403 413 423)。
ステップ 2: 保護ルールの作成
リスクレベルに基づいてリクエストに特定のアクション (ブロックやチャレンジなど) を適用する保護ルールを作成します。
「アカウントセキュリティ」ページで、「保護ルール」タブをクリックし、その後「ルールの追加」をクリックします。
保護するアカウント API を選択し、対応するアクションを定義してから、OK をクリックします:
ルール名:ルールにカスタム名を入力します (例:
login-protection-high-risk-block)。アカウント API:ステップ 1 で追加した API を選択します。
実行:
保護ポリシー:適用する緩和ポリシーを選択します。また、カスタムポリシーを追加することもできます。
保護アクション:中リスクアクション、中~高リスクアクション、高リスクアクション など、さまざまなリスクレベルのアクションを設定します。
次の表に、利用可能なアクションを示します。
アクション | 説明 | ユースケース |
観察 | リクエストをブロックせずにログに記録します。 | 初期の観測およびテストフェーズ。 |
JS チャレンジ | ESA は、標準的なブラウザが自動的に実行できる JavaScript コードをクライアントに返します。クライアントがコードを正常に実行した場合、ESA はそのクライアントからの後続のすべてのリクエストを、設定された期間 (デフォルト:30 分) 、追加の検証なしでパスさせます。それ以外の場合、リクエストはブロックされます。 | 手動検証が許容される中リスクのトラフィック。 |
スライダーチャレンジ | ESA は、スライダーパズルページをクライアントに返します。クライアントがパズルを正常に解いた場合、ESA はそのクライアントからの後続のすべてのリクエストを、設定された期間 (デフォルト:30 分) パスさせます。それ以外の場合、リクエストはブロックされます。 | 中リスクのトラフィックに推奨されます。 |
ブロック | リクエストを直接拒否します。 | 高リスクのトラフィック。 |
ステップ 3: 設定の微調整 (任意)
リスクスコアリング戦略をより詳細に制御する必要がある場合は、保護ポリシーを設定できます。
アカウントセキュリティ ページで、保護ポリシー タブをクリックし、ポリシーの作成 をクリックします。
カスタムのリスクレベル範囲を設定し、OK をクリックします:
ポリシー名:ポリシーにカスタム名を入力します (例:
strict-protection-policy)。リスクレベルスコアの定義:低リスク、中リスク、中高リスク、高リスク の 4 つのリスクレベルのスコア範囲を微調整します。変更はすぐに有効になり、いつでも調整できます。
この機能を初めて使用する場合は、デフォルト設定を維持することを推奨します。
1~2 週間トラフィックを監視し、ビジネスニーズに基づいて設定を調整してください。
しきい値を厳しく設定しすぎると、正当なユーザーに影響を与える可能性があるため、避けてください。