PyPI パッケージ・メンテナを攻撃:巧妙なフィッシングでプロジェクトを乗っ取る

PyPI packages hijacked after developers fall for phishing emails

2022/08/25 BleepingComputer — 昨日に検出されたフィッシング・キャンペーンは、PyPI レジストリで公開される Python パッケージの、メンテナをターゲットにするものだったようだ。Python パッケージである exotel と spam は、マルウェアが混入された数百のパッケージの中の1つであり、フィッシング・メールで騙したメンテナのアカウントへ、攻撃者たちが侵入に成功した結果である。 

PyPI メンテナーをターゲットにするフィッシング・キャンペーン

Django プロジェクトのボードメンバーである Adam Johnson が、怪しいメールを受け取ったことを報告した。そして、昨日に PyPI レジストリ の管理者は、このフィッシングメール・キャンペーンが PyPI メンテナを積極的に狙っていることを確認した。一連のメールは、PyPI にパッケージを公開している開発者に対して、強制的な検証プロセスを受けないと、PyPI レジストリからのパッケージ削除というリスクを負うと主張するものだ。 


Johnson は、「このフィッシング・サイトは、かなりの説得力があるように見える」と説明している。しかし、このメッセージは Google サイト上に存在するため、左下に “info” ボタンが表示されている。それをクリックすると、対象となるサイトを、フィッシング攻撃の一部として報告できる。

PyPI が危険なパッケージを特定する

残念ながら、一部の開発者はフィッシング・メールに騙され、攻撃者の Web ページに認証情報を入力してしまい、自身の作品を乗っ取られ、マルウェアの混入を発生させてしまったようだ。乗っ取られたパッケージのリストには、spam (Ver 2.0.2/4.0.2) と exotel (Ver 0.1.6) が含まれている。これらのバージョンは、昨日に PyPI から削除されたことを、BleepingComputer は確認している。

さらに PyPI 管理者は、このパターンに一致する、数百の typosquats を特定し、削除したことを再確認している。乗っ取られたバージョンに混入された悪質なコードは、ユーザーのコンピュータ名をドメイン linkopports[.]com へと流出させる。さらに、この不正ドメインにリクエストを送信する、トロイの木馬をダウンロードして起動させたことを、BleepingComputer は確認している。

PyPI は、「新たな悪意のリリースに関する報告を積極的に確認し、それらを削除し、メンテナのアカウントを復元するようにしている。また、2FA のようなセキュリティ機能を、PyPI 上のプロジェクト全体に普及させるために取り組んでいる」と述べている。

さらに PyPI レジストリ管理者は、PyPI アカウントの認証情報を提供する前に、対象となるページの URL を確認するなど、この種のフィッシング攻撃から身を守るために取るべき、数多くの手順を共有している。

このインシデントは、5月に発生した人気の PyPI ライブラリ “ctx” の乗っ取りを受け、PyPI 管理者が重要なプロジェクトのメンテナに対して、2FA 認証を義務付けるようになった後に発生している。

オープンソース・ソフトウェアのコンポーネントに関わる、度重なるマルウェア事件や攻撃により、プラットフォーム全体のセキュリティの強化を、レジストリ管理者は要求されている。オープンソース・ソフトウェアの開発者の望みである開発に加えて、プロジェクトのセキュリティ確保という付加的な負担が、どのような結果を生み出すのかは、現時点では推測できない。

このところ、PyPI に関連するトピックが多いです。人気の Python だけに、攻撃における費用対効果が高いのだと思われます。PyPI としても、Critical と判断されたプロジェクトの 2FA の義務化や、コードスキャンなどを取り入れようとしていますが、それらを上手く機能させるために、乗り越えなければならないカベがあるようです。頑張ってほしいですね。

%d bloggers like this: