Impervaは7月17日(米国時間)、「From Cloudflare Bypass to Credit Card Theft|Imperva」において、クレジットカード情報を窃取するサプライチェーン攻撃を発見したと報じた。
攻撃者はCloudflareのボット対策ページ(IUAM: I'm Under Attack Mode)をバイパスするPythonモジュール「cloudscraper」をコピーし、悪意のあるコードを埋め込んで「cloudscrapersafe」として再配布したという。
特定の条件を満たすと攻撃する
悪意のあるコードは次の3つのオンライン決済ゲートウェイに向けて送信されるPOSTSリクエストを検出して動作するという。URLが一致した場合、フォームデータまたはJSONデータを分析し、クレジットカード情報を抽出する。
- https://credomatic.compassmerchantsolutions[.]com/api/transact.php
- https://checkout.baccredomatic[.]com/purchase/order/
- https://ecommerce.credomatic[.]com:447/3DS/API/api/Secure/Execute
抽出したクレジットカード情報は一時的に内部に保存され、ゲートウェイの応答を待機する。応答を受信するとHTTPヘッダーおよびJSONコードから成否を確認し、カード情報が承認された場合に限り攻撃者が管理するTelegramエンドポイントに情報を送信する。
リスクのあるパッケージが監査を回避させる可能性
攻撃に悪用された元パッケージの「cloudscraper」は、140万ダウンロードを超える人気のPythonパッケージだ。広く利用されている一方、Cloudflareのセキュリティ保護を回避するリスクのあるパッケージとされる。
Impervaはこのようなセキュリティ保護を回避するパッケージについて次のように述べ、罪の意識が開発者を萎縮させて監査を回避させる可能性があると注意を呼びかけている。
「これは、開発者がどのようなペイロードが含まれているかについてほとんど精査せずに、法的にも技術的にも危険なツールを導入するというリスクを浮き彫りにしている」
今回発見された悪意のあるPyPIパッケージ「cloudscrapersafe」は、報告後約24時間にわたりダウンロード可能な状態が続いたとされる。そのためImpervaはPyPIの運営者に対し、速やかなダウンロードの防止と、パッケージを統合した可能性のあるプロジェクトに警告を送信する強力なメカニズムを構築するように求めている。
本稿執筆時点では、cloudscrapersafeの配布ページはすでに削除されている。当該パッケージをダウンロードした開発者には、パッケージの速やかな削除と影響について調査することが望まれている。