Apache Log4j 2 リモートコード実行脆弱性の詳細

Apache Log4j 2 は人気の Java ロギングツールですが、バージョン 2.0 から 2.14.1 に重大なリモートコード実行の脆弱性(CVE-2021-44228)が存在し、攻撃者が任意のコードをリモートで実行して、影響を受けるサーバーを完全に制御できる可能性があります。

Log4j 2におけるJNDIルックアップ機能が根本原因となり、攻撃者は不正なJNDIルックアップ要求を作成することでリモートコード実行を引き起こす可能性がある。

攻撃者は悪意のあるHTTPリクエストヘッダーやその他のアプリケーション入力を構築し、悪意のあるJavaコードを含む特定のJNDIルックアップ要求を挿入することで、Log4j 2が要求を解析しようとした際にリモートコードを実行させる悪意のあるコードを実行させることができます。

Log4j 2が数多くのエンタープライズシステムやクラウドサービスを含む多数のJava Webアプリケーションで広く使用されているため、この脆弱性による影響は極めて重大です。攻撃者はこの脆弱性を利用して影響を受けたサーバーを完全に制御し、さらに機密データへのアクセスや窃取、マルウェアの拡散、内部ネットワークへの攻撃を実行できます。

この脆弱性に対処するため、Apache Log4jプロジェクトは2.15.0バージョンをリリースし、できるだけ早くそのバージョンにアップグレードすることを推奨しています。さらに、ユーザーはリスクを軽減するための次の対策を講じることもできます。

  1. 使⽤しているアプリケーションのLog4jバージョンを確認し、 最新版にアップデートし、脆弱性からの影響を回避してください。
  2. JNDIのリモートアクセスを許可する権限を制限するようにアクセス制御リスト(ACL)を設定します。これはlog4j2.xml設定ファイルのJndiLookup要素を変更することで実行できます。
  3. JndiLookup特徴を無効にするには、log4j2 . xml設定ファイルでJndiLookup要素を削除するか、無効にすることができます。
  4. ファイアウォールをセットアップして、影響を受けたサーバへのアクセスを制限する。

いずれにせよ、Apache Log4j 2 リモートコード実行の脆弱性は重大なセキュリティ上の脅威であり、ユーザーは直ちに修正されたバージョンにアップグレードし、リスク軽減のための追加措置を講じるべきです。また、セキュリティチームと開発者は関連するセキュリティ発表を綿密に監視し、攻撃からシステムを保護するための措置をタイムリーに講じるべきです。

bannerAds