2021年12月10日以降、業界の専門家がゲーム「Minecraft」をサポートするサーバーに存在するLog4Shellと呼ばれる重大な脆弱性を発見してから数日後、悪意のある攻撃者によるLog4j 2 Javaライブラリへの攻撃試行が数百万件に上ったと、影響を追跡しているあるチームが報告しています。この脆弱性は、世界中のさらに数百万ものアプリケーションやデバイスに対する潜在的な脅威となります。
本記事では、Log4j脆弱性に関するよくあるご質問にお答えします。新たな質問が寄せられ次第、随時回答を追加してまいります。
Log4Shellとは何ですか?
Log4Shellとは、アプリケーションのエラーメッセージを記録する一般的なJavaライブラリであるApache Log4j 2のソフトウェア脆弱性です。CVE-2021-44228として公表されたこの脆弱性により、特定のバージョンのLog4j 2を実行しているインターネット上のデバイスを、遠隔の攻撃者が制御下に置くことが可能となります。
Apacheは2021年12月6日、CVE-2021-44228に対する修正パッチとなるバージョン2.15をリリースしました。しかしながら、このパッチでは脆弱性の一部が修正されなかったため、新たな脆弱性CVE-2021-45046が発生し、12月13日にバージョン2.16の第二弾パッチがリリースされました。Apacheは12月17日、関連する別の脆弱性CVE-2021-45105を修正する第三のパッチ(バージョン2.17)を公開しました。さらに12月28日には、別の脆弱性CVE-2021-44832に対処する第四のパッチ(バージョン2.17.1)を公開しています。
攻撃者はテキストメッセージを利用してこの脆弱性を悪用し、コンピュータを遠隔操作することが可能です。Log4j 2ライブラリを公開するApache Software Foundationは、この脆弱性が広範囲に悪用される可能性と、悪意のある攻撃者が容易に悪用できる点から、CVSSスコアを10点満点中10点(最高レベルの深刻度)と評価しました。対策が進化し被害が拡大する中でも、Log4j脆弱性の根本的な性質は変わりません。
Perform 2023カンファレンス「貴社のCISOは、次なるLog4Shellへの組織的リスクを把握していますか?」のセッションをご覧ください。
専門家はいつLog4j 2ライブラリの脆弱性を発見したのでしょうか?
中国最大の電子商取引企業アリババのセキュリティ研究者、陳昭軍氏が11月24日にアパッチ財団(オープンソースプロジェクト)に初めて報告しました。同氏は12月9日、ゲーム「Minecraft」をホストするサーバー上でこの攻撃を発見しました。その後の詳細なフォレンジック分析により、サイバー犯罪者がより早くこの脆弱性を発見し、少なくとも2021年12月1日以降に悪用していたことが判明しました。
Log4j 2ライブラリのLog4Shell脆弱性によるリスクとは何でしょうか?
Log4Shellは、専門家よりも先に悪意のある攻撃者がこの脆弱性を認識し悪用していた可能性が高いことから、ゼロデイ脆弱性と見なされています。
Log4j脆弱性が特に危険とされる理由は、Log4j 2ライブラリの普及率の高さにあります。Amazon Web ServicesからVMwareまで、大小さまざまな主要プラットフォームやサービスに組み込まれています。影響を受けるプラットフォームやサービス間の依存関係の複雑さから、パッチ適用は複雑で時間を要するプロセスとなる可能性があります。
特に、この脆弱性の悪用が容易であることが影響を深刻化させています。Log4j 2ライブラリは、アプリケーションがコードや情報の文字列をログに記録する方法を制御します。この脆弱性により、攻撃者は文字列を制御し、アプリケーションを騙して攻撃者が制御する悪意のあるコードを要求・実行させることが可能となります。その結果、攻撃者はソフトウェアスタック内のどこにあっても、特定のバージョンのLog4jライブラリを使用するインターネット接続サービスなら、遠隔から乗っ取ることができてしまいます。
Log4j 2とは何であり、どのような役割を果たすのでしょうか?
インターネット上で最も広く利用されているロギングフレームワークとして、業界を問わず多くの組織がApache Log4j 2を無数のアプリケーションに組み込んでいます。これにはApple、Google、Microsoft、Cloudflareといった主要なクラウドサービスや、TwitterやStreamなどのプラットフォームも含まれます。
Log4j 2はソフトウェアからのメッセージを記録し、後でエラーを検索します。そのデータ範囲は、基本的なブラウザやウェブページの情報から、Log4j 2が動作するシステムに関する技術的な詳細まで多岐にわたります。
Log4j 2ライブラリは単純なログ作成だけでなく、高度なロギング情報を生成するためのコマンドを実行することも可能です。その過程で、内部ディレクトリサービスなどの他のソースとの通信も行います。

