Hundreds of malicious Python packages found stealing sensitive data
2023/10/04 BleepingComputer — この半年で複雑さを増した悪質なキャンペーンにより、OSS プラットフォームに数百の情報窃取パッケージが仕掛けられ、そのダウンロード数は約 75,000回を数えるという。このキャンペーンについては、4月上旬から Checkmarx の Supply Chain Security チームのアナリストたちが監視しており、標的となったシステムから機密データを盗み出すためのコードを取り込んだ、272種類のパッケージが発見されている。最初に確認されたときと比べて、この種の攻撃は大幅に進化しており、さらに巧妙になった難読化レイヤと検出回避の技術が、悪意のパッケージ作成者たちにより実装されているという。

データと暗号の窃盗
研究者たちによると、2023年4月の初旬から、Python エコシステム内で、あるパターンが観測され始めたという。典型的なマルウェア解析ホストの兆候である仮想化環境ではなく、ターゲットシステム上で実行されていることを確認した後にのみロードされる “_init_py” ファイルが、その一例である。
このファイルがロードされるのは、ディスティネーションが仮想化環境ではなく、ターゲット・システム上で実行されことが確認された場合となる。このような典型的な兆候が、マルウェア分析ホスト上で発見されているという。
上記の “_init_py” が起動すると、感染したシステム上に存在する以下の情報が探索される:
- デバイス上で動作しているウイルス対策ツール
- タスクリスト/Wi-Fi パスワード/システム情報
- Web ブラウザに保存されている認証情報/閲覧履歴/クッキー/支払い情報
- Atomic/Exodus などの暗号通貨ウォレットアプリ内のデータ
- Discord バッジ/電話番号/電子メールアドレス/ニトロステータス
- Minecraft/Roblox のユーザーデータ
さらに、このマルウェアは、侵害したシステムのスクリーンショットを撮影するだけではなく、デスクトップ/ピクチャ/ドキュメント/ミュージック/ビデオなどに関するディレクトリからファイルを盗み出す。
被害者のクリップボードも、常時監視される。そして、被害者の暗号通貨アドレスが、攻撃者のアドレスに差し替えられ、攻撃者の管理下にあるウォレットへと暗号通貨が横流しされる。
アナリストたちは、このキャンペーンにより、$100,000 相当の暗号通貨が盗まれたと推定している。
アプリの操作
Checkmarx の報告によると、このキャンペーンで使用されたマルウェアは、典型的な情報窃取オペレーションと比べて、さらに一歩踏み込んだアクションを実行することで、アプリのデータ操作に関与し、決定的な打撃を与えるとされる。
たとえば、暗号通貨ウォレット管理アプリ Exodus に対しては、その電子アーカイブを置き換え、コア・ファイルを変更し、Content-Security-Policy をバイパスしたデータ流出を達成している。
また Discord においては、特定の設定が有効になっている場合に、このマルウェアはクライアントの再起動時に実行するための、JavaScript コードを注入する。
また、このマルウェアは、権限の高い端末での PowerShell スクリプト実行により Windows のホストを操作し、侵入したデバイス上で実行されているセキュリティ製品のサーバ通信を阻止するという。
攻撃の進化
研究者たちによると、4月から始まったキャンペーンにおいて、このパッケージに取り込まれた悪意のコードはプレーン・テキストであり、はっきりと確認できたという。
しかし5月になると、このパッケージの作者は、解析を妨げるための暗号化を追加し始めた。さらに8月には、パッケージに多層の難読化が追加された。
Checkmarx の研究者である Yahuda Gelb のレポートには、最新パッケージのうちの2つが、70種類以上の難読化技術を使用していると記されている。
また8月には、このマルウェア開発者により、ウイルス対策製品をオフにするための機能が取り込まれ、標的アプリのリストには Telegram が追加され、フォールバック・データ流出システムが導入された。
研究者たちの指摘は、OSS のコミュニティや開発者のエコシステムは、サプライチェーン攻撃の影響を受けやすいというものだ。その一方で、脅威アクターたちは、GitHubのような人気のリポジトリやバージョン管理システム、または、PyPI/NPM のようなパッケージ・レジストリへ向けて、毎日のように悪意のパッケージをアップロードしている状況にある。
ユーザーに推奨されるのは、信頼すべきプロジェクトやパッケージ・パブリッシャを精査し、パッケージ名のタイポスクワットに注意することである。このキャンペーンで使用された悪意のパッケージのリストは、GitHub で入手できる。
悪意のファイルである “_init_py” は、ハニーポットによる検出や調査を逃れるために、事前の確認を怠らないというデザインになっているようです。ただし、その他のキャンペーンにおいても、同様に用いられている手法であり、脅威アクターたちの戦術は、きわめて高度なレベルに達しているようです。今日は、先程にも「npm に悪意の rootkit パッケージ:2ヶ月間で 700 回もダウンロードされている」という記事をポストしましたが、どこのパッケージ・リポジトリも、かなり深刻な状況にあるうです。






You must be logged in to post a comment.