Sucuriは9月12日(米国時間)、「Decoding Magecart: Credit Card Skimmers Concealed Through Pixels & Images」において、通販サイトを標的にクレジットカード情報を窃取する目に見えないマルウェアを発見したと伝えた。発見したマルウェアの分析と、それらに対する通販サイト運営者および利用者の双方からみた防衛策を提示している。
Sucuriによると、多くのクレジットカード情報を窃取するマルウェアは、商品の支払いページでJavaScriptとして読み込まれるという。有名なeコマースのオープンソースプラットフォームにMagentoがある。Sucuriは侵害されたMagentoの支払いページの管理画面にて、不正なコードを確認した例を示している。
このコードは縦横0ピクセルの画像を表示すると同時に難読化されたJavaScriptを実行する構造になっている。縦横0ピクセルの画像はユーザーからは白い点として見ることができるが、実際にはこれを認識することは困難だと考えられる。難読化されたJavaScriptについて、Sucuriはその解読を行っている。
このJavaScriptはコマンド&コントロール(C2: Command and Control)サーバから攻撃コードを読み込んで実行するだけのもので、これ自体は攻撃コードではない。Sucuriによると、この種のC2サーバは特定の条件下でのみクレジットカードをスキミングするようなマルウェアを応答するとしている。これはセキュリティソリューションなどから自動検出されるのを回避するための機能と推測される。Sucuriではほかにも複数の攻撃コードを読み込むJavaScriptの例を示している。
Sucuriは通販サイトをマルウェアから保護するために、次のような防護措置を推奨している。
- CMS、プラグイン、テーマ、そのほかのサードパーティ製コンポーネントを含むすべてのWebサイトソフトウェアを定期的に更新する
- すべてのアカウントで強力で一意のパスワードを使用する。これには管理者、sFTP、データベースの資格情報を含む
- サードパーティ製のコンポーネントは、信頼できる配信元のコンポーネントのみを使用する
- Webサイトを監視して、侵害、マルウェア、不正アクセスおよび変更の兆候がないか確認する
- Webアプリケーションファイアウォール(WAF: Web Application Firewall)を実装して、悪質なボットのブロック、既知の脆弱性の対策、サーバやWebサイトへの悪意あるパケットをフィルタリングする
- 通販サイトにコンテンツセキュリティポリシ(CSP: Content Security Policy)ヘッダを設定して、クリックジャッキング、クロスサイトスクリプティングおよびそのほかの脅威に対する保護層を追加する
通販サイトの利用者に対しては、NoScriptなどの拡張機能の使用を検討するよう求めている。これにより、支払いページに疑わしいコードが読み込まれていないか確認できるという。また、Webブラウザ保護機能のあるアンチウイルスソフトウェアの導入も効果が期待できるとして推奨している。