Log4Shellの脆弱性はどのように被害をもたらすのでしょうか?
Log4j 2ライブラリは他のソースや内部ディレクトリサービスと通信できるため、攻撃者は外部からLog4j 2に悪意のあるコマンドを容易に送り込み、悪意のあるソースから危険なコードをダウンロードして実行させることが可能です。
攻撃者がLog4j 2を悪用する方法は、影響を受けるシステムの詳細によって異なります。これまでのところ、悪意のある活動の大部分は脆弱なシステムを特定するための大規模なスキャンでした。マイクロソフトの報告書によると、攻撃者はこの脆弱性を悪用して仮想化インフラを侵害し、ランサムウェアをインストール・実行し、システムの認証情報を盗み、侵害されたネットワークを広く制御し、データを流出させています。
Log4Shellの悪用可能性に関する報告が増え続ける中、悪意のある活動の可能性は飛躍的に広がっているようです。悪意のある攻撃者は、攻撃対象システム上で任意のコードを実行することが可能です。例えば、機密性の高い設定データにアクセスするためです。このデータを取得することで、攻撃者はシステム全体、そしてそのデータやアプリケーションのすべてを完全に制御下に置く可能性があります。これは、玄関の鍵と内部の金庫の暗証番号を両方持っている泥棒のようなものです。
これまでに公表された脆弱性は何ですか?
CVEではLog4Shellに関連する4つの脆弱性が公表されています:
| 脆弱性 | 脆弱な点 | Log4j 2 パッチ |
| CVE-2021-44832(最新版) | 標的となるLDAPサーバーを制御する攻撃者は、 設定でJNDI LDAPデータソースURIを使用した J DBCアペンダー を利用している場合に 、 リモートコード実行(RCE)攻撃 を仕掛ける可能性があります。 | Java 8 以降向け Log4j 2.17.1
これは最新のパッチです。 |
| CVE-2021-45105 (第三報) | 自己参照ルックアップで無限再帰ループを引き起こすことにより、攻撃者がサービス拒否攻撃を開始する可能性を残していました。 | Log4j 2.17.0 for Java 8 and up. |
| CVE-2021-45046 (第二報) | 攻撃者が悪意のある入力データを作成し、情報漏洩やリモートコード実行を引き起こす可能性がありました。 | Log4j 2.12.2 (Java 7 用) および 2.16.0 (Java 8 以降用) |
| CVE-2021-44228 (最初の報告) | 攻撃者がメッセージ検索機能を利用して任意のコードを実行する可能性がありました。 | Log4j 2.12.2 および Log4j 2.16.0 |
Log4j 2を使用するシステムをこれらの脆弱性から保護するためには、ITチームは最新のパッチであるLog4j 2.17.0(Java 8以降対応)を適用する必要があります。
Log4Shellは消費者にとってどのような影響がありますか?
多くの企業や組織では、直接あるいはサードパーティ経由で、数多くのアプリケーションやインフラストラクチャにおいてLog4jライブラリを使用しています。消費者向け分野では、ネットワーク対応ストレージやスマートホーム機器の多くもLog4j 2ライブラリを利用しています。ユーザーの皆様は、メーカーが更新プログラムを提供するまで、これらの機器をインターネットから切断されることをお勧めいたします。
多くの企業は、自社ウェブサイトにLog4j脆弱性への対応策を説明するセキュリティ情報を掲載しています。
消費者の皆様は、ご利用のベンダーが提供するソフトウェア更新をインストールしてください。また、ご利用のサイトやサービスをホストする組織がLog4Shellの影響を受けていないか確認されることをお勧めします。影響を受けている場合、それらの組織が個人情報を保護するためにどのような対策を講じているか把握してください。
ITセキュリティチームはLog4Shell脆弱性に対してどのような対応を取るべきでしょうか?
自社アプリケーションやインフラでLog4j 2を使用している組織は、直ちに更新を行う必要があります。サードパーティ製アプリケーションについても同様です。バージョン2.17.0のリリースにより、このライブラリはLog4Shell脆弱性に対して完全に保護されています。
Log4Shellは多くのシステムに影響を与え、悪用が極めて容易であるため、組織はシステム保護のため迅速な対応が求められます。影響を受けるシステムを迅速に特定するには、Dynatrace Application Securityのようなソリューションが必要です。これにより、脆弱なシステムとその依存関係を即時かつ自動的に特定し、特に本番環境で稼働中のコードにおいて、更新を最優先すべき最も重要なシステムの優先順位付けを支援します。
Log4Shellが企業のアプリケーションや機密データを脅かし続ける中、Dynatrace Application Securityは、マルチクラウド環境全体を監視しながら、実行時に脆弱性の影響を受ける資産と最優先対応すべき資産をリアルタイムで把握することを可能にします。これにより、Log4Shell脆弱性の影響に対処する過程で、悪意のある活動をリアルタイムで把握し続けることが可能となります。
Log4Shell脆弱性の仕組みと対策方法の詳細については、以下のリソースをご参照ください:
- Log4Shell:本番環境のリスクを特定し最小化するブログ
- Log4j脆弱性(Log4Shell)Dynatraceセキュリティアラート
- Log4Shell脆弱性:本番環境リスクの特定と最小化に関するウェビナー
- Log4Shell脆弱性の発見と緩和には、自動化されたインテリジェントな可観測性が求められますブログ記事
- Dynatrace Log4Shell リソースセンターウェブページ
また、本FAQブログでは随時更新情報を掲載しておりますので、引き続きご確認ください。
ご質問がおありですか?
Q&Aフォーラムで新しいディスカッションを開始するか、ご支援をお求めください。
フォーラムへ移動