ホーム Topics Log4j Log4j の脆弱性とは何ですか?
IBMニュースレターの購読 IBM Security QRadarの詳細はこちら
オフィスの机に座ってラップトップ コンピューターを使用している人

「Log4Shell」としても知られる Log4J 脆弱性は、2021 年 11 月に Apache Log4J ロギング ライブラリで発見された重大な脆弱性です。Log4Shell は基本的に、パッチが適用されていないバージョンの Log4J を実行しているデバイスをハッカーに完全に制御させることができます。悪意のある攻撃者はこの欠陥を利用して、脆弱なシステム上で必要なほぼすべてのコードを実行する可能性があります。

研究者らは、Log4Shell が「壊滅的な」セキュリティ脆弱性であると考えています。Log4J は世界で最も広く導入されているオープン ソース プログラムの 1 つであり、非常に悪用されやすいためです。米国サイバーセキュリティ・インフラセキュリティ庁(CISA)のジェン・イースタリー長官は、これを「最も深刻ではないにしても、これまでのキャリアの中で最も深刻なものの1つ」と述べました。

Log4Shell は 2021 年 12 月に サイバー攻撃 の急増を引き起こしました。IBMの X-Force脅威インテリジェンスインデックス 2020 年から 2021 年にかけて、主に Log4Shell に起因する脆弱性悪用の 34% 増加を記録しました。

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

Log4J とは何ですか?

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

Log4J はオープンソース ソフトウェア ライブラリであり、開発者が自由に使用できる事前に作成されたコードのパッケージです。開発者は独自のロガーを作成する代わりに、Log4J ライブラリをアプリにプラグインできます。この利便性が、Log4J が非常に普及しており、ほんの数例を挙げると、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 機能を使用して、悪意のある任意のコードをリモートで実行する可能性があります。まず、ハッカーは注目を集めるのを避けるために、Lightweight Directory Access Protocol (LDAP) などの一般的なプロトコルを使用してサーバーをセットアップします。次に、 マルウェア ファイルなどの悪意のあるペイロードをそのサーバーに保存します。最後に、プログラムに JNDI ルックアップを送信し、攻撃者の LDAP サーバーに移動し、ペイロードをダウンロードし、コードを実行するように指示します。

Log4Shell のインパクト

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

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

  • Log4J は、最も広く使用されているログ ライブラリの 1 つであり、コンシューマー エンドポイント、Web アプリケーション、エンタープライズ クラウド サービスに組み込まれています。WizとEYによると、Log4Shellが発見されたとき、 全クラウド環境の93%が危険にさらされていた(リンクはibm.comの外にある)。

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

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

2021 年 12 月 9 日までに、Log4Shell を悪用する方法に関する概念実証コードが GitHub に投稿され、ハッカーが攻撃を開始しました。Minecraft、Twitter、Cisco などの大手企業やサービスが摘発されました。チェック・ポイントでは、Log4Shell の活動がピークに達した時点で、1 分間に 100 件以上の攻撃を観測しており、 全世界の企業ネットワークの 40%以上が影響を受けています(リンク先は ibm.com の外部サイト)。

初期の攻撃では、ボットネットとクリプトマイニング マルウェアが拡散しました。一部のハッカーはこの欠陥を利用してファイルレス攻撃を開始し、悪意のあるスクリプトを 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は 最もよく悪用される脆弱性の1つだった(リンクはibm.comの外にある)。

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

1 つ目は、Log4J が多くの企業のソフトウェア サプライ チェーンの奥深くに埋もれているということです。現在、多くのアプリは既存のオープンソース ソフトウェア ライブラリを組み立てることによって構築されています。このプロセスは便利ですが、組織がアプリを構成するすべてのコンポーネントの可視性が制限されていることも意味します。古いバージョンのLog4Jを見逃すのは簡単です。

Log4J の脆弱なバージョンにパッチが適用されても、常にパッチが適用されたままになるわけではありません。2022年11月、 Tenableは(リンクはibm.comの外にある)、Log4Shellの脆弱性が残っている資産の29%が "再発 "であると 報告した。 それらは過去にパッチが適用されましたが、欠陥が再び現れました。 このシナリオは、ユーザーがアプリを構築または更新するときに、パッチが適用されていないバージョンの Log4J がまだ含まれているソフトウェア ライブラリを誤って使用する場合があるために発生します。

ついにハッカーたちは、痕跡を消す巧妙な方法を開発した。 CISA(リンクはibm.comの外にある)に よると、一部のハッカーは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) (リンクは ibm.com の外にあります) は、Log4Shell への対応を怠ったために消費者データをハッカーに公開する企業を追及する意向であると発表しました。

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

関連ソリューション
IBM Security® QRadar® Suite

統制された最新セキュリティー・スイートで脅威に打ち勝つQRadar ポートフォリオにはエンタープライズグレードの AI が組み込まれており、エンドポイントセキュリティ、ログ管理、SIEM、SOAR 用の統合製品を提供しており、すべて共通のユーザーインターフェース、共有された洞察、接続されたワークフローを備えています。

QRadar スイートを詳しく見る
データ・セキュリティーと保護ソリューション

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

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

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

X-Forceインシデント対応の詳細はこちら
参考情報 ゼロデイエクスプロイトの究極のガイド

ゼロデイ エクスプロイトと、ゼロデイ エクスプロイトがセキュリティにおいて果たす重要な役割について知っておくべきことをすべて学びましょう。IBM傘下のランドリが作成。

サイバー攻撃とは何ですか?

サイバー攻撃とは、コンピューター システムへの不正アクセスを通じて、他人の資産を盗んだり、暴露したり、変更したり、無効にしたり、破壊したりしようとする試みです。

脆弱性管理とは何ですか?

脆弱性管理とは、組織の IT インフラストラクチャとソフトウェアにおけるセキュリティ上の欠陥を継続的に発見して解決することです。

次のステップ

IBM Security QRadar EDR(旧称:ReaQta)は、人間による介入がほぼ不要で、使いやすいインテリジェントな自動化により、既知および未知のエンドポイントへの脅威をほぼリアルタイムで修復します。攻撃を視覚化するストーリーボードを使用して、情報に基づいた迅速な意思決定を行います。自動化されたアラート管理を使用して、重要な脅威に焦点を当てます。 また、高度な継続学習 AI 機能によりビジネスの継続性を保護します。

QRadar EDR について詳しく見る QRadar EDRのデモの予約