新たな E-commerce Skimming 戦術:Megento サイトで発見されたスワップ・ファイルの悪用とは?

Cybercriminals Exploit Swap Files: New E-commerce Skimming Tactic

2024/07/20 SecurityOnline — Sucuri のセキュリティ・アナリストたちが発見したのは、スワップ・ファイルを悪用するサイバー犯罪者がクレジット・カード・スキマーを永続的に維持し、電子商取引サイトを標的とする新たな攻撃手法である。この形態のインシデントは Magentoサイトで発生し、チェックアウト・ページに埋め込まれた悪意のスクリプトにより、機密性の高い顧客データが不正に取得される。


侵害された Web サイトのチェックアウト・ページへと移動すると、ページソースの奥深くに不審なスクリプトが埋め込まれているのが見つかった。このスクリプトは、base64 エンコードされた変数や、16進エンコードされた文字列などの、典型的なマルウェアの特徴を示していた。これらのスクリプトの要素を解読すると、クレジット カード情報を取得するように設計されていることが明らかになった。


以下のスニペットは、チェックアウト・ボタンを有効化し、侵害したチェックアウト・ページの通常のクリック機能に、カスタムなバインディングを追加している。


チェックアウト・ボタンがクリックされると、このスクリプトは querySelectorAll 関数を介して、クレジットカード・フォームに入力されたデータをキャプチャする。


その他のスクリプト関数群は、名前/住所/カード番号などの機密情報を取得し、盗んだカード情報を悪用するために必要な、その他のデータを取得していた。盗まれたデータは、”amazon-analytic[.]com” という、2024年2月に登録されたドメインへと送信されていたが、以前においても、このドメインはクレジットカード盗難インシデントで悪用されていた。ドメインに人気のブランド名を使用するのは、脅威アクターたちの常套手段であり、その手口により検知を逃れている。

さらに調査を進めると、悪意のスクリプトから Magento の “app/bootstrap.php” ファイルへとたどり着いたが、このファイルは完全に置き換えられ、公式バージョンとは異なるものにされていた。base64 コンテンツをデコードすると、チェックアウト・ページのソースに見つかったものと同じの、悪意のスクリプトが発見された。この攻撃者は curl 関数を使用して、盗んだデータを外部ドメインへと流出させていた。また、キーワード “checkout” を含み、GET メソッドでリクエストされた Web ページに対しては、ob_filter_callback 関数によりスキマー・スクリプトを注入していた。


この攻撃の巧妙さは、スワップ・ファイル・システムを悪用する点にある。編集されたファイルのスワップ・バージョンは、通常は見えないように隠されており、バックアップとして機能し、クリーンアップされるたびに本番のファイルに再感染していた。この永続性のメカニズムにより、標準的なセキュリティ対策による検出を回避しながら、この攻撃者は、機密性の高い顧客データを採取し続けていた。

この革新的な手法を発見した、Sucuri のアナリストた強調するのは、eコマース事業者がセキュリティに対して、より包括的なアプローチを採用する必要性である。

なお、回復のための対策としては、悪意のスクリプトを削除するだけでは不十分である。この脅威を、完全に根絶するためには、基盤となるスワップ・ファイルを手動で特定し、削除する必要があったという。

一般論として、eコマース・マルウェアの持続的な感染リスクを軽減するには、sFTP/SSH/FTP/CPanel などを介した管理者アクセスを、信頼できる IP に制限することが不可欠である。Sucuri が強く推奨しているのは、同様の攻撃のリスクを軽減するための、厳格なアクセス制御の導入/ソフトウェアの定期的な更新/Web サイトでのファイアウォールの利用などである。