Webアプリケーションの基盤を脅かす「サードパーティWebスクリプト」の改ざん
確認時の注意:事例の報道内容や影響範囲は更新される可能性があります。公開時点の一次情報、公式発表、脆弱性情報を確認し、環境の所有者の承認とバックアップを準備してから対策を適用してください。
【背景と概要】
現代のWebサイト(特にECサイトや会員ポータル)は、アクセス解析、広告配信、チャットサポート、レコメンド機能などを実現するため、外部のサードパーティ企業が提供する「JavaScriptスクリプト」を多数読み込んで動作しています。
しかし、自社のWebサーバーが頑丈に保護されていても、外部から読み込んでいるサードパーティ製JavaScriptのサーバーがハッキング・改ざんされた場合、自社サイトを訪れたユーザーの決済情報やパスワードが盗み出される「Formjacking(フォームジャッキング) / Magecart攻撃」の被害が発生しています。
【サードパーティWebスクリプト改ざん(Magecart等)の手口】
自社サイトのコードを直接変更せずにユーザー情報を窃取する巧妙な手法です。
- サードパーティ広告・解析ベンダーのハッキング
自社サイトが利用しているアクセス解析ツールやタグマネージャーの提供元サーバー(サードパーティ)へ攻撃者が侵入します。
- JavaScriptコード内へのスキミングコード注入
提供元サーバーにあるJavaScriptファイルの中に、入力フォームのデータを盗み出す悪質なスキミングコード(Magecart)を数行挿入します。
- ユーザーが入力したクレジットカード情報のリアルタイム盗聴
自社サイトの決済画面でユーザーがカード番号やCVV(セキュリティコード)を入力すると、改ざんされたJavaScriptがバックグラウンドで動作し、入力データをリアルタイムで攻撃者のC2サーバーへ転送します。
【なぜ自社のセキュリティ診断で気づけないのか】
悪質コードは自社のWebサーバー内には存在せず、ユーザーのブラウザ上で「外部から動的に読み込まれて実行」されるため、自社サーバーに対する通常の脆弱性診断やWAFでは検知できないという構造的弱点があります。
【フロントエンドWebセキュリティを強化する対策】
ブラウザ上でのJavaScriptの実行範囲を制御するアプローチが必要です。
- MRI(Subresource Integrity: SRI)の導入
外部から読み込むJavaScriptファイルに対し、ハッシュ値を指定する「SRI(サブリソース完全性)」を設定します。ファイルが少しでも改ざんされた場合、ブラウザ側で読み込みを拒否します。
- CSP(Content Security Policy)の厳格な適用
HTTPレスポンスヘッダーでCSPを設定し、ブラウザがデータを送信できる外部ドメイン(接続先)を制限することで、盗まれたデータが攻撃者のサーバーへ送信されるのを防ぎます。
- クライアントサイドDLP / スキミング検知ツールの導入
ユーザーのブラウザ上で不審なJavaScriptの動作(入力フォームへのアクセス等)をリアルタイム監視するクライアントサイド保護ソリューションを活用します。