PyPI に新たな悪意のパッケージ: Linux デバイス上で CoinMinerを 展開

Python’s New Threat: Malicious PyPI Packages Targeting Linux Devices

2024/01/03 SecurityOnline — 先日に Python コミュニティで、Linux デバイス上に CoinMinerを 展開する、3つの悪意の PyPI (Python Package Index) パッケージが発見された。これらのパッケージ modularseven-1.0/driftme-1.0/catme-1.0 は、FortiGuard の AI 駆動型 OSS マルウェア検出システムにより発見されたものであり、オープンソースのエコシステムを標的とする、攻撃の洗練度の大幅なエスカレーションを示唆している。


これらのパッケージは無害に見えるが、いったん使用すると、Linux デバイス上に CoinMiner 実行ファイルが展開される。この手法は、以前に発見された PyPI パッケージ culturestreak と酷似しており、Python パッケージのエコシステムにおける、攻撃パターンの複雑化を示唆している。

これらのパッケージによる攻撃手法は、綿密にデザインされたものである。たとえば、例として挙げられている driftme-1.0 パッケージは、こうした攻撃の多段階的な性質を示している。この悪意のペイロードは隠され、段階的にリリースされるため、それに対しる検知は困難である。最初の段階では、文字列をシェルコマンドにデコードし、curl を使用してリモート URL からコンテンツを取得し、Bash シェル経由で実行する。このスクリプトは unmi.sh と名付けられ、ペイロードの第2段階を含んでいる。

unmi.sh スクリプトは、CoinMiner の実行ファイルをセットアップする上で重要な役割を果たす。このスクリプトは、config.json 設定ファイル と CoinMiner 実行ファイルをリモートからダウンロードする。設定ファイルには、マイニング・アルゴリズム/デバイス・リソース設定/指定されたマイニングプールなどの、暗号通貨マイニング設定の概要が記述されている。その後に、実行ファイルはバックグラウンドで実行され、新しい Bash シェル・セッションごとに永続性と再起動が保証される。

これらのパッケージは culturestreak と比較して、検知に対する回避機能が強化されており、重要なコマンドをリモートサーバ上の unmi.sh ファイルに格納するという、追加のステップを導入している。このアプローチは、PyPI パッケージ内のコードを最小化して、悪意のコードの制御された開示を可能にし、セキュリティを回避する確率を向上させる。

~/.bashrc ファイルに悪意のコマンドを取り込むことで、このマルウェアはユーザーのデバイス上で持続的に再活性化され、秘密裏に動作する期間が長くなる。この戦略により、マルウェアはユーザーのデバイス上で長期間にわたって、密かに活動する能力が強調される。

この最近の発見は、悪意の戦略の絶え間ない進化と、Python コミュニティにおける警戒の重要性を強調している。検証されていないソースからのコードやパッケージを精査し、潜在的な脅威について常に情報を得ることの重要性を再認識させる。