ホーム Topics Log4j Log4j の脆弱性とは何ですか?
IBMのLog4jソリューションの詳細はこちら セキュリティーの最新情報を購読する
クラウド、携帯電話、指紋、チェックマークのピクトグラムをコラージュしたイラスト
Log4j の脆弱性とは何ですか?

Log4Jの脆弱性(Log4Shell)は、2021年11月にApache Log4Jロギング・ライブラリで発見された重大な脆弱性です。Log4Shellは基本的に、パッチが適用されていないバージョンのLog4Jを実行しているデバイスの制御をハッカーに完全に委ねるものです。

悪意のある攻撃者はこのLog4jの脆弱性を利用して、脆弱なシステム上でほぼ任意のコードを実行することができます。

Log4Jは世界で最も広く導入されているオープンソース・プログラムのひとつで、使いやすいことから、研究者たちはこれを「破壊的な」セキュリティー脆弱性と考えています。米国サイバーセキュリティー・社会基盤安全保安庁(CISA)のJen Easterly,長官は、これを「最も深刻ではないにしても、これまでのキャリアの中で見てきた中で最も深刻なものの1つ」と述べました。

Log4Shellは2021年12月にサイバー攻撃の急増を引き起こしました。IBMの X-Force脅威インテリジェンス・インデックス によると、2020年から2021年にかけて脆弱性のエクスプロイテーションが34%増加したことが記録されており、その主な原因はLog4Shellとなっています。

Log4Shellは発見後すぐにパッチが適用されましたが、Log4Jはソフトウェア・サプライチェーンに深く組み込まれているため、今後数年間はリスクが生じることになります。米国国土安全保障省は、脆弱な事例を発見して修正するには少なくとも10年はかかると見積もっています。

IBM Security X-Force 脅威インテリジェンス・インデックス

IBM Security X-Force Threat Intelligence Indexを使用することで、より迅速かつ効果的にサイバー攻撃に備え、対応するためのインサイトを得ることができます。

関連コンテンツ

データ侵害コスト・レポートに登録する

Log4J とは何ですか?

Log4j は、Apache Software Foundation によって開発されたロギング フレームワークです。名前が示すように、Log4Jはロガーです。 プログラム内のエラー メッセージやユーザー入力などの重要な情報を記録します。

Log4Jはオープンソースのソフトウェア・ライブラリで、開発者が自由に使用できるよう事前に作成されたコードのパッケージです。開発者は独自のロガーを作成する代わりに、Log4Jライブラリをアプリにプラグインできます。この利便性が、Log4Jが広く普及しており、2、3例を挙げると、MicrosoftやAmazonなどの大手組織の製品に組み込まれている理由です。

ハッカーがLog4Shellを悪用する方法

Log4Shell— Common Vulnerability and Exposure (CVE) 識別子、CVE-2021-44228 —Log4J の一部のバージョンに存在するリモート コード実行 (RCE) の脆弱性です。この欠陥は、Apache Log4J 2 バージョン 2.14.1 以前に影響します。Log4J 2.15 以降、および Apache Log4J 1 のすべてのバージョンは影響を受けません。

Log4Shell は、古いバージョンの Log4J 2 が Java Naming and Directory Interface (JNDI) ルックアップを処理する方法から生まれました。JNDIは、 Javaアプリケーションが 外部サーバーにホストされているリソースにアクセスするために使用する アプリケーション・プログラミング・インターフェース (API)です。JNDI ルックアップは、サーバーにアクセスしてデータやスクリプトなどの特定のオブジェクトをダウンロードするようにアプリに指示するコマンドです。Log4J 2 の古いバージョンでは、この方法でダウンロードされたコードはすべて自動的に実行されます。

ユーザーは、ログ メッセージに JNDI ルックアップを含めることで、脆弱なバージョンの Log4J に JNDI ルックアップを送信できます。やり方は簡単です。たとえば、Log4J を使用してユーザー メッセージを記録する古いバージョンの Minecraft Java Edition では、ユーザーはパブリック チャット ウィンドウに JNDI ルックアップを入力できます。

ハッカーはこのJNDI機能を利用して、悪意のある任意のコードをリモートで実行できます。まず、ハッカーは注目されないように、LDAP(Lightweight Directory Access Protocol)などの一般的なプロトコルを使用するサーバーをセットアップします。次に、マルウェア・ファイルなどの悪意のあるペイロードをそのサーバーに保管します。最後に、彼らはプログラムにJNDIルックアップを送信し、攻撃者のLDAPサーバーにアクセスしてペイロードをダウンロードし、コードを実行するように指示します。

Log4Shell のインパクト

