現在のセキュリティ環境において、ITやセキュリティ分野の専門職に就いている方はほぼ例外なく、Windowsのパッチ管理の重要性を認識しています。ところが、多くの企業がパッチ管理の最も重要な部分、すなわちWindows OSへのパッチ適用に加え、Windowsのアプリケーション(サードパーティー製アプリケーション)にもパッチを適用することについて、「見て見ぬ振り」をする姿勢を取っています。CVSSスコア(脆弱性に関連する「リスクを示すスコア」)により、パッチを適用しないと最もリスクが高いアプリケーションは、サードパーティー製アプリケーションで、Windows OS自体ではないことが明らかになっています。

また、Windows製品(OSおよびサードパーティー製アプリ)のCVSSスコアの分析では、「最もリスクが高い」製品の多くがサードパーティー製アプリであるという結果が示されています。こちらのウェブサイト(https://www.cvedetails.com/top-50-product-cvssscore-distribution.php)では、「明確な」脆弱性の総数に基づく上位50の製品のリストが提供されています。このリストは常に変化していますが、読者の方がこのページをご覧になる時点で、サードパーティー製アプリがこのリストの大部分を占めていることはほぼ間違いないでしょう。

取るべき対策は言うまでもないほど明らかです。企業は、Windows OSへのパッチ適用に加え、サードパーティー製アプリケーションへのパッチ適用も対象としているWindowsのパッチ管理プロセスを導入する必要があります。

この投稿では、セキュリティ関連製品の責任者という立場から自らの経験をシェアしたいと思います。また、Windowsのパッチ管理に関するベストプラクティスをいくつかご紹介したいと思います。

1) 最低週1回は、不足しているパッチがないかエンドポイント、サーバー、そして(パッチを適用する予定がない製品も含め)すべての製品をスキャンしてください。

数えられる程度のアプリケーションのみにパッチを適用しようとしているにも関わらずすべてをスキャンしなければならない理由がわかるでしょうか?

単純に、すべてをスキャンすれば、お使いの環境について必要な情報を明らかにすることができます。悪事を働く者は、社内に導入されているWindowsのパッチ管理プロセスがどんなものかといったことには一切「興味」がありません。企業がパッチを適用しようがしまいが、ただ単に、パッチが適用されていないアプリケーションを攻撃するのです。

したがって、アプリケーションすべてのパッチの適用状況を把握することは、自社のセキュリティ体制と現行の体制を改善するためにできることを理解する上で役立ちます。また、「パッチ」の適用状況を把握することは、ハッキングされた場合にも非常に役立ちます。

2) パッチを「適用する」オペレーティングシステムとサードパーティー製アプリをできるだけたくさん定義してください。毎回Patch Tuesday後に必ず、エンドポイントとサーバーにこれらのパッチを展開してください。

実際にお話をお伺いした多くのお客様が「Patch Tuesday」(月例更新プログラムリリース)を新しいパッチの「キャンペーン」を「開始する」日として活用しています。多くのベンダーがPatch Tuesdayのタイムフレーム前後にパッチをリリースしていることを考えると、これは当然と言えます。ここで重要なのは、Patch Tuesday後にリリースされるパッチを把握し、新しいパッチが常にWindowsのパッチ管理キューに追加されていることを確認することです

また、事前に設定されたサイクルに合わせてパッチを主体的に適用することもとても重要です。セキュリティチームによって、脆弱性が特定され、パッチ適用の指示が出されるまでただ待っている必要はありません。セキュリティチームによるセキュリティスキャンでパッチが適用されていないアプリケーションが見つかるような状況を避けるためにも、必ず主体的にパッチを適用してください。主体的にパッチを適用すれば、時間を節約できます。また、セキュリティチームは、自動化できない他のセキュリティの問題に集中して取り組むことができるようになります。

これまでに、サードパーティー製アプリケーション(おそらくJava?)へのパッチ適用にあたり大変な思いをしたことがあるため、パッチを適用しないと決めたとしても、悪事を働く者はこれらのアプリケーションの脆弱性を活用できる自動化ツールをすでに手に入れている可能性が極めて高いということを忘れないでください。

ひとつのガイダンスとして、多くのエクスプロイトに対して先手を打つため、当社は14日間のSLAを目指すことをお客様に推奨しています。

