2021 年 12 月 10 日に米国国立標準技術研究所(NIST)から公開され、Log4j または Log4Shell(以下、Log4Shell という)として知られるゼロデイ脆弱性(CVE-2021-44228)を悪用した攻撃の観測事例も出てくるなど、実際にサイバー攻撃の標的にされてきていることが明らかになってきました。CVE-2021-44228 には、現在 CVSS v3 リスクスコアの基本評価基準(Base Metrics)が 10(最大)と、最も深刻度が高い「緊急」という評価が割り当てられています。
VMware の脅威分析ユニット TAU(Threat Analysis Unit)は、本脆弱性を悪用した試みとなる活動を多く観測し、活動の監視および評価し続けています。
VMware 製品固有の影響については、VMwareセキュリティアドバイザリをご参照ください。
本脆弱性は、Apache log4jというオープンソースの Java プログラム用ロギング API と、DNS や LDAP を利用するための Java ライブラリである JNDI(Java Naming & Directory Interface)が大きく関係しています。
Lo4j は JNDI を Lookup する機能があり、書き込んだログの一部を自動で変数化します。これを悪用して、RCE(Remote Code Execution:リモートコード実行)を行えるようになり、その手順例は次のようになります。
(1) Log4Shell の脆弱性をトリガーする文字列を含む HTTP リクエストを送信
(2) Java アプリケーションから Log4j を利用してログの書き込みを実行するため、JNDI を Lookup する
(3) JNDI Lookup でログ内の文字列の一部を変数化するために、悪意ある LDAP サーバへ問い合わせを行う
(4) 悪意ある LDAP サーバが悪意ある Java Class が含まれるディレクトリ情報を応答
(5) 悪意ある Java Class ファイルをダウンロードして実行する
この脆弱性を悪用すると、サイバー攻撃の標的となるシステムを、完全に制御できる可能性があります。この脆弱性は、認証の有無にかかわらずリモートから悪用される可能性があるため、非常に危険とされており、CVSS v3 のスコアに 10 が割り当てられている理由はここにあります。
そのため、組織を保護するためには、環境へのパッチを適用し脆弱性を排除していくことにります。または、パッチを適用できない場合の緩和策/ワークアラウンドを適用する方法もプロダクトに応じて情報提供が始まっています。
しかしこうした対応を組織内全てのシステムやワークロードへ網羅的に適用していくのは、多種多様なアプライアンスを保有している状況では現実的ではない場合もあります。
次回以降こうした脆弱性が生じた場合に備えて、どういった仕組みを組織として備えていく必要があるでしょうか。
攻撃側と防御側の脆弱性への対応スピード
オペレーティングシステムもアプリケーションも人の手により作られているものです。ということは常に完全では有りえません。今回の Log4Shell のような非常に危険な脆弱性をはらむ CVE が報告されることもしばしばです。このような脆弱性が発表された時にみなさんがすべきことは何でしょうか?もちろん修正パッチをソフトウェアに当てる、というのが重要な根本対応策です。ただし、世の中のシステムにおいて脆弱性が発表された後に可及的速やかにパッチをあてられているか?という皆さまの環境、提供しているサービスや企業文化次第ではないでしょうか。
RSA Conference 2019に行われた“The Etiology of Vulnerability Exploitation”という発表に興味深い指摘があります。この発表を行ったセキュリティ研究者によると、脆弱性情報が発表される前後 2週間がその脆弱性を利用した攻撃が最も頻繁に行われる時期であるのに対して、その脆弱性をはらむ世のシステムの半数にパッチをあてるのに要する時間は約 100日、さらに 20% 以上のシステムは1年経ってもパッチを当てることができない状況が続く、との報告がなされています。つまりは、防御側よりも攻撃側のほうがアジリティの観点で勝っている、という状況が示唆されています。
“仮想パッチ”による脆弱性対策
先述のように環境やサービスの状況により脆弱性に対してパッチを当てることができるスピードはお客さまごとの状況次第かと思います。では、ネットワークの境界にてゲートウェイ型の IDPS や WAF といったソリューションで対応したシグネチャを適用しておけばとりあえず安心できるか?というと、侵害における攻撃者の手法が高度化している昨今、攻撃者は遠隔からシステム内部の East-West トラフィックを介した攻撃ができる状態になっている、という前提に立ってセキュリティ対策を考えるべきです。つまりゲートウェイ型のネットワーク機器だけの対策では不十分です。
そんな、何らかの理由で即座にシステムに対してパッチを当てられないシステム運用におすすめしたいのが、我らが VMware NSX による”仮想パッチ”という概念です。
VMware NSX が提供する仮想ネットワークの最も多いユースケースとして、分散ファイアウォールによるマイクロセグメンテーションがありますが、
脆弱性を利用した侵害の場合、攻撃者は、許可されているプロトコルで許可している他のホストにいつもと変わらないトラフィック量で攻撃を仕掛けてきます。
つまりマイクロセグメンテーションをもってしても内部のEast-Westトラフィックへの防御対策としては必要十分とは言えなくなってきています。
そこで NSX-T 3.0 から NSX に追加されたセキュリティ機能が分散型IDPSとなり、この機構を利用することによって
システムやサービス側の都合により早急にパッチを当てることができない環境であったとしても、即座にネットワーク側で”仮想的に”システムへのパッチ処理を行うことができるようになります。これにより正規のパッチを当てるまでの時間もセキュリティレベルを落とすことなく、ゆっくりとシステム、サービス側と調整をしながらパッチ当ての作業を安心して実施していただける環境をお届けできます。
今回の Log4Shell に対応した分散型 IDPS シグネチャも日本時間 2021年 12月 14日にリリース済みですが、今後も似たような影響度のインシデントがいずれ発生します。その時のためにも既存でお使いのマイクロセグメンテーションのアップグレードのご検討を、もしくはまだ NSX をご利用頂いていないお客さまもこれを機にご検討頂いてみてはいかがでしょうか?
まとめ
VMware の脅威分析ユニット「VMware Threat Analysis Unit(TAU)」は、ldap(s), rmi, dns, iiop, http などを介した CVE-2021-44228 に対応するために分散 IPS のシグネチャとして SID: 4103226 – 4103234 , 2034647 – 2034674 を公開しています。
実際に分散IPSを仮想パッチとして動作させた場合の効果や操作イメージを動画にしてみましたので、英語になりますが是非ご参考いただけたら幸いです。
また、HTTP に特化したサービスの場合では、 WAF によってネットワーク側で対処することができるようになります。VMware では NSX Advanced Load Balancer の WAF のシグネチャとして CRS-2021-3/CRS-2021-4 (KB, 手順解説日本語ブログ)を公開しています。
VMware としての今回の CVE-2021-44228 脆弱性についての調査見解や如何に弊社ソリューションにて防御が可能か、という観点についてもこちらの Blogでご紹介しています。こちらもよかったらぜひ参照ください。(現在日本語化準備中です。)
VMware のこうした仕組みが、今後のお客様・パートナー様のビジネスの安定とご発展の一助となれば幸いです。最後に、過去の記事で VMware 分散 IDS/IPS とNSX Advanced Load Balancer の WAF のメリットや関連内容を多く解説していますので、こちらも是非ご覧になってみて下さい。
過去の関連記事
- 特徴を解説!NSX 分散IDS/IPS でできる 新しい脅威への対策
- デモ解説!VMware NSX 分散IDS/IPS : 高度標的型攻撃の検知(IDS)と防御(IPS)をやってみる
- 動画で解説!どうやって設定するの?VMware NSX 分散IDS/IPS
- 動画で解説!シグネチャ更新と仮想パッチの運用手順 – VMware NSX 分散IDS/IPS
- VMware NSX Advanced Load Balancer -「WAFは難しい」は本当か?
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
〜お知らせ〜
-
VMware の新たな仮想ネットワークソリューションを聞いたみたい!という方はこちら
-
VMware SD-WANに関するより詳細な解説と動態デモ、デザイン、運用イメージについて説明を聞いたみたい!という方はこちら
-
VMware でネットワークセキュリティ対策を実現するには?そんな説明を聞いたみたい!という方はこちら
-
NSX SecOps – Foundation (HOL-2226-01-SEC) (日本語ガイド付き)