全3499文字
PR

 「もうインターネットの終わりではないか」。2021年12月10日に明らかになったある脆弱性をめぐって、システム管理者やソフトウエアエンジニアの間に激震が走った。広く使われているJavaのログ出力ライブラリー「Apache Log4j」(以下、Log4j)で任意のJavaプログラム(クラス)を実行できる脆弱性「CVE-2021-44228」(通称「Log4Shell」)だ。

 脆弱性の公開直後には、米Apple(アップル)や米Google(グーグル)、米Tesla(テスラ)といった名だたる企業のサービス、あるいは米Microsoft(マイクロソフト)のゲーム「マインクラフト」などが攻撃可能な状態になっていたことが明らかになった。インターネットの安全性を根底から揺るがしかねない事態である。

 脆弱性の深刻度を示すCVSS(Common Vulnerability Scoring System)スコアは最大値の「10.0」。12月11日には、土曜日にもかかわらずセキュリティー組織のJPCERTコーディネーションセンター(JPCERT/CC)がこの脆弱性に関する注意喚起を行った。

関連記事: Javaの「Log4j」ライブラリーに深刻な脆弱性、第三者が任意のコードを実行可能

 Log4Shellが危険な理由はいくつかある。

 まず、Log4jが極めて広い範囲で使われている点だ。GMOインターネットの新里祐教特命担当技術分析官は「Log4jは古くから使われており、Javaのログ出力ではデファクトスタンダードといっていい。Javaによるほとんどのアプリケーションやサーバーソフトウエア、フレームワークに組み込まれている。攻撃を受ける範囲はJava製品全般といってもおかしくない」と語る。

 ユーザーが使用しているアプリケーションやシステムにLog4jが組み込まれている場合、気づかないうちに脆弱性の影響を受けることになる。トレンドマイクロの岡本勝之セキュリティエバンジェリストは「自社環境への影響の有無が分かりにくいのが問題だ」と警鐘を鳴らす。

 自社のシステムではJavaを利用していないからといって油断は禁物だ。GMOインターネットの新里技術分析官は「一見Javaを使っていないミドルウエアでもJavaを利用しているケースがある」と指摘する。例えば、Pythonで書かれたミドルウエアの一部でJavaを利用している例があったという。

 見落としがちなのが、Log4jが機器に組み込まれているケースだ。例えば、米Cisco Systems(シスコシステムズ)がLog4Shellの自社製品への影響について公表している。

 Log4Shellでは、こうした幅広い対象に対して任意のJavaプログラムを実行するという強力な攻撃が可能だ。重要データの取得や改ざん、マルウエア感染などやりたい放題である。