fbpx

新たなゼロデイRCE脆弱性 Spring4Shell について知っておくべきこと #aqua #セキュリティ #Spring4Shell #java #CVE202222965

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

本ブログは「Aqua Security」社の技術ブログで2022年3月31日に公開された「 New Zero-day RCE Vulnerability Spring4Shell: What You Should Know 」の日本語翻訳です。

新たなゼロデイRCE脆弱性 Spring4Shell について知っておくべきこと


最近の Java アプリケーションで広く利用されているオープンソースのフレームワーク「Spring」に、新たに重大なゼロデイ脆弱性が発見されました。この問題により、攻撃者は脆弱なシステム上で任意のコードを実行できます。この脆弱性には CVE-2022-22965 が割り当てられており、Spring は既にパッチをリリースしています。

この問題の公開プロセスは、これまでのところ、やや混沌としています。当初は、ある研究者が GitHub と Twitter でこの脆弱性を公開したのですが、後で削除されました。その後、セキュリティニュースサイトの Cyber Kendra で未確認の脆弱性として取り上げられました。さらに、Spring でパッチが適用された別の問題(CVE-2022-22963)も同サイトで取り上げられ、事態を混乱させました。

その後、セキュリティ業界全体でこの問題が共有され、Spring フレームワークをベースにした Java ウェブアプリケーションを実行しているサーバに不正にアクセスできることが確認されました。

技術的な詳細

この脆弱性は、JDK 9 以上で動作する Spring Core アプリケーションを対象に発生します。POJO(Plain Old Java Objects)をパラメータとして渡すことができる関数を持つアプリケーションに、脆弱性を含む可能性があります。現在流通している脆弱性攻撃は、脆弱な設定を利用して、影響を受けるホスト上に Web シェルを設置するものです。この Web シェルを設置すると、攻撃者は Tomcat サーバを実行しているユーザの権限で、感染したサーバ上で任意のコードを実行できます。また、他の脆弱性を利用して、ホスト上での権限拡大も可能です。

何をするべきか

現在、公式のパッチが提供されているため、企業は影響を受ける可能性のあるアプリケーションをできるだけ早く更新することを検討する必要があります。

それが現実的でない場合、他の緩和策を導入する必要があります。短期的な緩和策としては、WAF や同様の技術を使用して、現在流通しているエクスプロイトコードに含まれる署名やデータをブロックすることが考えられますが、攻撃者が新しい亜種のエクスプロイトを作成すれば、当然ながらこれは回避されるでしょう。

また、Praetorian 社や Contrast Security 社によって提案されている別の防御策は、Spring のドキュメントに記載されているように、影響を受けるアプリケーションを修正し、使用できるバインディングを制限することです。

Aquaによる検出と緩和

Aqua は、CVE-2022-22965 をスキャンすることで、このゼロデイ RCE 脆弱性を特定可能です。私たちは、この CVE に番号が割り当てられるずっと前に検出していたため、Aqua 脆弱性データベース(AVD)で ID AQUA-2022-0329 を割り当てました。

VMware Spring.io ブログのガイダンスに基づき、Aqua は脆弱な Spring フレームワークパッケージにフラグを立て、環境内のどのアプリケーションに悪用の可能性があるのかを通知します。

この脆弱性は性質は一般的なタイプであり、まだ報告されていない他の悪用方法がある可能性はあります。また、Aqua コンソールで環境全体を検索し、どのアプリケーションがこの CVE を持っているかを明らかにできます。

Aqua の Assurance Policy では、特定の CVE を持つアーティファクトをブロックすることで、これらの脆弱なアプリケーションが実運用にデプロイしないようにできます。

また、既存の稼働しているワークロードに対しては、Aqua の DriftPrevention により、ランタイム中に悪意のあるコードを実行しようとする試みをブロックします。

まとめ


この問題が特定の組織にとってどの程度深刻かは、脆弱性のある Spring フレームワークに依存しているかどうかで決まると思われます。昨年の Log4shell 問題のように広まるかどうかはまだ不明です。最初の兆候では、多くの脆弱なシステムが存在するものの、悪用の前提条件(特定の方法でコード化されたアプリケーションのみが脆弱である)によって、侵害されるシステムの数を減らすことができるかもしれません。

New call-to-action

新規CTA