Apache Log4j(Log4Shell)の脆弱性

Apache Log4j(Log4Shell)の脆弱性とは

Log4Shell(CVE-2021-44228CVE-2021-45046CVE-2021-45105)とはリモートコード実行(RCE)の脆弱性であり、悪意のある攻撃者が任意のJavaコードを実行して、標的とするサーバを制御します。

Log4Shellの脆弱性の概要

2021年は、ゼロデイ脆弱性が多数確認された一年で、その中でもLog4Shellは、広く使用されているJavaベースのログライブラリであるApache Log4jに見つかった重大な欠陥です。この脆弱性はCVE-2021-44228として公式に特定され、Common Vulnerability Scoring System (CVSS) によると、重大度スコアは最大値の10.0 (CVSS v3.1) を記録しています。

この脆弱性は、2021年11月24日にApacheにて初めて非公開で報告されました。そして12月9日、Log4Shellの脆弱性情報が一般公開され、Apache Log4jのバージョン2.15.0にてパッチがリリースされました。

その後、実際に確認された攻撃のニュースをきっかけに、アメリカの米国サイバーセキュリティ・インフラストラクチャ・セキュリティ庁 (CISA)、イギリスの国家サイバーセキュリティセンター (NCSC)、カナダのサイバーセキュリティセンターなど、複数の国のサイバーセキュリティ機関が警告を発表しました。Apache Log4jはその普及率から、数億台のデバイスが影響を受ける可能性があります。

Log4Shellの仕組み

Log4Shellは、Java Naming and Directory Interface (JNDI) インジェクションの脆弱性であり、リモートコード実行(RCE)が可能です。脆弱性の影響を受けるバージョンに対して、ログメッセージに不正データ(悪意のあるペイロードなど)を含めることにより、攻撃者はJNDIlookupを介し、不正サーバへの接続を確立できます。その結果、世界中のどこからでも利用中のシステムへアクセスされる恐れがあります。

JNDIlookupは、ドメイン・ネーム・システム (DNS)、組織のネットワークデバイス情報などを提供するLightweight Directory Access Protocol (LDAP)、リモートメソッド呼び出し (RMI)、およびORB間プロトコル(IIOP)などのさまざまなタイプのプロトコルをサポートします。よって、Log4Shellは次のような脅威を招く可能性があります。

  • コインマイニング:攻撃者はあなたのリソースを使用して、暗号資産をマイニングできます。クラウド上でのサービスやアプリケーションを実行するために必要な膨大な処理量を考えると、多大なコストを強いられかねません。
  • ネットワークサービスの妨害(DoS攻撃):この脅威により、攻撃者はネットワーク、Webサイト、またはサービスを停止および無効化し、攻撃を受けた組織へのアクセスを妨害します。
  • ランサムウェア:遠隔でのコード実行を達成後、攻撃者は身代金の目的でデータ収集・データ暗号化を行います。

下図は、感染のイメージ図(英語)です。

感染チェーンの可能性

脆弱性のある製品、アプリケーション、およびプラグイン

基本的に、Apache Log4jバージョン2.0~2.14.1を実行しているデバイスが対象です。影響を受けるバージョンは、Apache Struts、Apache Solr、Apache Druid、Elasticsearch、Apache Dubbo、VMware vCenterに含まれています。

パッチと緩和策

Apacheは当初、脆弱性にパッチを適用するためにApache Log4jバージョン2.15.0をリリースしました。ただし、このバージョンはJava 8でのみ機能しました。以前のバージョンのユーザは、一時的な緩和策を適用および再適用する必要があります。その後、Apacheはバージョン2.16.0をリリースし、影響を受ける可能性のあるライブラリをできるだけ早くアップデートするようユーザに呼びかけています。

本脆弱性に対応するには、「Apache Log4j」の最新版のパッチを適用してください。パッチの適用がすぐにできない場合は、仮想パッチや侵入検知/防御システム (IDS/IPS) の活用など、その他の緩和策の適用を強く推奨します。仮想パッチは脆弱性をさらなる悪用から保護し、IDS/IPSは、侵入および出口トラフィックを検査し、疑わしい挙動を検出します。

Apache Log4jのトピック

関連記事

関連レポート