やじうまの杜

何でもできちゃう脆弱性ならそれでパッチを当てればいいんじゃない? ~とあるセキュリティ会社が掟破りの「Log4Shell」ワクチンを開発してしまう

 “やじうまの杜”では、ニュース・レビューにこだわらない幅広い話題をお伝えします。

 先週末よりロギングライブラリ「Apache Log4j」の脆弱性、通称「Log4Shell」が話題となっています。簡単なリクエストを送信するだけでリモートから任意のコードを実行可能になる極めて致命的なもので、脆弱性の深刻度指標となる「CVSS 3.0」の基本値は最高値の「10.0」。

 Java製のソリューション(アプリ、ゲーム、クラウドサービスなど)では「Log4j」を採用するものが少なくなく、対応に追われたITエンジニアの方もいたのではないでしょうか。一般ユーザーの身近のところでも、。人気ゲーム「Minecraft」(マイクラ)でもサーバーが一時停止されるなど、影響が出ました。

 ところで「リモートから任意のコードを実行可能になる」と聞くと、「何でもできるなら、それでパッチも充てられるのでは?」と誰しも一度は思うのではないでしょうか。

 もちろん「できることと、やっていいことは違う」わけで、そんなことをする人はいない……と思っていたのですが、実際にそれをやってしまった人が現れました。しかも、割と有名なセキュリティベンダーCybereason社(以前、無償のランサムウェア対策ツール「Cybereason RansomFree」を日本でも提供していました)が開発したというのですから、少し驚きです。

Cybereason社が開発したワクチンソリューション「Logout4Shell」

 プロジェクトの名前は「Logout4Shell」で、ソースコードは「GitHub」でホストされています(ライセンスは不明)。

 同社によると、「Log4Shell」を解決するにはv2.15.0以降へのアップデートが望ましいのですが、次善の策としてシステムプロパティ「log4j2.formatMsgNoLookups」を「true」(真)に設定するか、クラスパスから「JndiLookup」クラスを削除するのが有効であるとのこと。今回リリースされた「ワクチン」ソリューションは「Logout4Shell」脆弱性を突いて、この緩和策を適用します。

 ワクチンソリューション「Logout4Shell」は、「log4j」v2.0~v2.14.1で利用可能。ただし、JVMが再起動されると、変更された設定は元に戻ってしまうので注意してください。Cybereason社は恒久的な対策も検討しているとのこと。

 最後に、言うまでもないことですが、これは奥の手です。「Log4j」をアップグレードできるなら、そうすべきでしょう。また、善意であっても他人のサービスに使うことも推奨されません。Cybereason社も、このコードを使った結果には「一切の責任を負わない」とのことです。