Apache Log4jが動作するサーバにおいて、第三者がリモートからでも脆弱性を悪用して任意のコードを実行する可能性があるとのことで、最新のセキュリティ情報を配信してくれているJPCERT/CCからも、2021年12月にJavaベースのオープンソースのロギングライブラリのApache Log4jの任意のコード実行の脆弱性(CVE-2021-44228)に関する注意喚起がありました。
Apache Log4jのログとして記録された文字列から、一部の文字列を変数として置換するJNDI Lookup機能が悪用されると、遠隔の第三者が送信した文字列をログとして記録することで、Log4jはLookupにより指定された通信先もしくは内部パスからjava classファイルを読み込み実行し、結果として任意のコードが実行される可能性があるとのことです。国内においても、この脆弱性を悪用した通信が多数観測されているようです。
このように、ロギングのための道具が悪用される事例により、ログは、保存されたログデータが改ざんされないように完全性を求めるセキュリティ対策だけでなく、ロギングする仕組みについても、脆弱性がないかを注意しなければいけないことが分かります。そして、今回のケースで恐ろしいのは、たとえば、
たかがログ出力のためのツールのライブラリーだと思っていても、自己責任でオープンソースを使用すると、日々のバージョンアップを怠ったり、脆弱性を見過ごすとたいへんな事態になりかねないという教訓です。そして、今回はメジャーなシステムやサービス、パッケージソフトウェアでも、内部でこのライブラリは使用されており、影響範囲は非常に大きなものでした。ロギングは、過去の状況を確認できる最後の大切な情報を残し、セキュリティ対策の元データとしても重要なポジションを占めますが、極めてシステムに近い部分なので、
×