banner
ホームページ / ニュース / VMConnect: 悪意のある PyPI パッケージは人気のあるオープンソース モジュールを模倣します
ニュース

VMConnect: 悪意のある PyPI パッケージは人気のあるオープンソース モジュールを模倣します

Jul 28, 2023Jul 28, 2023

ホーム » 編集カレンダー » ソフトウェア サプライ チェーン セキュリティ » VMConnect: 悪意のある PyPI パッケージは人気のあるオープン ソース モジュールを模倣

ReversingLabs は、Python Package Index (PyPI) オープン ソース リポジトリでいくつかの悪意のある Python パッケージを特定しました。 ReversingLabs の研究者は、合計で 3 つの人気のあるオープンソース Python ツールを模倣した 24 個の悪意のあるパッケージを発見しました。 イーサリアムベースのアプリケーションをテストするためのツールのコレクションである eth-tester も同様です。 そしてデータベース、さまざまなデータベースの非同期サポートを提供するツール。

研究チームの観察に基づくと、このキャンペーンは最初の悪意のあるパッケージが公開された 2023 年 7 月 28 日かその前後に始まりました。 この状況は現在も続いており、以前のパッケージが検出されて削除されるにつれて、新しい悪意のある PyPI パッケージが毎日投稿されます。

Operation Brainleeches などの最近のサプライ チェーン キャンペーンとは対照的に、このキャンペーンを構成する悪意のあるパッケージには、開発者を欺こうとする共同作業の証拠が示されています。 彼らは、模倣しているモジュールの機能全体を実装し、PyPI リリース パッケージにある悪意のある機能を省略した、対応するリンクされた GitHub プロジェクトを立ち上げることでこれを実現します。

私たちがそのような行動を観察したのはこれが初めてではありません。 たとえば、2022 年 6 月に、クリプトマイニング機能を隠すために同様のアプローチを使用していた npm の悪意のあるパッケージ、maintenancewebsite を発見しました。 VMConnect キャンペーンは、オープン ソース モジュールが悪意のあるコードの拡散に使用されている最新の例であり、オープン ソース コード リポジトリのセキュリティ評価がこれらの微妙な攻撃を見逃している可能性があることを示すさらなる証拠です。

ReversingLabs 研究チームは、オープンソース パッケージ リポジトリを継続的に監視し、悪意のあるコードの改ざん、悪意のあるパッケージや依存関係の植え付け、その他の形態のソフトウェア サプライ チェーン攻撃を監視しています。 この作業には、npm、PyPI、Ruby、NuGet などの最も一般的なパブリック パッケージ リポジトリで公開されているパッケージの自動化と人間主導の両方のスキャンと分析が含まれます。

これまで、私たちが特定した悪意のあるサプライ チェーン キャンペーンの大部分は、オープンソース プロジェクトと開発者の大部分が集まる npm オープン ソース リポジトリで見つかりました。 しかし、ここ数カ月間、他のプラットフォーム、特に Python Package Index (PyPI) で悪意のあるアクティビティが増加しています。 たとえば、2 月に、ReversingLabs の研究者は、HTTP ライブラリを装った 41 個の悪意のある PyPI パッケージを発見しました。その中には、人気があり広く使用されているライブラリを模倣したものも含まれていました。 3 月に、我々は termcolour という名前の悪意のある PyPI パッケージに遭遇しました。これは、廃止された PyPI パッケージの名前を利用した複数のバージョンで公開された 3 段階のダウンローダーです。 その後、5 月に、悪意のある投稿が殺到したため、PyPI は新規投稿の受け付けを一時的に停止しました。

ReversingLabs の脅威研究者は、PyPI リポジトリに公開された不審な VMConnect パッケージを含む、新たな悪意のある PyPI キャンペーンを特定しました。

このパッケージは、幅広いファイル形式からさまざまなタイプのメタデータを抽出できる強力な静的分析エンジンである ReversingLabs Titanium Platform による定期的なスキャン中に、疑わしいと宣言されました。

ReversingLabs Titanium Platform は、さまざまなタイプのメタデータに加えて、動作インジケーターを抽出することもできるため、ファイルの機能的機能を理解しやすくなります。 そして、その機能が VMConnect 内の _init_.py ファイルに注目した理由です。 VMConnect の __init__.py ファイル内のコードは、プロセスの作成、Base64 アルゴリズムを使用したデータのデコード、バイナリ データの文字列表現への変換 (難読化で一般的に使用される動作) を行うことができます。 この行動の組み合わせが最初の検出のきっかけとなり、さらなる調査を促しました。

図 1: VMConnect パッケージから抽出された動作インジケーター。