Skip to content

Feb 23, 2022

Apache Log4jの脆弱性に対して、サイバーハイジーンの観点で出来ること

By タニウム合同会社, ディレクターテクニカルアカウントマネージメント, 坂本 祐一

あらゆるプラットフォームやデバイスに影響している Apache Log4jの脆弱性 (別名: Log4Shell CVE-2021-44228)対して、サイバー・ハイジーン(IT衛生管理)の観点から、影響製品の特定から対処まで、Taniumがどのように役立てられるのかご紹介します。
本Blogでは、Tanium Comply, Tanium Asset, Tanium Deployについてご紹介します。

影響範囲の特定

Log4j 脆弱性の最も厄介な点は、Javaのオープンソースライブラリの問題であるがゆえに、既成製品だけでなくお客様の内製ソフトウェアやツールにも影響している可能性があることです。そのため、どの製品を使っている・使っていないから大丈夫かどうかの結論が出せず、サーバー・PC端末双方において関連しているのかどうか、セキュリティ的なIT資産管理の面から調査する必要があります。

そこでTanium Threat Response や Tanium Reveal を活用することでApache Log4j脆弱性の影響を受けているファイルやアーカイブファイルを特定することが可能となります。こうした方法は問題の特定という観点では、一見すると遠回りのように思えますが、端末内部にあるがまだ使われていない(表面化していない)脆弱性を捕捉する唯一の手段となります。
関連ファイル検出・侵入痕跡検知や機密データの把握については、それぞれこちらのBlogにて詳細な解説が書かれています。

Tanium Threat Response の活用 
Tanium Threat Responseを使ったApache Log4j脆弱性の可視化
Tanium Threat ResponseによるApache Log4j脆弱性を狙った攻撃の追跡

Tanium Reveal の活用
Tanium Revealモジュールを使用した機密情報保護について

脆弱性診断を使った影響範囲の特定

脆弱性を特定できる条件が判明している場合、脆弱性診断は組織のリスクを洗い出す有効な手段となります。ここでいう脆弱性を特定できる条件とは、例えば「影響を受けるソフトウェアがバージョンX以下で動作している」・「OSはYであると影響を受ける」ということが定義できる状況を指します。脆弱性が公になった直後は、脆弱性の特定条件が定義できていないことがあります。今回のApache Log4j 脆弱性であれば、当初各ソフトウェアに対する脆弱性の特定条件が判明しておらず、ファイル文字列などから影響を特定する方法が有効的でした。現在では影響あるソフトウェア側にて脆弱性の特定条件を定義することが出来つつあるため、脆弱性診断を活用することができます。

脆弱性を診断するための定義は、ベンダー独自のものもあれば、多くの場合セキュリティ業界の共通言語であるセキュリティ検査言語OVAL(Open Vulnerability and Assessment Language)によって記述されます。OVALを使うことによってより汎用的かつ広範囲に脆弱性診断を行うことができます。
OVALの詳しい説明については、こちらをご参照ください。

Taniumソリューションの中で脆弱性診断およびコンプライアンス準拠診断を担当する Tanium Comply は、 OVALを利用して組織内の管理端末に脆弱性が存在しているかどうか判定します。現在Taniumが提供するOVALには、Apache Log4j 脆弱性についての情報も内包しています。またサードパーティが作成したOVALをTanium Complyに読み込ませて診断を実行することもできます。最も良い利点は、脆弱性判定の定義がブラックボックスではなく、定義を見ることができることにあります。

脆弱性の診断も、Tanium管理下にある端末自身が診断を行うクライアントベース方式と、特定端末からネットワーク越しに脆弱性診断を行うリモートベース方式の2タイプを選択することができます。
前者は、企業ネットワークに負荷を掛けず脆弱性診断が実施できる一方で管理外の端末を診断することができません。後者は、その逆のメリット・デメリットがあります。管理下にない端末を検査することができますが、ネットワーク越しとなるためWANやLANに負荷がかかります。
通常脆弱性診断というとリモートベース方式をサーバ対象に実施するイメージをお持ちの方もいらっしゃるかと思いますが、Taniumでは 組織内のLANに接続しているPC端末や、在宅勤務の方のPC端末も対象とすることができます。

Tanium Comply による脆弱性診断結果は、脆弱性の共通脆弱性識別子CVE(Common Vulnerabilities and Exposures)単位によって表示されます。これにより Apache Log4jの脆弱性 (CVE-2021-44228)が影響しているのかどうなのか、Tanium Comply の提供レポートから判断することができます。

これらの脆弱性診断に用いられるデータは先にご紹介したOVALにより提供されているため、診断判定のルールも閲覧することができます。今回の脆弱性について、Windows端末内に特定バージョン以下の Apache Log4j, Atlassian Confluence Server, IBM WebSphere Application Server Network Deploymentなどがインストールされている場合、脆弱性有りと診断されます。こうしたルールは日々更新されますが、カスタムでOVALファイルを読むことにより、Taniumから提供していないソフトウェアの脆弱性診断も行うことが出来ます。

資産管理と利用状況可視化による影響ソフトウェアの追跡

Tanium Threat Response、 Tanium Reveal、 Tanium Complyを活用して、Apache Log4jの脆弱性影響を受けるソフトウェアを探し出した後に、重要なことはそれらが実際に組織内で使われているのかを継続的に把握することです。これは一般的に資産管理に属するアクティビティとなります。資産管理は組織に属するハードウェアやソフトウェアを網羅的かつ正確に把握することが目的となりますが、これは継続的に実施しないといざという時に有効活用できません。特に昨今のリモートワークや在宅勤務環境では資産情報を継続的に把握することは難しいといえます。

Taniumソリューションの中で資産管理を担当するTanium Assetは、組織内の管理端末から定期的に最新の資産情報を収集してデータベース化します。またソフトウェアの稼働状況を追跡することにより、実際に使われているのかを可視化することも可能です。こうしてデータベース化した情報は、レポートとして出力することも、ServiceNOWなどのサードパーティCMDBと連携することが出来ます。Tanium ClientがTanium ServerもしくはTanium Cloudと通信さえできれば、端末がどこにいても場所を問わず資産情報を集めることができます。

Apache Log4j 脆弱性に関しては、現在多くのソフトウェア製品ベンダーが脆弱性に該当するバージョンはどれか公開しています。例えばオランダ政府国家サイバーセキュリティセンター(NCSC: National Cyber Security Centre)は脆弱性の影響があるソフトウェアリストをまとめています。こうした情報を参考にして、組織の資産管理情報と比較することも脆弱性の特定に役立ちます。

上記ソフトウェアリストを使い、例えばElastic Logstashソフトウェアの脆弱性(CVE-2021-4104, Status CVE-2021-44228, Status CVE-2021-45046, Status CVE-2021-45105)を調べていくと、どの脆弱性が修正されたかどうか対応状況が掲載されています。

SourceとなっているElastic社のリンクを見ると、どのバージョンを使うべきか推奨情報が日々更新されています。その情報を元に、Tanium Assetの All Software レポートより、組織内に存在するソフトウェアが該当バージョンであるのかどうかを確認できます。

またソフトウェアがインストールされているかどうかではなく、実際に動作しているかどうかを判断できないと、影響の度合いが測れません。Tanium Assetが持つSIU(Software Inventory&Usage)機能を利用すると、実際にソフトウェアが動作しているかを可視化することが出来ます。もし業務の中でApache Log4j 脆弱性に該当するソフトウェアが多く使われているとしたら、優先的に対処するべきと判断できます。
Tanium Assetの SIU Product Usageレポートでは起動していた時間をベースとして、Usageを判定した結果が出力されます。

影響ソフトウェアのアップデート

何かしら脆弱性が公開された際は、まず影響する端末を特定することが優先事項となります。次にその中で何から対処するべきなのか、端末から収集した情報と脆弱性の影響を見ながら優先事項を決める必要があります。
今回のApache Log4j 脆弱性であればリモート外部から悪用できる脆弱性であるため、接続可能な公開サーバが脆弱性に該当するのであれば、そこは一番優先度が高く対処する必要があります。公開サーバを守るという観点では、WAF(Web Application Firewall)などで防御するという方法も考えられますが、やはり脆弱性は内部に残ったままとなります。攻撃は日々進化するため、WAFを通過する攻撃が出てくると、WAFによる防御策は無効化されてしまいます。ではどのように脆弱性を封じ込めるのか、本質的にはソフトウェアのアップデートすることが解決策となります。

Taniumソリューションの中でソフトウェアアップデートを担当するTanium Deployは、組織内の管理端末に対してソフトウェアのインストール・アップデート・アンインストールを可能にします。特徴は大きく2つあります。1つ目は、ソフトウェアに対してアクションを起こす前に、事前に適合する条件を定義して実施できます。2つ目は、Taniumリニアチェーンの特許技術を用いることで、WANなどの帯域が狭いネットワークを意識して通信ができる、また独自のキャッシュ技術により通信量を効率化できます。

Tanium Deployの活用については、こちらのBlog記事「Microsoft 365・Office 2019で何が変わるか」でも詳細について記述しております。

Apache Log4j 脆弱性に関連するソフトウェアの不具合修正は各メーカーより情報が更新されているかと思います。更新するべきソフトウェアのインストーラーを入手された管理者の方は、Tanium Deploy上にてカスタムのソフトウェア配信パッケージを作成することができます。
その際に必要なディスク容量やメモリを定義したり、配信のみだけでなくソフトウェアが端末側で更新されたことを確認するという定義も加えることが可能です。最終的に何台の端末はソフトウェアを更新や削除できたのか可視化することが出来ますので、数値を持って対処した台数を集計することが出来ます。

まとめ

Apache Log4j 脆弱性は、サーバ環境のみならずPC端末環境にも影響を及ぼす重要な事案です。今後この脆弱性を悪用した攻撃やマルウェア・ランサムウェアが被害を拡大する前に、今一度組織のサイバーハイジーン(IT衛生管理)を見直してみてはいかがでしょうか。
既知ソフトウェア脆弱性を判定したい方はTanium Complyを活用ください。発見したソフトウェアの資産管理や利用状況可視化を行う場合は、Tanium Assetを活用ください。また組織として対処の必要のあるソフトウェアは、Tanium Deployを用いて一元的に更新や削除を行うことができます。

Apache Log4j 脆弱性に関して、Taniumを用いた対処についてはこちらのBlog「Taniumを用いたApache Log4j脆弱性の対処」もご参照ください。

最後に、Apache Log4j 脆弱性を始めTaniumでは随時世の中を騒がせるような脆弱性に対して Tanium の活用方法を紹介する情報を提供しています、詳しくは以下のURLを御覧ください。
https://community.tanium.com/s/emerging-issues


ブログ記事に関してご質問やご要望がございましたらこちらからお問い合わせください。