npmパッケージ「dbmux」にマルウェアが発見されました。このパッケージをインストール済み、または実行中のコンピューターはすべて完全に侵害されたものとみなす必要があります。
GitHubアドバイザリー(GHSA-62wx-5f55-w8g2)は今回のインシデントを深刻なものと位置付けており、dbmuxがインストールされているか実行中のマシンはすべて完全に侵害されたものとして対処するよう求めています。
アドバイザリーおよびその後の分析によると、悪意あるコードは攻撃者に永続的なリモートコントロールとデータ窃取の能力を与えるものであり、単純なパッケージの削除だけでは信頼の回復には不十分です。
技術的な分析によれば、侵害されたdbmuxのリリースには、任意のコマンドを実行し、攻撃者が制御するインフラへの隠蔽されたチャネルを確立するよう設計されたペイロードが含まれていました。
このペイロードは一般的なNode.jsのプリミティブを利用してサブプロセスを生成し、環境変数を収集し、ローカルファイルを取得します。
Node.jsアプリケーションは、開発者の認証情報やビルドトークン、CIシークレットなどをランタイム環境にマウントした状態で実行されることが多いため、マルウェアによるメモリ上のデータや環境変数の読み取り能力は、攻撃者に機密シークレットや鍵への直接的なアクセス経路を与えることになります。
アドバイザリーは、攻撃者がすでに権限昇格を行ったり、横断的に移動したりしている可能性があると警告しており、早急かつ広範な対応の必要性を強調しています。
GBhackersに共有されたレポートの中でSupplychain attackは、JavaScriptおよびNode.jsプロジェクトで使用されるライブラリであるnpmパッケージdbmuxに、活発に動作するマルウェアが埋め込まれているのを発見したとして警告を発しました。
運用上の影響は広範にわたります。npmからdbmuxをインストールした、または推移的な依存関係としてdbmuxを引き込むコードを実行したローカル開発者のワークステーション、CIランナー、ビルドサーバーはすべて侵害されたとみなす必要があります。
悪意あるnpmパッケージ「dbmux」
推奨される緩和策は緊急かつ具体的なものです。影響を受けたホストを隔離し、可能であればフォレンジックイメージを取得した上で、侵害されていないマシンからすべてのシークレット、APIキー、SSHキー、クラウド認証情報、トークンを必ず再発行してください。
パッケージの置き換えやバックアップからの復元だけでシークレットを更新しなければ、攻撃者に再アクセスの機会を残す可能性があります。アドバイザリーは、シークレットは別のシステムから更新しなければならないと明記しており、これは削除だけでは排除できない検知困難な持続的メカニズムのリスクを示しています。
今回のインシデントは、JavaScriptエコシステムにおけるサプライチェーン攻撃の脅威が依然として続いていることを浮き彫りにしています。近年、侵害されたまたは悪意あるパッケージが広範な被害をもたらすために繰り返し利用されており、その背景にはnpmの依存関係グラフが1つの小さなライブラリを多くのプロジェクトに伝播させる仕組みがあります。
攻撃者はしばしば、利用頻度は低いものの推移的な依存関係を通じて高価値な環境に取り込まれるパッケージを標的にします。また、メンテナーのアカウントを侵害して悪意あるリリースを公開する手法も用います。
防御側は、サードパーティの依存関係を現実の攻撃対象として扱わなければなりません。トークンやCIには最小権限を徹底し、短期間で失効する一時的な認証情報を使用し、可能な限り厳格な依存関係のピン留めとパッケージの整合性検証を適用してください。
検知および封じ込めに関するガイダンスとしては、Node.jsランタイムから発生する予期しないネットワーク接続や新規プロセスのスキャン、dbmuxペイロードに関連する既知の侵害インジケーター(IoC)の調査、異常なパッケージインストールや不審なpost-installスクリプトのCIログ確認などが挙げられます。
組織はリポジトリ全体のpackage-lockまたはshrinkwrapファイルを照会して影響を受けるプロジェクトを列挙し、シークレットやインフラへの高レベルのアクセス権を持つサーバーの修復を優先すべきです。
ホストの隔離、フォレンジックキャプチャ、そして侵害されていないシステムからのシークレット更新という即時の対応手順は、攻撃者の制御を制限し開発環境を再保護するための最も重要な措置です。
翻訳元: https://gbhackers.com/malicious-npm-package-dbmux/