全2398文字
PR

ECサイトからカード情報を盗む新たな攻撃手法による被害が相次いでいる。決済ページのJavaScriptタグが糸口になり、痕跡が残らない点が厄介だ。ECサイト向けセキュリティーガイドラインは対応が追いついていない。

 EC(電子商取引)サイトからカード情報を盗む新たな手口による被害が相次いでいる。「オンラインスキミング」「Webスキミング」と呼ばれる手口で、カード番号や名義、有効期限だけでなく、セキュリティーコードも漏洩している特徴がある。

 2018年9月に英ブリティッシュ・エアウェイズが被害を公表して知られるようになった。Webサイトやモバイルアプリで予約した約40万人分のカード情報が不正に収集されていた。日本でもオンラインスキミングによると思われる被害が2020年12月にも確認され、今後も広がりそうだ。

 オンラインスキミングはECサイト運営会社側に痕跡が残りにくい。運営会社はカード会社や不正にカードを使われた顧客からの問い合わせで初めて長期間続いていた被害を知るケースが多い。対策を急ぐ必要がある。

図「オンラインスキミング」の概要
図「オンラインスキミング」の概要
サイトに痕跡を残さず、決済ページが攻撃の糸口に(出所:fjコンサルティングとDataSignの解説動画を基に日経コンピュータ作成)
[画像のクリックで拡大表示]

数珠つなぎを悪用

 オンラインスキミングで今後被害が広がりそうなのが、ECサイトのカード決済ページが呼び出す外部のJavaScriptライブラリーを攻撃者が改ざんする手口だ。Webサイトの入力フォームにあるJavaScriptは、顧客が決済ページの入力フォームに打ち込んだメールアドレスやカード情報が適切かをチェックする用途で使われるケースが多い。そのためJavaScriptで基本的に入力情報の全てを扱える。

 問題なのは、多くのECサイトが決済ページに広告やアクセス解析のために様々なJavaScriptのタグを埋め込んでいる点だ。ECサイト利用者のWebブラウザーはそれらタグに従って、ネット広告会社などのサーバーからJavaScriptライブラリーを呼び出す。1つのタグが別の外部サーバーにあるライブラリーを連鎖的に呼び出し、広告表示などをしている場合もある。

 こうした数珠つなぎを悪用した新たな手口が登場している。攻撃者はネット広告会社などのサーバーに侵入。ECサイト利用者が入力フォームに書き込んだカード情報を読み取って第三者のサーバーに送信するように、JavaScriptライブラリーのコードを改ざんする。JavaScriptは利用者のWebブラウザー上で動作・送信するので、ECサイトや決済代行サービス会社のサーバーには痕跡が残らない。

 「ECサイト運営会社が不用意に数多くのタグを使う場合はオンラインスキミングのリスクが増す」。Web技術に詳しいDataSignの坂本一仁プロダクトマネージャーはこう指摘する。どの外部サーバーに不正なコードが埋め込まれたのかを検証するのも難しいという。海外では、ある外部サービスのJavaScriptライブラリーのコードが改ざんされて、そのタグを設置していた800以上のECサイトからカード情報が盗まれる事態もあったという。