Skip to content

LOG4JのCVEへの対処に関するガイダンスの更新 [2.17へのアップグレード]

    

Apache Software Foundationは、新たなCVE-2021-45105に対応するため、Log4jのアップデート(バージョン2.17.0)を提供しました。Contrastは、この最も安全なバージョンを使用することを推奨します。

最新の2.17.0のアップデートでは、結果が修正されています。

  • Log4j2.16.0には、12月16日からCVE-2021-45105の脆弱性が存在
  • Log4j2.15.0には、12月14日からCVE-2021-45046の脆弱性が存在
  • Log4j2.14以下は、12月9日からCVE-20210-44228(log4shell)が存在

このアップデートでは、具体的に、2.16の制御不能な自己再起に起因するDenial of Service (DoS) の脆弱性が修正されています。この脆弱性は、前回のLog4Shell RCEほどの重大性はありませんが、CVEはCVSSスコア7.5で、深刻度と「高」と評価されています。

この速いリリースサイクルは、問題を解決するため、Apache Software Foundationの迅速な対応と、パッチを扱う世界中のセキュリティ研究者の助言により実現しました。Contrastは、オープンソースの開発者だけではなく、セキュリティ研究者のコミュニティもサポートしています。

何が変わったのか?
2.16パッチをリリースした後、別のDoSが発見され確認されました。この件に関するApach JIRAの発表によると、「次の文字列に対して何らかの理由で文字列置換が試行されると、無限再帰を引き起こし、アプリケーションが壊れる」とのことです。概念検証(PoC)のペイロードは次のようなものです。

${${::-${::-$${::-j}}}}

推奨事項:
脆弱なLOG4Jインスタンスを見つける必要があります。

Log4jやその他の脆弱なライブラリを見つけるためには、Contrast製品で生成可能なソフトウェア部品表(S-BOM)が必要です。これらのインベントリは、どのアプリケーションが影響を受けているのかを即座に知らせ、対策できるようにします。

まだインベントリを作成出来ていない他のアプリケーションも確認することをお勧めします。これらのアプリケーションの評価には、SafeLog4jなどのツールが活用出来ます。

他のLog4jの更新に使用したものと同じインベントリを再利用することで、この簡単に見つけることが出来ます。

LOG4Jを見つけた場合の対処方法

Log4j2
アプリケーションの中にLog4J2を発見されたお客様は、バージョン2.17.0にアップグレード頂く必要があります。これよりも低いバージョンでは、遠隔から攻撃可能で、深刻なCVEが1つ以上存在する可能性があります。

カスタマイズされたアプリケーションをご利用の場合は、ライブラリを更新し、アプリケーションの再構築・再デプロイをお勧めします。

ベンダーのアプリケーションをご利用の場合は、ベンダーから最新のソフトウェアを入手してください。もし更新出来ない、または更新しない場合はシステムやデータが遠隔から攻撃される危険性が高くなります。

Log4j1
Log4j1を使用しているお客様は、Log4jバージョン2.17にアップグレードするか、ライブラリからJMSAppenderとSocketServerのクラスを削除するようにしてください。これを行うには、以下を実行します。(パスにLog4jのバージョンを含めます。)

  • zip -d log4j-1.x.x.jar org/apache/log4j/net/JMSAppender.class
  • zip -d log4j-1.x.x.jar org/apache/log4j/net/SocketServer.class

検出・防御機能の追加を推奨
セキュリティ問題による混乱を回避するために準備をしていたお客様に共通しているのは、アプリケーション内にセキュリティセンサー(Contrastエージェント)を備えていたことです。そして、いざという時、何をどうすれば良いのかがわかるのです。エージェントが新しいカスタムコードの脆弱性を検出した際、ユーザは何が起こったのか、どのようなリスクがあるのか、どのように問題を修正すればいいのか理解することが出来ます。結果、短時間で修復を行い、組織のセキュリティを保ち、将来のセキュリティに関する大きな問題を予め回避することができます。

アプリケーション層で監視や防御が可能なContrast AssessとProtectの利用をご検討ください。

次のステップ:
状況は流動的で常に変化しています。何か新たな情報が入り次第、随時アップデートしていきます。こちらからご登録して頂けば、Log4jに関する最新情報のアラートが届き、このトピックに関するApacheのページを確認できます。

著者:
Erik Costlow
デベロッパーリレーションディレクター
Erik Costlowはオラクルのプリンシパル・プロダクトマネージャーで、Java 8と9のセキュリティとパフォーマンスに注力していました。彼のセキュリティに関する専門知識として、脅威モデリング、コード解析、セキュリティセンサー計測を有しています。このようなセキュリティへのアプローチを広げるために、現在はContrast Securityで活躍しています。テクノロジーに携わる前、Erikは3輪の垂直一輪車で火をジャグリングするサーカスのパフォーマーでした。

Erik Costlow, Director of Developer Relations

Erik Costlow was Oracle’s principal product manager for Java 8 and 9, focused on security and performance. His security expertise involves threat modeling, code analysis, and instrumentation of security sensors. He is working to broaden this approach to security with Contrast Security. Before becoming involved in technology, Erik was a circus performer who juggled fire on a three-wheel vertical unicycle.