テクノロジー大手アリババのセキュリティ研究者は、2021 年 11 月 24 日に Log4Shell を発見しました。すぐに共通脆弱性評価システム (CVSS) の最高スコアである 10 点中 10 点を獲得しました。この評価にはいくつかの要因が寄与しました。

  • Log4Shellはゼロデイ脆弱性で、発見された時点では利用可能なパッチが存在しませんでした。脅威アクターは、Apacheが修正プログラムに取り組んでいる間にLog4Shellを悪用している可能性があります。

  • Log4Jは、最も広く使用されているロギング・ライブラリのひとつで、コンシューマー向けのエンドポイント、Webアプリケーション、そして企業向けのクラウド・サービスに組み込まれています。WizとEYによると、Log4Shellが発見された時点で、すべてのクラウド環境の93%が危険にさらされていました

  • 企業は、自社が脆弱かどうかをすぐに判断できるとは限りません。Log4J は、間接的な依存関係としてネットワークに存在することがよくあります。つまり、企業の資産は Log4J を使用していなくても、使用する他のアプリやサービスに依存している可能性があります。

  • 最後に、Log4Shellの使い方は簡単です。ハッカーは特別な権限や認証を必要としません。チャット・ボックスやログイン・ページなどの公開フォームに悪意のあるコマンドを入力することで、大混乱を引き起こすことができます。また、Log4Jは同じシステム上にある他のサービスと通信できるため、ハッカーはLog4Jを利用してペイロードをシステムの他の部分に渡すことができます。

2021年12月9日までに、Log4Shellの利用方法に関する概念実証コードがGitHubに投稿され、ハッカーによる攻撃が開始されました。Minecraft、Twitter、Ciscoなどの大手企業やサービスが危険にさらされました。Log4Shellの活動がピークに達したとき、Check Pointは1分間に100件を超える攻撃を観測し、世界中のビジネス・ネットワークの40%以上が影響を受けました。

最も初期の攻撃では、ボットネットとクリプトマイニング・マルウェアが拡散されました。一部のハッカーはこの脆弱性を利用してファイルレス攻撃を開始し、悪意のあるスクリプトをWindowsやLinuxのコンピュータに送信して、パスワードやその他の機密情報を漏洩させました。

複数の ランサムウェア 集団が Log4Shell を押収しました。特に、ハッカーは Minecraft を通じて Khonsari ランサムウェア株を拡散させました。Night Sky ランサムウェアは、VMware Horizon を実行しているシステムをターゲットにしました。

国家機関までもがこれに加わりました。中国、イラン、北朝鮮、トルコに関連するハッカーがこの脆弱性を利用したことが確認されています。

Log4Shell へのレスポンス

Apache は、2021 年 12 月 10 日に最初のパッチ (Log4J バージョン 2.15.0) を公開しました。ただし、このパッチにより別の脆弱性 —CVE-2021-45046—が露出したままとなり、ハッカーが特定のデフォルト以外の設定でログに悪意のあるコマンドを送信できるようになります。

Apacheは、2021年12月14日に2つ目のパッチ(Log4Jバージョン2.16.0)をリリースしました。これにも—CVE-2021-45105—という欠陥があり、ハッカーがサービス拒否(DoS)攻撃を開始できる状態になっていました。

3 番目のパッチである Log4J バージョン 2.17 では、DoS 欠陥は修正されましたが、最後の脆弱性—CVE-2021-44832— が残り、ハッカーが「アペンダー」と呼ばれる Log4J コンポーネントの制御を掌握してリモート コードを実行できるようになりました。Apache は、4 番目で最後のパッチである Log4J バージョン 2.17.1 でこの問題に対処しました。 

Log4Shell の永続性

Log4J 2.17.1は、Apache側のLog4Shellとそれに関連するすべての脆弱性を解決しましたが、サイバー脅威は依然としてこの欠陥を利用しています。2023年5月現在でも、Log4Shellは最もよく利用される脆弱性のひとつです。

Log4Shell は、いくつかの理由で存続します。

まず、多くの企業のソフトウェア・サプライチェーンにLog4Jが深く埋め込まれていることです。現在、多くのアプリは既存のオープンソース・ソフトウェライブラリを組み立てて構築されています。このプロセスは便利ですが、組織がアプリを構成するすべてのコンポーネントを十分に把握できないという側面もあります。Log4Jの古いバージョンは見落とされがちです。

脆弱性のあるバージョンのLog4Jにパッチが適用されても、常にパッチが適用された状態を維持できるとは限りません。2022年11月、Tenable社の報告によると、Log4Shellに依然として脆弱な資産のうち29%が「再発」となりました。これらには過去にパッチが適用されましたが、欠陥が再び現れたのです。このシナリオは、ユーザーがアプリを構築または更新する際に、パッチ未適用のバージョンのLog4Jがまだ含まれているソフトウェア・ライブラリを誤って使用することがあるために発生します。

