Apacheプロジェクトで依存関係の混乱(Dependency Confusion)の脆弱性が発見

アーカイブされたApacheプロジェクト内で、依存関係の混乱(dependency confusion)の脆弱性が発見されました。 

発見を行ったLegit Securityによる新たなデータによると、この発見は、サードパーティのプロジェクトや依存関係を精査する重要性、とりわけアーカイブされ、更新やセキュリティパッチの面で放置されがちなものを精査する重要性を浮き彫りにしています。 

本日公開された技術投稿では、「壊れていないなら直すな」という考え方のもとでアーカイブされたプロジェクトを手つかずのままにしておく慣行が一般的であるにもかかわらず、こうしたプロジェクトには未対応のまま放置される脆弱性がしばしば潜んでいることが示唆されています。

依存関係の混乱は、「dependency hijacking(依存関係の乗っ取り)」や「substitution attack(置換攻撃)」とも呼ばれ、オープンソースソフトウェアの脆弱な依存関係に侵入することで、攻撃者がソフトウェアサプライチェーン攻撃を仕掛けられるようにします。 

この悪用は、プライベート/ローカルパッケージを参照している際に、パッケージマネージャの設定不備により、誤って公開レジストリから同名の悪意あるパッケージを取得してしまうことで発生します。

類似の攻撃について詳しく読む: 新たなChatGPT攻撃手法が悪意あるパッケージを拡散

Legitチームは、アーカイブされたApacheプロジェクトである「Cordova App Harness」における設定不備を悪用することで、この脆弱性を実証しました。 

同じ名前でより高いバージョンの悪意あるパッケージをアップロードすることで、彼らはライブラリの乗っ取りに成功し、3日間で100回を超えるダウンロードにつながりました。これは、アーカイブされたプロジェクトが現在も利用され続けていること、そしてそれがもたらし得る潜在的なセキュリティリスクを示しています。

悪用された場合、攻撃者はホストマシン上で任意のコードを実行でき、運用環境内でのリモートコード実行(RCE)につながる可能性があります。 

Legitチームは3月24日にこの問題をApacheへ報告しました。1日以内にApacheは報告を確認し、攻撃者による悪用を防ぐために、プライベートパッケージの公開版を保持するというLegitの提案した解決策を受け入れました。

Legitチームは強調して、依存関係の混乱リスクを軽減するには、パッケージマネージャを適切に設定することが不可欠だと述べました。 

セキュリティ研究者らは、定期的なセキュリティスキャン、非推奨プロジェクトの置き換え、依存関係の安全な設定、開発者教育、新たに出現する脅威やベストプラクティスに関する情報の継続的な把握など、積極的なセキュリティ対策とベストプラクティスの重要性を強調しました。 

これらの推奨事項を採用することで、組織はセキュリティ態勢を強化し、潜在的な侵害や脆弱性からソフトウェアエコシステムを保護できます。

翻訳元: https://www.infosecurity-magazine.com/news/dependency-confusion-flaw-found/

ソース: infosecurity-magazine.com