コンテンツにスキップ

クライアントサイド防御の機能

F5 Distributed Cloud クライアントサイド防御 (CSD) は、ブラウザ内で JavaScript の動作を直接監視することにより、Web アプリケーションをクライアントサイド攻撃から保護します。F5 XC ロードバランサーは、クライアントに配信されるページに CSD テレメトリスクリプトを挿入するよう設定できます。このスクリプトは、すべての JavaScript アクティビティ(どのスクリプトが読み込まれるか、どのフォームフィールドを読み取るか、どのネットワーク接続を確立するか)を監視します。テレメトリデータは F5 XC プラットフォームに送信され、機械学習モデルがスクリプトの動作を分析し、リスクスコアを割り当て、異常を検出します。セキュリティチームは CSD コンソールで検出結果を確認し、スクリプトドメインを許可またはブロックする対応を行います。

flowchart LR
    A["Browser JS"] --> B["CSD Telemetry Script"]
    B --> C["F5 XC Platform"]
    C --> D["ML Analysis"]
    D --> E["CSD Dashboard"]

CSD はブラウザサイドの動作を 3 つのカテゴリで監視します:

シグナルCSD が監視する内容
フォームフィールドの読み取りどのスクリプトが、ページロード時に DOM に存在するどの input フィールドにアクセスするか/login ページの password フィールドを読み取る main.js
スクリプトインベントリ各ページに読み込まれるすべてのファーストパーティおよびサードパーティ JavaScript。ソースドメイン別に追跡ログインページに cdn.jsdelivr.net から読み込まれる新しい <script> タグが出現する
ネットワークインタラクションスクリプトのネットワークアクティビティに関連するドメイン — スクリプトロードのソースドメインと fetch/XHR の宛先ドメインの両方を含むesm.sh をソースとするスクリプトや www.httpbin.org などのデータ窃取先が検出ドメインに出現する
機能説明コンソールの場所
スクリプトリスクスコアリング自動分類:リスクなし、低リスク、高リスクスクリプトリスト → リスクレベル列
フォームフィールドの感度フィールドの種類と名前に基づき、システムが自動的にフィールドを「機密」に分類フォームフィールドビュー → 分析列
動作タイムラインスクリプトのリスクレベル、ソースドメイン、種類の経時変化をグラフ表示スクリプト詳細 → 概要 → 時系列の動作
影響ユーザーの帰属IP、ジオロケーション、ブラウザ、デバイスにより影響を受けたユーザーを追跡スクリプト詳細 → 影響ユーザータブ
ドメイン許可リスト信頼済みのスクリプトドメインを許可としてマークダッシュボード → ドメイン行 → 許可リストに追加
ドメイン緩和リスト特定のスクリプトドメインからのネットワーク呼び出しおよびフォームフィールドの読み取りをブロックし、データ窃取を防止ダッシュボード → ドメイン行 → 緩和リストに追加
アラート設定新規ドメイン、リスク変化、不審な動作に対する通知通知セクション
スクリプトの正当性記録スクリプトが承認されている理由を説明するメモを追加(PCI DSS コンプライアンス対応)スクリプト詳細 → 正当性フィールド
トランザクション追跡CSD が有効であることを確認する月次テレメトリイベントカウンターダッシュボード → 消費トランザクションカード
時間と場所のフィルター時間範囲(24 時間、7 日、30 日)および場所でビューをフィルタリングトップバーのフィルターコントロール

CSD が監視しない内容を理解することは、正確なデモの期待値を設定するうえで重要です:

制限事項詳細確認済み
動的に作成されたフィールドCSD はページロード時に DOM に存在する input フィールドを追跡します。ロード後に JavaScript によって挿入されたフィールドは監視されません。スクリプトが動的に作成した <input> を読み取っても、フォームフィールドビューには表示されません。確認済み — 10 分待機後も /formFields にフィールドが存在しない
コードレベルの難読化CSD は動的コード実行技術や難読化パターンを個別の検出シグナルとしてフラグ立てしません。難読化されたハーベスターは難読化されていないものと同じリスクレベルを生成します — CSD はソースコードのパターンではなく、動作メタデータを追跡します。確認済み — 両技術とも同じ「高リスク」
フォームオーバーレイフィールドCSD はページロード時に元の DOM に存在するフォームフィールドのみを追跡します。JavaScript によって挿入されたオーバーレイフォーム(一般的なデジタルスキミング技術)は追跡されません — 元のフィールドへの読み取りのみが検出されます。確認済み — 10 分待機後も /formFields にオーバーレイフィールドが存在しない
ダッシュボードカウンターの動作「検出済みおよび緩和済み」と「検出済みおよび許可済み」のサマリーカウントは、管理者が明示的にドメインを緩和リストまたは許可リストに追加した後のみ変化します。「対応が必要」と「合計検出数」のカウントは、新しいドメインが検出されると自動的に更新されます。確認済み — /allowed_domains へ POST 後にのみ「検出済みおよび許可済み」が 0 から 1 に変化

CSD は、決済ページセキュリティに関する 2 つの PCI DSS v4.0 要件に直接対応しています:

PCI DSS 要件要求内容CSD による対応方法
6.4.3 — 決済ページのスクリプト管理すべてのスクリプトのインベントリを維持し、各スクリプトに書面による承認と正当性を提供し、スクリプトの整合性を検証するスクリプトリストが完全なインベントリを提供;正当性フィールドが承認を文書化;動作タイムラインが変更を追跡
11.6.1 — 決済ページの改ざん検出HTTP ヘッダーおよび決済ページコンテンツへの不正な変更を検出するCSD テレメトリが新しいスクリプトインジェクション、不正なフォームフィールドの読み取り、新しいネットワークドメインを検出し、ページ動作の変化についてアラートを発する

以下の表は、一般的なクライアントサイド攻撃カテゴリを、各攻撃タイプで発動する CSD の検出シグナルにマッピングしたものです。* が付いた攻撃タイプは F5 公式ドキュメントによって確認されています。マークのないタイプは CSD の検出シグナルカテゴリに基づいて推測されたものであり、F5 が明示的に主張しているものではない場合があります。

攻撃カテゴリ説明フィールド読み取りスクリプトインジェクションネットワーク
フォームジャッキング *悪意のあるスクリプトがフォームフィールドの値を読み取り、窃取するありあり
デジタルスキミング *オーバーレイフォームまたはスクリプトを挿入して決済データを取得するありありあり
サプライチェーン攻撃 *侵害されたサードパーティライブラリが悪意のあるコードを読み込むありあり
データ窃取 *機密データを読み取り、外部ドメインに送信するありあり
スクリプトインジェクション *不正な <script> タグをページに挿入するありあり
クリプトジャッキング *暗号通貨マイニングスクリプトを挿入するありあり
DOM 操作ページ要素を挿入または変更してユーザーを欺くあり
Man-in-the-Browserブラウザセッション内でフォームデータを傍受する — OWASP および MITRE T1185 を参照ありあり
クリックジャッキング非表示フレームをオーバーレイしてユーザーのクリックを乗っ取る — OWASP を参照あり
Web スキマーの永続化ページナビゲーション全体でスキマースクリプトを再挿入する — Sansec Magecart Research を参照ありあり