最後に、ハッカーたちは痕跡を消す巧妙な方法を開発しました。CISAによると、一部のハッカーはLog4Shellを利用してネットワークに侵入し、その資産にパッチを適用しています。企業は安全だと考えていますが、ハッカーはすでに「侵入」しています。

軽減と修復

Log4J の最新バージョンには Log4Shell が含まれていません。サイバーセキュリティの専門家は、セキュリティ チームがシステム内の Log4J のすべてのインスタンスが最新であることを確認することに重点を置くことを推奨しています。

多くの場合、企業は資産を見つけるために資産を深く掘り下げる必要があるため、Log4J の更新は時間がかかるプロセスになる可能性があります。一方、セキュリティチームは、継続的な 脆弱性スキャンや攻撃対象領域管理(ASM)や エンドポイント検出・対応(EDR) プラットフォームなどの脅威検出ツールを使用して、インターネットに面した資産を監視することができる。 専門家は、 インシデント対応 チームが Log4Shell アクティビティの兆候を徹底的に調査することを推奨しています。

Log4Shellが公開された後、多くのファイアウォール、侵入検知システム(IDS )、 侵入防御システム(IPS )が、 Log4Shellの悪用を検知するルールを追加 した。これらのツールは、セキュリティチームが攻撃者が管理するサーバからのトラフィックを検出し、ブロックするのに役立ちます。

Log4Shell のタイムライン
  • 2013 年 7 月 18 日: Apache は、JNDI プラグインをサポートする最初のバージョンである Log4J 2.0-beta9 をリリースしました。この脆弱性は数年後まで発見されませんが、Log4Shell はこの瞬間から存在します。

  • 2021 年 11 月 24 日: Alibaba のセキュリティ研究者が Log4Shell を発見し、Apache に報告しました。Apache はパッチの作業を開始しましたが、パブリック セキュリティ勧告はリリースしませんでした。

  • 2021 年 12 月 9 日: Alibaba のセキュリティ研究者が、Log4Shell が実際に議論されている証拠を発見し、概念実証のエクスプロイト コードが GitHub に投稿されました。

  • 2021 年 12 月 10 日: Apache が最初のパッチを発行し、Minecraft 開発者が Minecraft Java Edition で Log4Shell を発見しました。サイバーセキュリティ コミュニティは状況の深刻さをすぐに認識し、組織はシステムのロックダウンをスクランブルし始めます。

  • 2021 年 12 月 11 日: Cloudflare は、脅威アクターが当初考えられていたより早く、12 月 1 日には Log4Shell を悪用し始めたという証拠を発見しました。

  • 2021 年 12 月 14 日: CVE-2021-45046 が発見され、Apache がそれに対処するパッチをリリースしました。

  • 2021 年 12 月 17 日: CVE-2021-45105 が発見され、Apache がそれに対処するパッチをリリースしました。

  • 2021 年 12 月 28 日: CVE-2021-44832 が発見され、Apache が最終パッチをリリースしました。Log4J バージョン 2.17.1 以降、Log4Shell は完全に修復されています。

  • 2022年1月4日米国連邦取引委員会(FTC)は、Log4Shellに対処しななかったために消費者データをハッカーに公開した企業を追及する意向を発表しました。

  • 2023 年 5 月: Check Point は、Log4Shell が依然として 2 番目に多く悪用されている脆弱性であることを発見しました。

関連ソリューション
データ・セキュリティーと保護ソリューション

オンプレミスまたはハイブリッド・クラウドに実装された IBM データ・セキュリティー・ソリューションは、サイバー脅威の調査と修復、リアルタイム制御の実施、規制遵守の管理のための優れた可視性と洞察を得るのに役立ちます。

データセキュリティと保護ソリューションの詳細を見る
X-Forceインシデント対応チーム

プロアクティブな脅威ハンティング、継続的な監視、脅威の詳細な調査は、すでに多忙な IT 部門が直面している優先事項のほんの一部にすぎません。信頼できるインシデント対応チームを待機させると、対応時間が短縮され、サイバー攻撃の影響が最小限に抑えられ、より迅速な復旧が可能になります。

X-Forceインシデント対応の詳細はこちら
Take the next step

Learn how the IBM Security Guardium family of products can help your organization meet the changing threat landscape with advanced analytics, real-time alerts, streamlined compliance, automated data discovery classification and posture management.

Explore Guardium Book a live demo