悪意のある NuGet パッケージの標的となった .NET 開発者

悪意のある NuGet パッケージの標的となった .NET 開発者

.NET 開発者が悪意のある NuGet パッケージ PlatoBlockchain Data Intelligence の標的に。垂直検索。あい。

.NET ソフトウェア開発者向けの NuGet リポジトリでホストされているベイカーの多数のパッケージは、実際には、インストール システムを侵害し、バックドア機能を備えた暗号を盗むマルウェアをダウンロードする悪意のあるトロイの木馬コンポーネントです。

ソフトウェア サプライ チェーンのセキュリティ会社である JFrog は、21 月 13 日に公開された分析の中で、削除された 166,000 個のパッケージが 1 回以上ダウンロードされており、Coinbase や Microsoft ASP.NET などの他の正当なソフトウェアになりすましていると述べています。 JFrog の研究者が、ファイル (init.psXNUMX) がインストール時に実行され、実行可能ファイルをダウンロードして実行したときの疑わしいアクティビティに気付いたときに、JFrog が攻撃を検出しました。

悪意のあるコードの発見は、.NET と C# プログラミング言語が攻撃者の間であまり知られていないにもかかわらず、攻撃者が不注意な開発者を侵害する方法として、ソフトウェア サプライ チェーンにさらに手を広げていることを浮き彫りにしています。 Jフロッグ。

「NuGet パッケージのインストール時に悪意のあるコードを実行する手法は、ささいなことではありますが、Python や JavaScript よりも文書化されておらず、一部の手法は非推奨になっているため、初心者の攻撃者はそれが不可能だと考えるかもしれません」と彼は言います。 「そしておそらく、NuGet の方が悪意のあるパッケージの自動フィルタリングが優れているでしょう。」

ソフトウェア サプライ チェーンは、開発者のシステムを侵害したり、開発者のアプリケーションを介してエンド ユーザーに気付かれずにコードを広めようとする攻撃者の標的になることが増えています。 Python Package Index (PyPI) と JavaScript 中心の Node Package Manager (npm) エコシステムは、 頻繁な サプライチェーン攻撃の標的 オープンソース プロジェクトを対象としています。

で構成される .NET ソフトウェア エコシステムへの攻撃 約 350,000 のユニークなパッケージJFrog によると、悪意のあるパッケージが NuGet を標的にしたのは初めてのことです。 以前に開発者にフィッシング リンクをプッシュした.

タイポスクワッティングは依然として問題

この攻撃は、タイポスクワッティングが引き続き問題であることを強調しています。 このような攻撃スタイルでは、ユーザーがよくあるパッケージを間違えたり、エラーに気付かなかったりすることを期待して、似たような響きの名前 (またはよくあるスペル ミスのある同じ名前) のパッケージを正当なパッケージとして作成します。

開発者は、新しいパッケージをプログラミング プロジェクトに含める前に、見栄えをよくする必要があります。JFrog の研究者 Natan Nehorai と Brian Moussalli は、オンライン アドバイザリーに次のように書いています。.

「NuGet リポジトリで以前に悪意のあるコードによる攻撃は観察されませんでしたが、タイポスクワッティングなどの方法を使用して悪意のあるコードを広める最近のキャンペーンの少なくとも XNUMX つの証拠を見つけることができました」と彼らは書いています。 「他のリポジトリと同様に、ソフトウェア サプライ チェーンの安全性を確保するために、ソフトウェア開発ライフサイクルのすべての段階で安全対策を講じる必要があります。」

コードの即時実行には問題がある

開発ツールによって自動的に実行されるファイルはセキュリティ上の弱点であり、攻撃対象領域を減らすために排除または制限する必要があると研究者は述べています。 この機能は、たとえば Go パッケージのエコシステムと比較して、npm と PyPI のエコシステムにポイズニングの問題がある重要な理由です。

「発見された悪意のあるパッケージが NuGet から削除されたという事実にもかかわらず、NuGet パッケージにはパッケージのインストール直後にコードを実行する機能がまだ含まれているため、.NET 開発者は依然として悪意のあるコードの危険にさらされています」と JFrog の研究者はブログ投稿で述べています。 . 「[A] 廃止されましたが、[初期化] スクリプトは Visual Studio で引き続き使用され、NuGet パッケージのインストール時に警告なしで実行されます。」

JFrog は、インポートおよびインストールされたパッケージのタイプミスを開発者に確認するようにアドバイスし、開発者は「誤ってそれらをプロジェクトにインストールしたり、依存関係として言及したり」しないようにする必要があると同社は述べています。

さらに、開発者はパッケージの内容を表示して、ダウンロードされて自動的に実行される実行可能ファイルがないことを確認する必要があります。 このようなファイルは一部のソフトウェア エコシステムでは一般的ですが、通常は悪意を示しています。

さまざまな対策により、NuGet リポジトリ (および npm と PyPI) はゆっくりとではあるが確実にセキュリティの弱点を解消しつつある、と JFrog の Menashe 氏は述べています。 

「特に NuGet メンテナーがパッケージのインストール時にコードを実行するためのサポートを完全に削除した場合、NuGet が将来さらに標的になるとは思いません。すでに部分的に実行しています」と彼は言います。

タイムスタンプ:

より多くの 暗い読書