検出エンジン動作原理
BotManager検出エンジンは、接続リクエストに対する多様な検証と検出過程を経て、正常またはボットかどうかを判定し、ブロック応答の有無を決定します。
概要
検出エンジンは、エージェント(ウェブページまたはサーバー側ライブラリ)からリクエストを受信してポリシーベース検出を実行します。
処理フロー
1. リクエスト受信
検出エンジンは、エージェントから以下の情報を含むリクエストを受信します:
- クライアントIPアドレス
- User-Agentヘッダー
- リクエストURLパス
- セッションID / ログインID
- その他HTTPヘッダー情報
2. URL適用有無確認
現在のリクエストがポリシーが設定されたAPIパスまたは下位パスに該当するか確認します。
- ポリシーはパス別に細分化して設定可能
- 未適用パスの場合ポリシー検出省略
3. ブロック履歴確認
現在のリクエストのlogin_idまたはsession_idが既にブロックされた状態か確認します。
ブロック履歴がない場合、ポリシー別検出ロジックを実行します。
ポリシー別検出ロジック
静的ポリシー
ヘッダー分析
エージェントから送信されたHTTPヘッダー値が事前に登録された値と一致または含まれる場合検出します。
- User-Agentヘッダー検査
- 異常なクッキー、カスタムブラウザヘッダー検出
IP分析
リクエストIPがCIDR形式でコンソールに登録されたIPリストに含まれる場合検出します。
- 共用VPN、プロキシIP
- 攻撃パターンの主要発信地
開発者ツール検出
ブラウザで開発者ツールが有効化された状態のとき、クライアント側から特定情報を送信します。
- クライアントエージェントインストール必要
- 自動化スクリプト検出目的
Selenium検出
自動化ツール(Seleniumなど)がリクエストした場合、クライアント側から検出情報を伝達します。
- クライアント側ライブラリを通じた検出
- ブラウザ自動化ツール識別
海外IP検出
クライアントIPをGeoIPベースで照会後、ドメイン設定と異なる国の場合検出します。
- 不法海外アクセス防止目的
- 国別アクセス制御
行動分析(Behavioral Detection)
複雑で精密な検出のために、多様な時間/パス/識別子条件を基準にユーザーの行動を分析します。
接続頻度ベース
| 検出タイプ | 説明 |
|---|---|
| 特定パス過多リクエスト | 特定パスに1日N回以上接続時 |
| 全体パス過多リクエスト | すべてのパスに1日/1分/1秒間N回以上接続時 |
一定性ベース(パターン接続)
| 検出タイプ | 説明 |
|---|---|
| 反復接続パターン | 最近N分間毎分同一回数で接続時 |
多重識別子ベース
| 検出タイプ | 説明 |
|---|---|
| セッションID - IP | 同じsession_idが1日間N個のIPで接続時 |
| IP - ログインID | 同じIPから1日間N個のlogin_idで接続時 |
時間帯ベース
| 検出タイプ | 説明 |
|---|---|
| 許可時間外接続 | 特定パスに対して設定された許可時間外にN回接続時 |
地域ベース
| 検出タイプ | 説明 |
|---|---|
| 多国接続 | 1日間N個の国から同一login_idで接続時 |
多重機器検出
| 検出タイプ | 説明 |
|---|---|
| 同時セッション | 同じlogin_idが1時間間複数のsession_idで接続時 |
| パス別多重セッション | 特定パスでのみlogin_idが複数のsession_idで接続時 |
統計ベース分析
現在接続中の全ユーザーの平均接続パターンをリアルタイムで分析し、平均対比異常に高いリクエスト頻度を検出します。
検出結果処理
ポリシー検出結果に従って以下のように処理されます:
| 結果 | 説明 | 後続処理 |
|---|---|---|
| 通過 | 正常ユーザーと判定 | サービス利用許可 |
| 検出 | ボットとして検出、検出モード | ログ記録後サービス利用許可 |
| ブロック | ボットとして検出、ブロックモード | ブロック応答または2次検証 |