シマンテックは最近、フォームジャッキング(フォーム乗っ取り)攻撃が目立って増加していることを確認しました。Ticketmaster、British Airways、Feedify、Newegg といった企業の Web サイトが Magecart というグループによって攻撃された顕著な事例が、公式に報告されています。
フォームジャッキングとは、悪質な JavaScript コードを使って、電子商取引サイトの決済ページで支払いフォームからクレジットカード情報などのデータを盗み出そうとする手口を指す用語です。目新しい手法というわけではありませんが、最近の活動は大規模に、また巧妙になっており、2018 年 8 月なかばから大幅に増加している点に特徴があります。
シマンテックの侵入防止システム(IPS)技術をお使いであれば、Web サイトのユーザーはフォームジャッキング攻撃からもプロアクティブに保護されます。
フォームジャッキングのしくみ
電子商取引サイトの利用客が、Web サイトの支払いフォームにデータを入力して「送信」あるいはそれに準ずるボタンをクリックすると、サイバー犯罪者が仕込んだ悪質な JavaScript コードによって、ペイメントカード情報や氏名、住所など入力情報がすべて収集されてしまいます。収集された情報は攻撃のサーバーに送られ、ペイメントカード詐欺に悪用されたり、アンダーグラウンドで他の犯罪者に売買されたりすることになります。
標的となっている企業の業種
公式の攻撃報告からわかるとおり、Magecart グループは Ticketmaster、British Airways、Newegg といった大手の電子商取引サイトを標的にしています。
フォームジャッキング攻撃に狙われている企業の業種を把握するために、9 月 18 日から 20 日の 3 日間シマンテックで遮断されたフォームジャッキング攻撃のうち 1,000 例を調べてみました。
シマンテックのデータによると、この 1,000 件では 57 の Web サイトが影響を受けていました。大多数はオンラインの小売サイトで、ニッチな小規模のサイトから大手の小売ビジネスまでさまざまです。取扱商品を見ても、オーストラリアのファッション系小売サイトから、フランスのガーデニング・エクステリア店、イタリアのフィットネス用品サイトまで多岐にわたります。そのほか、自動車部品の販売業者、台所用品やパーソナルギフトを扱うサイトなども被害を受けていました。
目立っているのは British Airways や Ticketmaster といった大手企業の被害ですが、シマンテックのデータを見るかぎり、国や地域にかかわらず、オンライン決済を処理している企業はすべてフォームジャッキングの被害者になる可能性があると言えます。
Magecart グループとは
Magecart は、British Airways や Ticketmaster、Feedify、Newegg などに対する最近のフォームジャッキング攻撃をしかけている攻撃グループです。遅くとも 2015 年から活動しており、Web ベースのカードスキミング機能をサイトにインジェクトして、オンライン決済フォームからペイメントカードのデータなど重要な情報を盗み出します。
以前は主に、Magneto のオンランストアを狙っていましたが、最近になって戦術を変えたと見られ、フォームジャッキングとサプライチェーン攻撃を利用してペイメントカードのデータを盗み出しています。
Web サイトが侵入を受ける過程
攻撃者が Web サイトへの侵入を試みる方法はさまざまですが、Ticketmaster に対するフォームジャッキングの場合、Magecart グループはサプライチェーン攻撃を利用して Web サイトにアクセスし、その支払いページのコードを書き換えていました。
サプライチェーン攻撃については、ISTR 23 でもお伝えしており、2018 年にも引き続き頻繁に発生するだろうと予測しています。そのとおりになりました。サプライチェーン攻撃を利用する攻撃者は、大手の企業が各種サービスのために使っている小規模な企業の弱点を突いて、その大手企業にアクセスできます。たとえば、大きな話題になった Petya/NotPetya の活動も、サプライチェーン攻撃を介して拡散されました。サプライチェーン攻撃が特に厄介なのは、サプライチェーンからネットワークにアクセスできる他社が侵入を受けてしまえば、自社のサイバーセキュリティをどれほど堅固に構築しても無意味になってしまう点です。
フォームジャッキング攻撃の増加が広く知られるようになったのは、Ticketmaster 社が侵入を受けたと公式発表した 6 月のことです。Magecart グループは、Ticketmaster が Web サイトでカスタマーサポートに利用していた Inbenta という技術系企業が運営するチャットボットに侵入したうえで、Ticketmaster の Web サイトに悪質な JavaScript コードをインジェクトしました。そこまで進めば、Web サイトで JavaScript コードを改変して、利用客からペイメントカードのデータを収集し、自分たちのサーバーに送信することができます。このコードは、ほぼ 1 年前から Ticketmaster の Web サイトに存在していた恐れがあるため、Ticketmaster は全世界のユーザーに対して、2017 年 9 月から 2018 年 6 月の間にチケットを購入した場合には影響を受けた可能性があると警告を発しています。Inbenta によると、Magecart はいろいろな脆弱性を悪用して同社のフロントエンドサービスを狙い、チャットボットのコードを書き換えたということです。
Ticketmaster への侵入に続いて、解析やサイトサポートなどのサービス管理を目的として複数の電子商取引サイトで利用されているサードパーティも、広い範囲で Magecart の標的になっていることが明らかになりました。このときのレポートによると、800 以上の電子商取引サイトがこの攻撃を受けたとされています。危険なのは、広く利用されているサードパーティのサプライヤが 1 社でも Magecart の侵入を許せば、何千何万ものサイトが一度に感染する恐れすらあるということです。
Feedify もそうしたサードパーティサービスのひとつで、サイト訪問者にプッシュ通知を送信する目的で多くの Web サイトに利用されています。Feedify は、Magecart のスクリプトによって同社の JavaScript コードが改変されているという通知を 9 月 11 日に受け、即座に該当のコードを削除しました。ところが、それから 24 時間もたたないうちにコードはまた書き換えられ、Feedify は再びそれを削除しますが、さらにコードは書き換えられます。それを受けて、セキュリティ研究者は問題が解決されるまで Feedify を使わないよう全ユーザーに警告しています。
Magecart による British Airways への攻撃も、Ticketmaster の場合と並んでこれまでで最大級の攻撃で、同社によると 38 万人の乗客に影響したといいます。British Airways と米国のエレクトロニクス通販サイト Newegg米国のエレクトロニクス通販サイト Newegg に対する攻撃では、Magecart グループは正規のドメインに偽装した Web ドメインを設定するなど、検出を回避する手立ても講じています。正規のサーバーに見せかけるために、セキュリティ企業 COMODO から有料の SSL 証明書まで購入していました。
British Airways と Newegg が侵入を受けた経緯は類似しています。どちらも、Web サイトに少量の JavaScript コードを追加され、偽装ドメインを介してペイメントカード情報が Magecart グループのサーバーに送信されていたのです。攻撃が発生した期間も近く、British Airways のサイトでは 8 月 21 日から 9 月 5 日の間、Newegg のサイトでは 8 月 14 日から 9 月 18 日の間、Magecart の攻撃が続きました。
British Airways と Newegg のケースで攻撃者のアクセスを許してしまった最初の感染経路は、今のところ不明です。
保護対策
フォームジャッキングの被害にあっても、ユーザーはそうと気づかない可能性があります。フォームがある Web サイトの動作は通常と変わらず、Magecart グループは巧妙に潜伏するうえに、検出回避の対策も講じているからです。
シマンテックのお客様はフォームジャッキング攻撃から保護されています。
ネットワークベースの保護
ファイルベースの保護
Web サイトを運営している場合は、ソフトウェアのサプライチェーン攻撃にも注意する必要があります。フォームジャッキング攻撃でそれが感染経路になったケースもあることを忘れないでください。ソフトウェアのサプライチェーン攻撃は対策が困難ですが、Web サイト所有者が実行できる対策もいくつかあります。
- 新しいアップデートは、たとえ正規のものと思われる場合でも、疑わしい動作がないかどうか、小規模なテスト環境やサンドボックスでまず検証してください。
- システム上の全アクティビティについて動作モニタリングを実行するのも、怪しいパターンの検出に効果的です。損害を受ける前に、疑いのあるアプリケーションを遮断することができます。
ソフトウェアパッケージの販売者も、ソフトウェアの更新プロセスや Web サイト上で、望ましくない変更を検出できるようにする必要があります。
Web サイトを所有している場合は、Subresource Integrity タグ(SRI)でコンテンツセキュリティポリシーを利用すれば、組み込みのサードパーティスクリプトをロックダウンすることができます。