Arctic Wolf の Log4Shell Deep Scan スクリプト:入れ子になっている Log4j を探査

Arctic Wolf Script Can Discover Log4Shell Vulnerabilities

2021/12/23 SecurityBoulevard — 今週のこと、マネージド・セキュリティ・サービスを提供している Arctic Wolf は、スキャン・ツールによる Log4Shell 脆弱性の発見を支援するスクリプトを公開した。Arctic Wolf の Field CTO である Ian McShane によると、同社は Log4Shell Deep Scan スクリプトを使用して、ネストされた JAR/WAR/EAR ファイル内の CVE-2021-45046/CVE-2021-44228 の脆弱性を検出している。

多くのケースにおいて、開発者は動作の監視を容易にするために、Log4j ログ管理ツールのサブセットを自分のアプリケーションにコピーしている。課題は、そのコードがファイル内で入れ子になっている場合、多くのスキャナーが発見できないことだ、と Ian McShane は述べている。

Arctic Wolf が開発したスクリプトは、Windows/macOS/Linux で動作する。このスクリプトは、ホストのファイル・システムを深くスキャンして、脆弱な Log4j コードを持つ Java アプリケーションやライブラリを特定する。識別が済むと、そのコードに対してスクリプトがフラグを立て、ホストのファイル・システム内の場所を明示する。

McShane によると、ほとんどの組織は、これからの数週間かけて、導入している全 Java アプリケーションで Log4j 脆弱性の有無を調べることになるだろう。この Log4Shell Deep Scan スクリプトは GitHub で公開されており、スキャニング・ツールを提供する企業であれば、無料で組み込むことが可能だ。

McShane は、「長期的に見るなら、IT ベンダーがオープンソース・コードを審査する方式について、明らかに業界として取り組む必要がある。ログ管理ツールの中核である Log4j は、ごく少数の個人により管理されている。ITベンダーは、そのコードを広く利用しているが、コードの安全性を確保するメンテナとしては、あまり貢献していない。

この脆弱性により IT 組織が、いくつかの Java アプリケーションを廃止するのかどうかは、あまり明らかにはされていない。他のプログラミング言語が普及するにつれて、多くの組織がアプリケーション・ポートフォリオの近代化を進めている。場合によっては、ソフトウェア・サプライチェーン全体の見直しの一環として、こうした取り組みが進められるかもしれない。

その一方でセキュリティ・チームは、セキュリティの専門知識を持たない少数のコントリビューターやメンテナーにより維持されていることが多い、オープンソース・コードに関わるゼロデイ脆弱性が増加することを予想する必要がある。このようなサイバー・セキュリティ・チームは、最新の DevOps プロセスに基づくセキュリティ・インシデント対応チームを立ち上げるか、外部のサービス・プロバイダーの専門知識に頼るのが得策となる。

セキュリティ・インシデント管理は、基本的には IT インシデント管理のサブセットである。セキュリティ・インシデント管理に投資することで、パッチの迅速な適用だけではなく、それ以上の効果も期待できる。セキュリティ問題は、予期せぬ出来事への対応を容易にする、一連のベスト・プラクティスの必要性だと、誰もが認識するようになるだろう。

残念ながら、多くの組織では、危機への対応を少数のヒーローの行動に頼っている。問題は、ヒーローが必要なときに、いつも助けてくれるとは限らないことだ。むしろ、都合の悪い時に発生する問題に対処するために、誰もが義務以上のことをしなくても済むような、一連のプロセスの導入が目標となるべきだ。

先日の「Google 調査:Log4j の影響を受ける Java Packages は 35,863 種類」というポストに、とても興味深いことが書かれていました。Log4j に間接的に依存しているコードが多く、依存の連鎖が深くなればなるほど、修正に必要なステップが増える。Google によると、影響を受けたパッケージの 80%以上において、脆弱性は1レベル以下の深さに、大部分は5レベル以下の深さに存在している、というものです。なんというか、絶望的な現状ですが、Arctic Wolf の Log4Shell Deep Scan スクリプトが救世主になるかもしれませんね。

%d bloggers like this: