2026年のウェブスキミング:防御者のための完全ガイド
Magecart、formjacking、service workerのスキマーは同じ脅威ファミリーだ。今日のウェブスキミングがどのように見えるか、そして何がリアルに止めるかを解説する。
ウェブスキミングとは、注入されたクライアントサイドコードによって訪問者のブラウザから直接カードデータや認証情報を盗む行為の総称だ。Magecartは最も有名なサブグループ、formjackingはより広い手法、スキマーはスクリプト自体を指す。すべてに共通するパターンがある:侵害された依存関係、静かなリスナー、攻撃者のドメインへの流出。
2024〜2026年の変化:スキマーが明らかなインライン<script>タグに潜むことはほぼなくなった。現在私たちが確認している主要な亜種は、service worker(ページのリロードをまたいで持続する)、WebAssemblyブロブ、lazy-importedチャンク、PNG/SVGステガノグラフィーに隠れている。多くはheadlessブラウザに対するanti-analysis検査を通過した本物のセッションに対してのみ条件付きで起動する。
この条件付き起動こそ、パッシブスキャナーが失敗する理由だ。静的HTMLを読み取るか、1日1回シグネチャを照合するスキャナーは、本物のインタラクションがあった場合にのみ現れるペイロードを見ない。実際の訪問者に十分似せてスキマーを起動させ、起動時にすべてを記録できる、実ブラウザ実行のモニタリングが必要だ。
ExploitShieldのアプローチ:service-workerフックを備えた完全にインスツルメントされたChromiumが5分ごとに合成チェックアウトを実行し、実行されたすべてのJSボディを記録し、一般的なパッカーを難読化解除し、すべての送信POSTの宛先を500以上のブロックリストとスキマー形状エンドポイントのヒューリスティックに照合する。スキマーは本物らしいセッションに対して正確に一度だけ起動する——私たちには本物のセッションに見えるから検知できる。
防御者のチェックリスト:決済フローのサードパーティスクリプトのインベントリを維持する。接続のallow-listを含むContent-Security-Policyを適用する。実ブラウザ実行時の送信先をモニタリングする。チェックアウトページから到達した新規登録ドメインは、反証されるまでインシデントとして扱う。