API乱用防止
¶
WallarmプラットフォームのAPI乱用防止モジュールは、クレデンシャルスタッフィング、偽アカウントの作成、コンテンツスクレイピング、その他APIを標的とした悪意のある行動を行うボットによるAPI乱用を検出し、緩和します。
API乱用防止によってブロックされる自動脅威¶
API乱用防止モジュールは、デフォルトで次の種類のボットを検出します:
API乱用プロファイルのセットアップ中に、API乱用防止モジュールの設定を行い、すべての種類のボットから保護するか、特定の脅威にのみ保護を限定することができます。
API乱用防止の仕組み¶
API乱用防止モジュールは、MLベースの手法に加え、統計的および数学的な異常検出手法や直接的な乱用事例を組み合わせた複雑なボット検出モデルを使用します。このモジュールは通常のトラフィックプロファイルを自己学習し、著しく異なる振る舞いを異常として識別します。
API乱用防止は、複数の検出器を使用してそのセッション内で悪意のあるボットを識別します。このモジュールは、どの検出器が判定に関与したかの統計情報を提供します。
以下の検出器が関与する場合があります:
-
Bad user-agent は、リクエストに含まれる
User-Agent
ヘッダーを解析します。この検出器は、クローラー、スクレイパー、セキュリティチェッカーに属するものを含む特定の署名をチェックします。 -
Authentication abuse は、認証要求の割合を所定の閾値と比較し、各間隔ごとのリクエスト数を解析して異常な振る舞いを識別します。また、誤検知を回避するために、アプリケーションに対する認証要求の総量も取り入れます。
-
Request uniqueness は、セッション中に訪問されたユニークなエンドポイントの数を解析します。クライアントが常に10%以下など、低い割合のユニークなエンドポイントのみを訪問する場合、人間のユーザーではなくボットである可能性が高いです。
-
Suspicious behavior score は、セッション中に行われる通常と異常のビジネスロジックのAPIリクエストを解析します。
-
Business logic score は、アプリケーションの振る舞いの文脈内で重要または機微なAPIエンドポイントの使用状況を解析します。
-
Request rate は、特定の時間間隔内に行われたリクエスト数を解析します。もしAPIクライアントが一定の閾値を超える高い割合のリクエストを常に行う場合、人間のユーザーではなくボットである可能性が高いです。
-
Request interval は、連続するリクエスト間の時間間隔を解析し、ランダム性に欠けるボットの振る舞いの兆候を探します。
-
Query abuse は、所定の閾値を超えるリクエスト量を異常とみなして解析します。また、パラメータが変動するクエリで閾値を超えるクライアントも異常と判断します。さらに、検出器はクライアントのクエリパターンを通常の振る舞いと比較してボット活動を識別します。
-
Outdated browser は、リクエストで使用されるブラウザおよびプラットフォームを解析します。もしクライアントが時代遅れまたはサポートされていないブラウザやプラットフォームを使用している場合、人間のユーザーではなくボットである可能性が高いです。
-
Wide scope は、IP活動の幅を解析してボットのようなクローラーを行動パターンから識別します。
-
IP rotation は、攻撃者がIPアドレスのプールを利用するアカウントの乗っ取り攻撃の一環であるリクエストを解析します。
-
Session rotation は、攻撃者がセッションのプールを悪用するアカウントの乗っ取り攻撃の一環であるリクエストを解析します。
-
Persistent ATO は、長期間にわたって徐々に発生するアカウントの乗っ取り攻撃の一環であるリクエストを解析します。
信頼度
検出器の解析の結果、検出された各ボットは信頼度パーセンテージを獲得します。これは、それがボットであるとどの程度確信しているかを示します。各ボットタイプにおいて、検出器は相対的重要度(票数)に違いがあるため、信頼度パーセンテージはそのボットタイプにおける全可能票数に対する獲得票数として算出されます。
もし一つまたは複数の検出器がbot attack signsを示した場合、モジュールは異常トラフィックの発信元を1時間、denylistまたはgraylistに登録します。Wallarmは、30日間でdenylistおよびgraylistに登録されたボットのIPを集計し、前の30日間と比較してその数がどれだけ増減したかを表示します。
このソリューションは、トラフィックの異常を十分に観察してから悪意のあるボット行動として帰するため、発信元をブロックします。メトリックの収集と解析には時間がかかるため、最初の悪意のあるリクエストが発生してから直ちに悪意のあるボットをリアルタイムでブロックするのではなく、平均的に異常な活動を大幅に削減します。
セットアップ¶
API乱用防止モジュールで悪意のあるボットの検出と緩和を開始するには、1つ以上のAPI乱用プロファイルを作成して設定してください。
API乱用防止機能をより正確にするため、認証されていないトラフィックをセッションにまとめる際のより良い識別のために、JA3フィンガープリントの有効化を推奨します。