2016年のVerizon DBIRでは、「エクスプロイト全体の半数が、脆弱性が明らかになってから10日~100日以内に発生している」と指摘されています。2019年の同レポートでは、「脆弱性が開示される度に、もしくはシステムのアップグレードやパッチがリリースされる度に、ハッカーはそれをチャンスとみなすのである」と指摘されています。脆弱性を悪用できるか、脆弱性のどこを突けるかを特定するため、ハッカーは脆弱性の開示内容やアップデートノートを研究し、脆弱性を収益化する絶好の機会を探るのです。

Ivantiは、より短時間でパッチを適用することを望んでいるお客様が直面している課題を認識しています。当社のパッチ製品のひとつは、お客様がサードパーティー製アプリケーションへのパッチ適用にまつわる業務上のリスクを軽減できるようにするツールを提供することを目的としています。これらのツールを活用することで、パッチを展開するにパッチ展開の影響を予測することができるため、パッチの展開に伴う不安を最低限に抑えることができます。

3) まず試験グループにパッチを展開し、パッチの品質について前向きなフィードバックが得られてから、対象のグループにパッチを展開してください。

これは、お客様がパッチを展開する場合に用いる最も一般的な方法です。お察しの通り、セキュリティを最優先しているため、最低限の試験を実施し、すべてのエンドポイントにパッチを展開するお客様もいらっしゃいます。これに該当するお客様にとっては、他の何よりもパッチを適用するまでの時間が重要なのです。一方で、ほとんどの企業は、セキュリティのリスクと業務上のリスクのバランスを取る必要があります。例えば、すべてのエンドポイント/サーバーにパッチを展開する前に、パッチがアプリケーションに損害を与えないことを確認する必要があります。

ここで紹介するWindowsのパッチ管理のベストプラクティスは「シンプル」です。

まずパッチによって影響を受ける可能性のあるアプリケーションすべてを網羅する小規模な試験グループからパッチの展開を始めればいいのです。マシンにパッチを適用後、試験グループのユーザーから問題が報告されなければ、適用対象のユーザー/アプリケーションの所有者の範囲を拡大していきましょう。マイナスなフィードバックが報告されなければ、すべてのエンドポイントとサーバーへのパッチの展開を進めましょう。

ただしこの手順には隠れた課題があることに注意してください。実際にお話しをお伺いしたお客様のほとんどが、私が個人的に「IT部門の味方」と呼んでいるユーザーをベースに試験グループを設定しています。「IT部門の味方」とはすなわち、自主的に新しいパッチ試験の「モルモット」になり、IT部門に協力してくれるユーザーです。この段階において、多くのケースでお客様が直面する課題が、自主的に「被試験ユーザー」となったユーザーがパッチの依存関係すべてを網羅しているかを事前に知る方法がないことです。例えば、Javaパッチを展開する場合、どのアプリケーションがJavaに依存していていて、このJavaのパッチを適用した結果、壊れる可能性があるか、きちんと把握できているでしょうか?

以前にJavaで大変な思いをした方は、Java依存アプリケーションについては重々承知かと思います。では、.Netの依存関係やその他の低レベル、高レベルのテクノロジーはどうでしょうか?自社環境に存在するそれらのパッチに依存するアプリケーションすべてをリストアップできるでしょうか?

結果的に、IT部門の専門スタッフは、初回の試験グループと2回目の試験グループに含めるべきユーザー/エンドポイントを自分の経験をもとに、いわば「当て推量」で決めることになります。これがうまくいくこともありますが、もちろん、うまくいかないこともあります。

幸い、「当て推量」で試験グループの対象者を決定するのではなく、各試験グループの対象者として適任のユーザーを自動的に選び出すWindowsのパッチ管理用の新しいテクノロジーが開発されています。これにより、より正確なテストサイクルを実施できるようになり、サードパーティー製アプリケーションへのパッチが適用された場合にビジネスアプリケーションが壊れるリスクを軽減することが可能となります。

最後にもうひとつ有用な情報をご紹介します:リモートマシンやオンラインにほとんど接続しないマシンも含め、すべてのマシンにパッチが適用されていることを確認してください。

すべてのエンドポイントが常に電源が入っているとは限りません。また、すべてのエンドポイントが常にネットワークに接続されているわけではありません。これらのデバイスがオンラインに接続されたら、もしくは電源が入れられたらすぐに、パッチが適用されていることを確認することが、Windowsのパッチ管理に関する重要なベストプラクティスとなります。適切なWindowsのパッチ管理ツールを使用すれば、このような状況においてデバイスを管理、制御できるはずです。