サイバーセキュリティ企業や研究者が、Javaのログ出力ライブラリー「Apache Log4j」の脆弱性を検出する多数のスキャナーを提供するなか、米サイバーセキュリティ・インフラセキュリティ庁(CISA)も独自のスキャナーを公開した。
CISAのオープンソースLog4jスキャナーは、オープンソースコミュニティーのメンバーが作成したスキャナーを基にしており、Log4j脆弱性の影響を受ける可能性がある脆弱なウェブサービスを、組織が特定できるように設計されている。
CISAによると、セキュリティ企業FullHuntが作成したスキャナーを改良したもので、Philipp Klaus氏やMoritz Bechler氏など、ほかの研究者の助けを借りたという。
このレポジトリーは、「CVE-2021-44228」および「CVE-2021-45046」向けにスキャニングソリューションを提供する。脆弱性の検出および検証のためのDNSコールバックに対応しつつ、HTTP POSTデータパラメーターとJSONデータパラメーターのファジングを提供し、URLリストにも対応する。
WAFパイパスペイロードと、60以上のHTTPリクエストヘッダーに対するファジング機能も備えている。
また、CrowdStrikeも同様に、独自のLog4jスキャナー「CrowdStrike Archive Scan Tool(CAST)」を無償でリリースした。
セキュリティ企業Rezilionで脆弱性研究主任を務めるYotam Perkal氏が、複数のLog4jスキャナーをテストしたところ、その多くは脆弱性のインスタンスをすべて見つけることができなかったという。
提供:Rezilion
「最大の課題は、本番環境にあるパッケージソフトウェア内のLog4Shellを検出することだ。(Log4jのような)Javaファイルは、その他のファイルの何層か下にネストされていることがあり、浅い検索では見つけられない」と、Perkal氏は説明した。「また、さまざまなフォーマットでパッケージ化されている可能性もあるため、ほかのJavaパッケージの中から見つけ出すのは至難の技だ」
Rezilionは、Log4jがネストされ、さまざまなフォーマットでパッケージ化されたJavaファイルのデータセットを使って、それらのスキャナーをテストした。
Perkal氏によると、優劣の差はあったものの、すべてのフォーマットを検出できたスキャナーは1つもなかったという。同氏はこのテストが、「Log4jインスタンスを検出する場合の、静的スキャニングの限界」を浮き彫りにしていると述べた。
「検出能力は、検出方法によって自ずと決まる。スキャナーには盲点がある」と、同氏は説明した。
「セキュリティ責任者は、さまざまなオープンソースのツールはもちろん、商用ツールでさえ、すべてのエッジケースを検出できると過信すべきではない。そしてLog4jの場合、多くのエッジケースが存在する」(同氏)
この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。