Javaベースのオープンソース・ログ出力ライブラリとして広く使われている「Apache Log4j」で脆弱性(CVE-2021-44228)が報告され、注意喚起と対策の必要性をIT各社やさまざまな機関が発信している。
IBMからは、WebShpere Appilication ServerやIBM Watson Explorerも影響を受ける、との情報が出されている(12月13日現在)。
Apache Log4jは、Apache Software Foundationが開発したJavaベースのログ出力ライブラリ。ライブラリ中に、書き込まれたログの一部を自動で変数化する「JNDI Lookup」という機能があり、今回はその機能が悪用されている。攻撃者は、JNDI Lookup機能を利用して、外部サーバーから悪意のあるJava Classファイルを攻撃対象サーバーのメモリに読み込ませ、任意のコードを実行するという。脆弱性は、「Log4Shell」「LogJam」とも呼ばれている。
脆弱性の影響を受けるLog4jのバージョンは、2.0-beta9から2.14.1。脆弱性を修正した「Log4j 2.16.0」を、Apache Software Foundationは12月13日に公開した。修正点は、「JNDI機能をデフォルトで無効化」と「Message Lookup機能を削除」の2点(Log4j 2.16.0の公開に伴い、初出記事を変更しました)。
Log4jは、エンタープライズアプリケーションやクラウドサービス、製品などで広く利用されているため、影響は広範囲に及ぶと見られている。システム構築を外部に委託した場合は、SIerへの確認が必要。製品については、どの製品で使われているかユーザーが把握していない場合が多く、「影響は深刻」との見方が広がっている(Apache Software Foundationによる深刻度評価は最高点の10)。VMwareは、38種の製品が影響を受けることを公表している(12月13日現在)。
JPCERT/CCによると、Log4jの脆弱性を悪用するコードはすでにネット上で公開されており、日本においても脆弱性の悪用を試みる通信を確認しているという。
◎対策・緩和策
JPCERT/CCは対策として、脆弱性を修正したApache Log4j 2.15.0へのすみやかなバージョンアップを推奨している。Log4jを含むアプリケーション/ソフトウェアを利用中の場合は、ベンダー各社が発信する関連情報に注意し、すみやかなアップデートが必要としている。
また、バージョンアップやアップデートをすみやかに行えない場合は、次の3つの回避策を挙げている。
●Log4j 2.10~2.14.1を利用中の場合:以下のいずれかを実施する
・Log4jを実行するJava仮想マシンの起動時に「log4j2.formatMsgNoLookups」というJVMフラグオプションを「true」に指定する
例:-Dlog4j2.formatMsgNoLookups=true
・環境変数「LOG4J_FORMAT_MSG_NO_LOOKUPS」を「true」に設定する
●Log4j 2.0-beta9~2.9.1を利用中の場合
・JndiLookupクラスをクラスパスから削除する
●攻撃の影響を軽減するための緩和策
・システムから外部への接続を制限するために、可能な限り、アクセス制御の見直しや強化を行う
◎WebSphere Application Server
IBMは、WebSphere Application Server 8.5と同 9.0がLog4jの脆弱性の影響を受ける、と発表している。脆弱性は対策済みで、下記URLにある修正プログラムの適用を推奨している。
– WebShpere Application Serverの修正方法および脆弱性の詳細(英語)
◎IBM Watson Explorer
IBM Watson Explorer関連では、次の製品がLog4jの脆弱性の影響を受ける。
・IBM Watson Explorer Deep Analytics Edition Foundational Components
バージョン12.0.0.0~12.0.3.7
・IBM Watson Explorer Deep Analytics Edition Analytical Components
バージョン12.0.0.0~12.0.3.7
・IBM Watson Explorer Deep Analytics Edition oneWEX
バージョン12.0.0.0~12.0.3.7
・IBM Watson Explorer Foundational Components
バージョン11.0.0.0~11.0.2.11
・IBM Watson Explorer Analytical Components
バージョン11.0.0.0~11.0.2.11
・IBM Watson Explorer Content Analytics Studio
バージョン12.0.0~12.0.3
・IBM Watson Explorer Content Analytics Studio
バージョン11.0.0.0~11.0.2.2
– IBM Watson Explorerの修正方法および脆弱性の詳細(英語)
◎IBMによるその他のLog4j関連情報
IBMからはそのほか、下記のような情報が公表されている(12月12日)。大半が調査中なので、IBMユーザーは今後もIBMからの情報に注意する必要がある。
– An update on the Apache Log4j CVE-2021-44228 vulnerability(英語)
・IBMエンタープライズ
製品およびシステムを調査中。ネットワーク制御やWAF(Webアプリケーション・ファイアウォール)によりLog4jの悪用が防止されている場合でも暫定的に緩和策を適用している、という。
・IBMソフトウェアおよびシステム製品
製品ごとに調査・分析を実施中。改善策や修正プログラムは、利用可能になった時点でIBMサイトで速報する予定。オンプレミス製品は、ユーザー自身がアップデートする必要がある。
・IBMコンサルティング
通常のデリバリー・センターおよびプラットフォーム・サポート・プロセスの業務を通じて、ユーザーシステムの調査・分析を実施中。
・IBM セキュリティ
IBM X-Forceチームが、セキュリティ・ツールによる検出およびセキュリティ侵害インジケータ(Indicators of Compromise)に関する情報を公開している(こちら)。またLog4jの脆弱性の分析結果を「IBM Security Intelligenceブログ」(英語)で公開中(こちら)。
・IBM Managed Security Services (MSS)
脆弱性を排除するために、すべてのシステムを見直し中。
・IBMクラウド、およびas-a-service製品
IBMクラウドでは、仮想マシンイメージやパッケージリポジトリにLog4jの脆弱性を含むコードがある場合、更新を実施。またネットワーク制御やWAFによりLog4jの悪用が防止されている場合でも、該当するサービス製品の修正を実施したという。
ただし、IBMクラウドのクラシックおよびVPC仮想マシンサービスのユーザーは、ユーザー自身でLog4jの脆弱性を是正する責任がある、としている。
またクラウド上で、Fortigate、Juniper vSRX、Security Groups、Network ACLなどのファイアウォールサービスを利用するユーザーに対しては、未承認のアウトバウンド接続をブロックする設定を推奨している。
Fortigateの設定方法:https://www.fortiguard.com/outbreak-alert/log4j2-vulnerability
Juniperの設定方法:https://threatlabs.juniper.net/home/search/#/details/?sigtype=ips&sigid=HTTP:APACHE:LOG4J-JNDI-MGNR-RCE
[i Magazine・IS magazine]