トレンドマイクロは、2019年4月、「Magecart」として知られるスキミング攻撃を確認しました。この攻撃は、新たに確認されたサイバー犯罪集団「Mirrorthief」によって実行されたもので、米国とカナダの大学が運用する201のオンラインストアが影響を受け、ユーザのクレジットカード情報が窃取されました。
「Magecart」は、電子商取引(eコマース)サイトを狙ったスキミング攻撃を実行するいくつかのサイバー犯罪集団を包括的に呼ぶ用語で、彼らが使用するスキミングツールやそれを使用した攻撃を指す場合もあります。
■スキミング攻撃を受けたシステム
複数の大学オンラインストアに対する攻撃は、2019年4月14日に検出され始め、攻撃を受けたWebサイトの支払いページには不正なスキミングスクリプト(「Trojan.JS.MIRRORTHEIF.AA」として検出)が注入されていました。このスクリプトは、支払いページで入力された個人情報と合わせてクレジットカード情報を窃取し、遠隔のサーバに送信する機能を備えています。解析により、この攻撃では、大学向けの書籍等を扱う米企業「Nebraska Book Company」の子会社で大学キャンパスの小売業にソリューションを提供する「PrismRBS」が設計したeコマースプラットフォーム「PrismWeb」が改ざんされていたことが判明しました。
攻撃者は、PrismWeb上に構築されたオンラインストアが共通で使用するJavaScriptのライブラリにスキミングスクリプトを注入していました。このスクリプトは、書籍および商品を販売する201の大学キャンパス向けオンラインストアに読み込まれていました。内訳は米国の大学のオンラインストアが176、カナダの大学のオンラインストアが21でした。窃取された支払い情報の件数は分かっていません。
トレンドマイクロが開示した調査結果を受け、PrismRBSはこのスキミング攻撃に関して以下のような公式声明を発表しました。
2019年4月26日、PrismRBSは、認証されていない第三者がPrismRBSがホストする顧客のeコマースサイトのいくつかに対するアクセスを取得していたことに気付きました。PrismRBSは、このインシデントについて認識するや、直ちに現在の攻撃を止めるための措置を取り、調査を開始し、外部のITフォレンジック企業に協力を依頼し、法執行機関および支払いカード企業への通知を行いました。どの顧客のどのような情報かも含めた影響範囲を決定するために、現在も調査を継続しています。今日までの調査を通して、認証されていない第三者が、顧客のいくつかのeコマースサイトに、支払いカード情報を窃取するために設計した不正なソフトウェアをインストールしていたことが判明しています。 PrismRBSは、影響を受けた可能性のある顧客に対して、インシデントとそれに対処するためにPrismRBSが講じている措置、そして顧客がエンドユーザを保護するために取ることのできる手順について知らせるために積極的な通知を行っています。PrismRBSは、このインシデントがもたらし得る懸念や不満に対して深く遺憾に思っています。情報のセキュリティおよびプライバシーを保護することは依然として最優先事項であり、クライアントサイドおよびバックエンドの監視ツールと包括的なエンド・ツー・エンドの監査も含め、システムのセキュリティをさらに強化するための措置を講じています。調査の結論が得られ次第、追加の情報と案内を提供します。 |
今回のスキミング攻撃は、Magecartの特徴をいくつか備えてはいるものの、以前に確認されたどの集団とも結びつけることはできませんでした。
■スキミング攻撃の仕組み
攻撃の流れ
図1は今回確認されたスキミング攻撃の流れです。
図1:サイバー犯罪集団「Mirrorthief」による攻撃の流れ
スキミングスクリプトの注入
攻撃者は2019年4月14日、PrismWebが使用する決済用のライブラリにスクリプトを注入しました。影響を受けたオンラインストアにおける注入された決済用ライブラリのパスは以下の通りです。
- hxxps://<オンラインストアのドメイン>/innerweb/v4.0/include/js/checkout_payment[.]js
- hxxps://<オンラインストアのドメイン>/innerweb/v3.1/include/js/checkout_payment[.]js
図2:「PrismWeb」の決済用ライブラリに注入されたスクリプト
注入されたスクリプトはGoogle Analyticsのスクリプトの形式に偽装していましたが、実際は攻撃者のサーバから別のスクリプトを読み込んでいました。読み込まれるスクリプトは支払い情報を窃取するメインのスクリプトです。
図3:オンラインストアの決済ページが読み込むスキミングスクリプト
窃取する情報
通常のスキミング攻撃では、さまざまなeコマースサイトの決済ページから情報を窃取するのが一般的です。しかし、Mirrorthiefによる今回の攻撃はPrismWebの決済ページに特化して設計されており、問題のスキミングスクリプトは特定のIDを持ったHTML要素からのみ情報を窃取します。窃取される情報には、カード番号、有効期限、カードの種類、認証番号(CVN)、氏名のようなクレジットカード情報と、請求先の住所および電話番号が含まれます。
HTML要素のID | JSONデータのスキーマ | 情報 |
_cc_number | aa | クレジットカード番号 |
_cc_expmonth | bb | 有効期限(月) |
_cc_expyear | cc | 有効期限(年) |
cc_type | dd | クレジットカードの種類 |
_cc_cvn | ee | クレジットカードのCVN |
cc_first_name | ff | カード保有者の名前 |
cc_last_name | gg | カード保有者の苗字 |
bill_to_phone | hh | 請求先電話番号 |
bill_to_country | ii | 請求先住所(国) |
bill_to_state | jj | 請求先住所(州) |
bill_to_street1 | kk | 請求先住所(ストリート1) |
bill_to_street2 | ll | 請求先住所(ストリート2) |
bill_to_city | mm | 請求先住所(市) |
bill_to_zip | nn | 請求先住所(郵便番号) |
表1:スキミングスクリプトが窃取する個人情報
ユーザが支払いフォームの入力を終え、入力内容の確認ボタンをクリックすると、スキミングスクリプトは窃取した情報をJavaScript Object Notation(JSON)形式のデータにコピーし、AESアルゴリズムで暗号化した上でBase64方式でエンコードします。次に、暗号化した決済情報をクエリ文字列として含むURLにアクセスするHTML画像要素を作成し、窃取した情報を遠隔のサーバに送信します。遠隔サーバは窃取した情報をクエリ文字列から受け取り、1ピクセルのPNG画像を返信します。
図4:窃取した情報をJSON形式のデータにコピーしAESアルゴリズムで暗号化するコード(難読化解除済み)
■Magecartを使用するサイバー犯罪集団の比較
Mirrorthiefは、侵害したライブラリに正規Google Analyticsのスクリプトに偽装したスクリプトを注入していました。また、攻撃のために登録したドメインも正規Google Anlayticsのドメインに似せたものでした。活動を偽装するためにGoogle Analyticsのサービスになりすます手口は、サイバー犯罪集団「Magecart Group 11」によっても利用された既知の手口です。Magecart Group 11は、眼鏡用品をオンラインで販売する「Vision Direct」の情報漏えい事例の背後にいた集団です。「ReactGet」と呼ばれる別の集団は世界中で多くのeコマースサイトを感染させました。この集団もまた類似したなりすましの手口を利用していたことが確認されています。
図5:「Magecart Group 11」が注入したコード
図6:「ReactGet」が注入したコード
図7:「Mirrorthief」が注入したコード
トレンドマイクロは、Mirrorthiefのネットワークインフラストラクチャを調査しましたが、既知のサイバー犯罪集団との重複は確認できませんでした。加えて、Mirrorthiefが攻撃に使用していたスキミングスクリプトは、PrismWebの支払いフォームに特化して設計されたもので、その他のスキミングスクリプトとは大きく異なるものでした。また、Mirrorthiefのスキミングスクリプトは、窃取した情報を固有のJSONスキーマを使用して送信します。これは、この集団が広く利用されているスキミングツールの代わりに、固有のバックエンドシステムで情報を受信していることを示唆しています。さらに、これら3つの集団は窃取した情報を転送する前に暗号化しますが、それぞれ異なるJavaScriptのライブラリを使用しています。以下は3つの集団を比較した表です。
集団名 | 暗号化アルゴリズム | JavaScriptのライブラリ |
Magecart Group 11 | AES | Gibberish-AES |
ReactGet | RSA | JSEncrypt |
Mirrorthief | AES | Crypto-JS |
表2:各集団が使用する暗号化アルゴリズムとJavaScriptのライブラリ
■被害に遭わないためには
Magecartは過去数年間、その手口を進化させながら多くのWebサイトにスキミング攻撃を仕掛けて来ました。このようなサイバー犯罪集団は、Webサイトの改ざんが検知されないように常に新しい手口を考案しようとしています。このような脅威に対抗するために、Webサイトの管理者は定期的な修正プログラムの適用やネットワークのセグメンテーションによってセキュリティを強化してください。また、特に機密情報を保存および管理するWebサイトには、強力な認証の仕組みを実装するべきです。ITおよびセキュリティチームは、古くなったコンポーネントを制限または無効化し、定期的にWebサイトとアプリケーションを監視することで、情報漏えい、未知のスクリプトの実行、不正アクセス、不正な変更をもたらし得る不審な活動の指標が無いか確認してください。
■トレンドマイクロの対策
「XGen™セキュリティ」に支えられたトレンドマイクロの以下のセキュリティ対策製品/ソリューションはこのような脅威からユーザを保護します。
- 個人のお客様向けの製品ラインナップ
- 法人向けエンドポイント製品「ウイルスバスター™ コーポレートエディション XG」
- 中小企業向けのクラウド型エンドポイントセキュリティサービス「ウイルスバスター™ ビジネスセキュリティ」
- 高度な脅威と標的型サイバー攻撃を検出、分析して防御する「Network Defence」
- 物理・仮想・クラウドの混在環境にシンプルなセキュリティを提供する「Hybrid Cloud Security」
■侵入の痕跡(Indicators of Compromise、IoCs)
侵入の痕跡はこちらを参照してください。
※調査協力:「abuse.ch」、「The Shadowserver Foundation」
参考記事:
- 「Mirrorthief Group Uses Magecart Skimming Attack to Hit Hundreds of Campus Online Stores in US and Canada」
by Joseph C Chen (Fraud Researcher)
翻訳: 澤山 高士(Core Technology Marketing, TrendLabs)