エクスプロイト&脆弱性
「Apache Log4j」ライブラリに深刻なゼロデイ脆弱性が発覚
米国時間2021年12月9日、Apache Log4j2ログ出力ライブラリの複数のバージョンに影響を与える深刻なゼロデイ脆弱性情報が公開されました。CVE-2021-44228として登録されたこの脆弱性は、様々なブログやレポートで「Log4Shell」と呼ばれています。
- 【追記情報:2021年12月21日(火)】Log4j2の新バージョン2.17.0がリリースされています。影響を受ける環境をお持ちの方は、出来る限り早くこのライブラリを更新することを検討してください。その他、トレンドマイクロ製品による保護の内容の更新を追記しました。
- 【追記情報:2021年12月16日(木)】Log4j2の新バージョン2.16.0がリリースされています。影響を受ける環境をお持ちの方は、出来る限り早くこのライブラリを更新することを検討してください。
- 【追記情報:2021年12月15日(水)】トレンドマイクロ製品による保護の内容の更新を追記しました。
- 【追記情報:2021年12月14日(火)】トレンドマイクロ製品による保護の内容の更新、およびトレンドマイクロ製品によるデモ動画(英語)のリンクを追記しました。
- 【追記情報:2021年12月13日(月)】一般的な緩和策の詳細、およびトレンドマイクロ製品による保護の内容を追記しました。
- 【追記情報:2021年12月12日(日)】当該脆弱性の詳細情報と検知状況を追記しました。
当該記事の内容は2021年12月21日(火)時点の情報をもとにしており、今後更新される可能性があります。情報に更新があった場合は本記事を適宜更新いたします。
米国時間2021年12月9日、Apache Log4j2ログ出力ライブラリの複数のバージョンに影響を与える深刻なゼロデイ脆弱性情報が公開されました。CVE-2021-44228として登録されたこの脆弱性は、様々なブログやレポートで「Log4Shell」と呼ばれています。この脆弱性が悪用されると、影響を受ける環境で特定の文字列をログに記録することにより、任意のコードを実行(RCE:Remote Code Execution)される可能性があります。
影響を受ける対象
影響を受けるとみられるライブラリのバージョンは、2.0-beta 9 から2.14.1.です。https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.15.0/
当該脆弱性の詳細情報
Log4jは、Javaベースのロギングライブラリで、オープンソースとしてApache Webサーバを利用する多くのクラウドサービスを含む、さまざまなエンタープライズアプリケーションに広く導入され、使用されています。
この脆弱性(CVE-2021-44228)は、上記の対象ライブラリバージョンにおけるJava Naming and Directory Interface TM(JNDI)インジェクションの脆弱性です。この脆弱性は、対象バージョンのLog4j 2を使用しているシステムが、ログに記録されたメッセージに信頼できないデータを含んでいる場合に発生します。細工された悪意のあるペイロードがこのデータに含まれている場合、悪意のあるサーバへのJNDI Lookupが実行されます。 結果として、悪意のあるJavaオブジェクトが読み込まれ、最終的にRCEにつながる可能性があります。 また、Message Lookupの置換が有効な場合、ログメッセージやそのパラメータを制御できる攻撃者はLDAPサーバからロードされた任意のコードを実行することができます。
この脆弱性の対象となるライブラリは、多くの企業やクラウドアプリケーションにおいて広く使用されているため、まずはどのシステムがLog4jを使用しているか把握することが課題です。修正プログラムの適用が最善ではあるものの、どのアプリケーションに修正プログラムを適用すべきか精査に時間がかかることが想定されます(ソフトウェア・サプライチェーンリスク)。
また、JDNI Lookupは複数のプロトコルをサポートしていますが、これまでの分析結果によると、悪用可能性はJavaのバージョンと設定に依存しています。つまり、実務的な観点で言えば、対象資産に影響を受けるライブラリが実装されているからといって、即座に当該資産が脆弱であるとは言えず、サーバの設定も踏まえて判断することが推奨されます。
トレンドマイクロ・リサーチでは、本脆弱性およびその悪用方法について引き続き分析を行っており、詳細な情報が得られ次第、本記事を更新いたします。
推奨される対策
まず、ユーザはベンダのパッチが利用可能になった時点ですぐに適用することを強く推奨します。現在、この問題を解決したとされるLog4j2の新バージョン2.17.0がリリースされています。影響を受ける環境をお持ちの方は、出来る限り早くこのライブラリを更新することを検討してください。
注意:Log4j バージョン 2.15.0 を使用した緩和策は、Java 8 と組み合わせて使用する場合にのみ機能します。 Java の以前のバージョン(6 または 7)を使用しているユーザは以下に示す一時的な緩和策を適用し、特定のシナリオでは再起動時に再適用する必要があるため、Log 2.15.0+ と Java 8 を適切に組み合わせて使用しない限り、これは恒久的な解決策とはなりません。
以前公開した手動による緩和策は、新しいエクスプロイトの出現により十分でないことが判明したため削除しました。
トレンドマイクロ製品による保護および調査
ベンダが提供する修正プログラムに加えてトレンドマイクロは脆弱性を悪用する攻撃をブロックする仮想パッチ(IPS)のルールを提供しています。
■ Trend Micro Vision One
Trend Micro Vision Oneをご利用のお客様は、Trend Micro Apex Oneなどのエンドポイント製品のXDR機能を活用することができます。データ収集の時間帯によっては、IoC(Indicator of Compromise、侵害の痕跡)を遡ることで、この脆弱性を悪用した潜在的な活動があったかどうかを特定して調査することができます。
「Vision One Threat Intelligence Sweeping」機能
![](/content/dam/trendmicro/global/ja/research/21/l/zero-day-vulnerability-for-apache-log4j/image01.jpg)
Trend Micro Vision OneのThreat Intelligence Sweeping機能に、本脆弱性に関連するエクスプロイトの指標が追加されました。この機能を有効にしているお客様は、これらの脅威に関連するIoCが日々のテレメトリスキャンに追加されるようになります。
上記画像における最初のスキャン結果「Vulnerable version of log4j....」は、他のスキャンとは異なり、特定のIoCの代わりに、システム上のlog4jライブラリの特定のインスタンスを探して潜在的に脆弱なシステムの絞り込みをサポートしています。スキャン結果は、Vision Oneの「Observed Attacks Techniques」セクションに表示されます。
なお、お客様は、ルールの右にある「縦の三点マーク」をクリックして「Start Sweeping」オプションを選択することで、いつでも手動でスキャンを開始することができます。
Deep Security Deep Packet Inspectionに対するVision OneのSearchクエリ
Trend Micro Cloud One - Workload SecurityまたはDeep Securityをご利用のお客様は、以下の Search クエリを使用してホストを特定できます。悪用に関する情報が判明した場合には、それらのホストに対して時間帯を絞って追加クエリを実行できます。
![](/content/dam/trendmicro/global/ja/research/21/l/zero-day-vulnerability-for-apache-log4j/image03.jpg)
■ Trend Micro Cloud One - Conformity
Trend Micro Cloud One - Conformityは、90以上のサービスにおける約1,000のクラウドサービス設定のベストプラクティスを自動チェックし、クラウドサービスの設定ミスを回避することで、お客様のクラウドインフラストラクチャを一元的に可視化し、リアルタイムに監視することができます。
Trend Micro Cloud One - Conformityをご利用のお客様は、以下のルールを利用することで、影響を受けたマシンを特定するためのより詳細な情報を得ることができます(ルール設定の詳細についてはこちらをご覧ください)。
- Lambda-001 : 脆弱性の可能性があるJavaを実行しているすべてのLambdaを特定します。
![](/content/dam/trendmicro/global/ja/research/21/l/zero-day-vulnerability-for-apache-log4j/image04.png)
- Approved/Golden AMI (EC2-028) : Java を実行している脆弱な AMI を探すのに使用します。
![](/content/dam/trendmicro/global/ja/research/21/l/zero-day-vulnerability-for-apache-log4j/image05.png)
- Unrestricted Security Group Egress(EC2-033):0.0.0.0への通信を試みる可能性のあるEC2を特定します(悪用行為)。
![](/content/dam/trendmicro/global/ja/research/21/l/zero-day-vulnerability-for-apache-log4j/image06.png)
■ Trend Micro Cloud One - Workload Security and Deep Security IPS Rules
- Rule 1011242 - Log4j Remote Code Execution Vulnerability (CVE-2021-44228):このルールはデフォルトで推奨されていますが、デフォルト以外のポートで動作しているアプリケーションでは、ポートリストの更新が必要になる場合がありますのでご注意ください。
- Rule 1005177 - Restrict Java Bytecode File (Jar/Class) Download
- Rule 1008610 - Block Object-Graph Navigation Language (OGNL) Expressions Initiation In Apache Struts HTTP Request
- Rule 1011249 - Apache Log4j Denial of Service Vulnerability (protects against CVE-2021-45105)
Rule 1008610は、この脅威に関連する可能性のある不審な活動に対する保護/検出を支援するために手動で割り当てることができるSMARTルールです。なお、仮想パッチによりブロックする場合も、ベンダから提供される修正プログラムを別途適用することを推奨しています。なお、Rule 1008610は初期値では「検出」に設定されているため、本ルールを適用するには「防御」に変更する必要がありますまた、ルールの性質上、環境によっては過検知が発生する場合もあるため、環境に応じたテストを行うことが推奨されます。
■ Trend Micro Cloud One - Workload Security and Deep Security Log Inspection
- LI Rule 1011241 - Apache Log4j Remote Code Execution Vulnerability (CVE-2021-44228)
- 将来的に発見されるパターンを検出するために、カスタムLIルールを作成することもできます。 ユーザは、Define a Log Inspection rule for use in policies - Workload Security|Trend Micro Cloud One™ Documentationに記載されている手順に従って、パターンマッチングフィールドに以下のサンプルパターンを追加することができます:
■ Trend Micro Apex One
- Rule 1011242:Log4jリモートコード実行の脆弱性(CVE-2021-44228)
- Rule 1011249:Apache Log4jのサービス拒否の脆弱性(CVE-2021-45105から保護)
■ Trend Micro Deep Discovery Inspector
- Rule 4280:HTTP_POSSIBLE_USERAGENT_RCE_EXPLOIT_REQUEST
- Rule 4641:CVE-2021-44228 - OGNL EXPLOIT - HTTP(REQUEST)
- Rule 4642:POSSIBLE HTTP HEADER OGNL EXPRESSION EXPLOIT - HTTP(REQUEST)
- Rule 4643:POSSIBLE HTTP BODY OGNL EXPRESSION EXPLOIT - HTTP (REQUEST) - Variant 2
■ Trend Micro Cloud One - Network Security and TippingPoint DVToolkit CSW file CVE-2021-44228
- Filter 40627 : HTTP: JNDI Injection in HTTP Header or URI
Filter 40627はデジタルワクチン#9621でリリースされたもので、以前リリースされたCSW C1000001を置き換えたものです。
トレンドマイクロでは、このフィルタをブロックおよび通知する設定で有効にすることを推奨しています。2021年12月21日にリリースされたデジタルワクチンから、デフォルトで有効化される予定です。お客様の環境で有効になっていない場合には、ポリシーにてフィルタが有効になっていることを確認されることを強くお勧めします。
- Filter C1000001: HTTP: Apache Log4j Denial-of-Service Vulnerability
C1000001はCVE-2021-45105に対するDVToolkit CSWフィルタであり、TippingPointのみ対象です。
■ TippingPoint
- Filter 40627にて対応(2021/12/14提供開始DV#9621に含まれるFilter 40627へ置き換え済み)
■ TXOne
2021/12/13提供開始
- EdgeIPS/EdgeFire: Trend Micro DPI Pattern:TM_211213_09以上
- EdgeIPS Pro: Trend Micro EdgeIPS Pro DPI Pattern:TM_IPSP_211213_09以上
上記パターンに含まれる次のIPS Rule IDにて対応
- 1230268 WEB Apache log4j Remote Code Execution -1.u (CVE-2021-44228)
- 1230269 WEB Apache log4j Remote Code Execution -1.h (CVE-2021-44228)
- 1230272 Object-Graph Navigation Language (OGNL) expression ENV detected -1.u (CVE-2021-44228)
- 1230273 Object-Graph Navigation Language (OGNL) expression ENV detected -2.h (CVE-2021-44228)
- 1230274 WEB Apache log4j Remote Code Execution -2.u (CVE-2021-44228)
- 1230275 WEB Apache log4j Remote Code Execution -2.h (CVE-2021-44228)
- 1230276 WEB Apache log4j Remote Code Execution (suspicious) -1.u (CVE-2021-44228)
- 1230277 WEB Apache log4j Remote Code Execution (suspicious) -1.h (CVE-2021-44228)
- 1230278 WEB Apache log4j Remote Code Execution (suspicious) -2.u (CVE-2021-44228)
- 1230279 WEB Apache log4j Remote Code Execution (suspicious) -2.h (CVE-2021-44228)
■ Cloud Edge
2021/12/13提供開始
次のルールIDにて対応
- 1230275 WEB Apache log4j Remote Code Execution -2.h (CVE-2021-44228)
- 1230274 WEB Apache log4j Remote Code Execution -2.u (CVE-2021-44228)
- 1230268 WEB Apache log4j Remote Code Execution -1.u (CVE-2021-44228)
- 1230269 WEB Apache log4j Remote Code Execution -1.h (CVE-2021-44228)
■ Trend Micro マルウェア検出パターンについて(VSAPI、機械学習型検索、行動監視、WRS)
※ Trend Micro Apex One、Trend Micro Deep Security w/Anti-Malwareなどのエンドポイント、サーバ、メール&ゲートウェイが対象
Webレピュテーションサービス(WRS)
トレンドマイクロ製品では、この脆弱性を悪用するエクスプロイトに関連するWebサイトをブロックしています。2021年12月12日時点で1700以上のURLをWebレピュテーションサービス(WRS)のデータベースに追加し、現在も増加中です。
ランサムウェアの検出
ランサムウェアキャンペーン(Khonsari)の攻撃に利用されているという観測があり、トレンドマイクロは関連するコンポーネントをRansom.MSIL.KHONSARI.YXBLNとして検出します。
パターンファイルでのマルウェア検出(VSAPI)
今回のエクスプロイトに関連する悪意のあるコードが含まれたマルウェアとして、以下を検出する最新のパターンファイルをリリースしました。
- Trojan.Linux.MIRAI.SEMR
- HS_MIRAI.SMF
- HS_MIRAI.SME
- Trojan.SH.CVE20207961.SM
- Backdoor.Linux.MIRAI.SEMR
- Trojan.SH.MIRAI.MKF
- Coinminer.Linux.KINSING.D
■ Trend Micro Cloud One - Application Security
Trend Micro Cloud One - Application Securityは、実行中のアプリケーションを監視し、予期しないシェルコマンドの実行を阻止することができます。 本製品のRCE設定は、以下の手順で、この脆弱性に関連する特定のエクスプロイトからの保護に役立つように調整できます:
- Trend Micro Cloud Oneにログインし、「Application Security」に移動します。
- 左側のメニューで「Groups Policy」を選択し、アプリケーショングループを見つけます。
- まだ有効になっていない場合は、「Remote Command Execution」を有効にします。
- 画面右の「Configure Policy」のハンバーガーアイコンをクリックして、「Add new rule」アイコンをクリックします。
「Enter a pattern to match」の欄に「(?s).*」と入力し、「Submit」と「Save Changes」をクリックします。
「Remote Command Execution」の項目で「Mitigate」が選択されていることを再確認します。
■ Trend Micro Cloud One - Open Source Security by Snyk
Trend Micro Cloud One - Open Source Security by Snykは、わずかな統合作業で、すべての組織のソースコードリポジトリに存在するlog4jライブラリの脆弱性バージョンを特定することができます。 また、インストール後は、脆弱性のないバージョンへのアップデートの進捗を監視することができます。
![](/content/dam/trendmicro/global/ja/research/21/l/zero-day-vulnerability-for-apache-log4j/image08.jpg)
トレンドマイクロでは、本脆弱性を悪用した可能性のある行為や、本脆弱性を悪用しようとする行為に関連する可能性のある不正なコードを調査しており、追加の情報がある場合は改めてお知らせいたします。
トレンドマイクロ製品への影響
弊社製品への影響については、以下のアラートアドバイザリをご確認ください。
URL: https://success.trendmicro.com/jp/solution/000289941
デモ動画(英語):Trend Micro Protection Against Log4Shell
参考情報
脆弱性「Log4Shell」を悪用する攻撃手口の詳細については、こちらのブログ(URL: https://blog.trendmicro.co.jp/archives/29518)をご確認ください。