Windows XP、Server 2003のソースコードの漏洩で明らかになったIoT、OTデバイスの脆弱性

By , and

Category: Unit 42

Tags: , , ,

The image represents the concept of a vulnerability, such as the vulnerabilities exposed by the source code leak discussed in this blog.

This post is also available in: English (英語)

概要

2020年9月24日、Windows XPとWindows Server 2003のソースコードが漏洩し、Megaや4Chanなど複数のファイル共有サイトに投稿されました。Microsoftは、Windows XPについては2014年のサポート終了日に、Windows Server 2003については2015年のサポート終了日に、サポートを終了しました。このため、それ以降に検出された脆弱性はすべて対処されないままでした(2017年のWannaCry攻撃に対するパッチを除く)。漏洩したWindows XPのソースコードは、これまでもひそかに出回っていましたが、先日の漏洩によって初めて、広く入手できるようになりました。その結果、多くのハッカーが、ソフトウェア修正プログラムのない脆弱性を容易に識別できるようになりました。

本稿は2020年 – Unit 42 IoT脅威レポートのフォローアップ記事で、サポート終了(EOL)したバージョンのWindowsで実行されているデバイスの問題と、当該問題の組織への影響に的を絞って説明しています。このことが組織にもたらすデータ課題を確認し、問題に対処するための最適な解決策に関する情報を提供します。さらに、このWindows XPおよびWindows Server 2003のソースコード漏洩インシデントの影響を緩和するための、詳細な推奨事項のリストを示します。

パロアルトネットワークスの次世代ファイアウォールをご利用のお客様は、脅威防御セキュリティサブスクリプションによりWindows XP、Windows Server 2003などのWindowsバージョンを実行している旧型デバイスを保護できます。

事実と課題

Windowsのサポート終了は使用終了を意味しない

EOLしたWindowsオペレーティングシステムを実行するIoTデバイスは病院では当たり前に見られます。これは特に、画像診断装置で大きな問題となっています。Unit 42 IoTレポートによると、医療用画像診断装置の83%が、サポートが終了したオペレーティングシステム上で実行されていました。このレポートは、2018年と2019年に米国内のIT企業および医療機関の何千もの拠点にある120万台のIoTデバイスを分析した結果に基づいています。図1は、一般的な病院環境でサポート対象外オペレーティングシステムが横行している状態を示しています。Windows XPは、2014年にサポートが終了しましたが、画像診断装置の11%でいまだに使用されていました。

この円グラフは、画像診断装置でのオペレーティングシステムの使用状況を示しています。サポート対象オペレーティングシステムで実行されているのは、調査したデバイスの17%のみでした。残りの83%はサポート対象外オペレーティングシステムで実行されており、Windows XPおよびWindows Server 2003のソースコード漏洩が何らかの影響を及ぼす可能性があることを示しています。
図1画像診断装置でのオペレーティングシステムの使用状況。(2020年 – Unit 42 IoT脅威レポートからのグラフ)

一般的な中規模病院には、平均75台のさまざまなタイプの医療用画像診断装置があり(X線撮影装置、MRI装置、CTスキャナー、超音波診断装置など)、約100台の画像診断関連サーバー、ワークステーション(PACSサーバーやDICOM画像ビューアなど)があります。これらの装置では、Windows XPやWindows Server 2003が引き続き使用されているという懸念すべき傾向があることが判明しました。

医療用画像診断装置のタイプ Windows XPまたはWindows Server 2003を
実行しているデバイスの割合
X線撮影装置 21%
超音波診断装置 20%
DICOM画像ビューア 15.3%
医療用プリンター 14%

表1 Windows XPおよびWindows Server 2003で実行されている上位の医療用画像診断装置

病院ではサポート対象外のソフトウェア使用が続いていますが、これは医療業界のIoTデバイスに限定された問題ではありません。この問題は、製造業などの業界にも影響を及ぼしていることがわかりました。

更新はそんなに簡単じゃない

オペレーティングシステムを更新し、すべてのシステムで最新のサポート対象ソフトウェアを実行する – これは一見、容易に解決できる問題のように見えます。しかし、移行プロセスを複雑にしている、管理上・オペレーション上の課題がいくつかあります。

多くの組織では、情報テクノロジ(IT)とオペレーショナルテクノロジ(OT)を、別個のツールを使用する別個のプロセスとして別個のチームが管理しています。IT部門は組織のIT資産(コンピュータ、ネットワーク機器、プリンターなど)にフォーカスし、OT部門は医療機器、工場の現場の機器、セキュリティカメラなど非IT資産にフォーカスしています。例えば、医療業界では、バイオメディカルエンジニアは医療機器を把握・管理します。しかし、彼らは通常、装置の稼働基盤となるオペレーティングシステムは管理せず、これらのシステムを制御するグローバル セキュリティ ポリシーも管理していません。OTとITのセキュリティプラクティス/運用に隔たりがあり、それゆえにEOLオペレーティングシステムを実行し続けるデバイスが今でも使用されているのです。こうしたデバイスは攻撃を受けやすく、IT部門は10年以上に渡って攻撃を防御してきました。

IoTデバイスのソフトウェア更新は、ふつうのラップトップやデスクトップの更新ほど簡単ではありません。IoTデバイスの一部の機能は、特定Windowsバージョンでしか動作しないからです。医療分野では特に、バイオメディカルエンジニアが新しいWindowsバージョンで動作する既存のソフトウェアがFDA基準に準拠していることや医療機器に新たな脆弱性をもたらしていないことを確認する必要があります。

さらに、医療IoTデバイス上のサポート対象外オペレーティングシステムを更新する作業では一定のダウンタイムが発生するので、運用環境の性質を考えると実行できそうにありません。すべての医療機器にアップグレードやテストのための時間を割かせることは現実的ではありません。デバイスがソフトウェアメンテナンスのために停止している間、病院は機能をフルに発揮できなくなるからです。最後に、医療機器インベントリ全体を特定のオペレーティングシステムにアップグレードするための、コスト・リソースの割り振りの問題があります。

医療業界のお客様データを分析していたとき、同じような傾向があることに気づきました。本稿執筆時点で、サポート対象外Windowsバージョンを実行しているIoTデバイスの72%は3か月以上前に検出されたもので、旧式のWindowsデバイスの30%はすべて6か月以上前に検出されたものでした。EOLしたWindowsオペレーティングシステムが検出されると、パロアルトネットワークスのIoTセキュリティサブスクリプションは次世代ファイアウォールユーザーに警告を発します。これら統計情報からは、顧客がサポート対象外Windowsバージョンを実行しているデバイスの存在に気づいていても、最新バージョンへの更新を促す十分な理由にはなっていないことがわかります。上に挙げたような理由のほかにも、ソフトウェアの更新を遅らせている要因があるはずです。

攻撃: こうしたデバイスはどれくらい脆弱か

Windows XPやWindows Server 2003オペレーティングシステムは、Microsoftのサポートが終了しているだけでなく、多くの脆弱性とセキュリティ脅威を抱えています。表2にこれらのオペレーティングシステムについて報告されている米国立標準技術研究所(NIST: National Institute of Standards and Technology)の脆弱性を示します。多くの場合、共通脆弱性があると、攻撃者はリモートコードを実行して、メモリオーバーフローの問題を引き起こしたり、サービス拒否(DoS)攻撃を実行してデバイスの使用を制限したりできます。

脆弱性の分類 Windows XP Windows Server 2003
CVE数の合計 741 436
「重大」とされたCVE
(CVSSスコアが9.0より大きいもの)
239 127
サービス拒否(DoS) 144 89
コード実行 325 190
オーバーフロー 206 133
メモリ破損 68 44
クロスサイト スクリプティング(XSS) 6 7
権限の取得 228 132
情報の取得 17 14
ディレクトリトラバーサル 1 1
バイパス 22 9

表2 Windows XPおよびWindows Server 2003のCVEの分類

いちばん手軽なIoTリスクの緩和策は、ネットワークセグメンテーションです。しかし、EOLしたオペレーティングシステムを実行している医療用IoTデバイスは多すぎて、適切にセグメント化したネットワークを含むサブネットワークもリスクにさらされています。約100院のお客様から収集したデータからは、医療機器を含むすべてのセグメントの12%において、1台以上のデバイスが旧式のWindowsバージョンを実行していることがわかりました。こうしたセグメントでは、攻撃者がWindows XPデバイスにアクセスできる場合、重要な医療機器を含むそのセグメントの他のすべてのデバイスがリスクにさらされます。脆弱性を持つWindows XPやWindows Server 2003デバイスがあれば、攻撃対象領域が増加します。さらに、攻撃者はネットワークを横方向に移動して、他のデバイスを感染させることができます。

医療機器と画像診断装置のみを含むVLANセグメントを持つ、医療業界のお客様の例をご紹介します。このセグメントには、CTスキャナー、MRI装置、医療用調剤機器、PACSサーバー、医療用プリンター、超音波診断装置、X線撮影装置などのデバイスが含まれています。セキュリティアナリストの視点から見ると、このVLANは理想的にセグメント化されており、医療用機器と非医療用機器は混在していません。しかし、特定のCTスキャナーがWindows XPを実行していることが判明しました。このため、攻撃者は漏洩したソースコードからの情報を悪用してデバイスを攻撃し、セグメントの他のすべてのデバイスを危険にさらすことができます。

解決策

パロアルトネットワークスのデータによると、古いIoTやOTデバイスでは今もなおWindows XPなどのEOLしたバージョンのWindowsが広く使用されています。こうしたデバイスの多くは、極めて重要であるにもかかわらず管理が困難です。ネットワーク全体で業務を中断するリスクをおかさずにこれらデバイスをアップグレードすることは容易なことではありません。このため多くの組織はアップグレードしないことを選択しています。これが特に当てはまるのが医療業界です。一般的な病院では、CTスキャナー、X線撮影装置、核医学イメージャー、患者モニター、DICOMビューア、医療用ワークステーション、古いプリンターなどさまざまなタイプのデバイスで、いまだにWindows XPが実行されています。ことを難しくしているのは、大多数のIoTおよびOTデバイスがしばしば、カスタマイズされたソフトウェア、設定、制限のあるハードウェアリソース(メモリやCPU性能など)を使用していることです。このため、エンドポイント セキュリティ ソリューションで脆弱性からの保護を十分に行える可能性は低いと思われます。

このような障害があることから、IoTデバイスやOTデバイスは事実上アップグレード不能と見なされます。エンドポイントソリューションは多くの場合話になりません。このような状況で、組織はどうすれば既存の何百もの脆弱性から収集したエクスプロイトを利用する脅威から保護された状態でいられるでしょうか。答えは、人工知能と機械学習を活用したネットワーク動作の監視およびネットワークトラフィック分析にあります。

図2は、ある医療ユーザーのWindows 2000を実行している核医学イメージャーの、標準的パラメータに収まるネットワーク上の振る舞いと、疑わしいトラフィックパターンを示すネットワーク上の振る舞いとを示したものです(余談ですが、この特定デバイスは本稿執筆時点においてまだ病院で使用されています)。この事例では、ネットワーク上の振る舞いは、デバイス上で実行されているさまざまなアプリケーションがどのようにリモートの宛先に接続され、ネットワークベースのサービスを提供または利用するかを示しています。デバイスがマルウェアに感染している場合、ネットワーク上の振る舞いは通常のオペレーション状況と比較して異常が見られるようになります。図2の場合、通常の状態では、核医学イメージャーがDICOMアプリケーションを使用してPACサーバーに正常に接続しているだけです。しかし、イメージャーがマルウェアに感染すると、マルウェアはデバイスを支配し、より近くにある脆弱なデバイスを探して多数ネットワーク接続を確立することで、ネットワーク上で横展開をするようになります。

通常のネットワーク動作と被害を受けたネットワーク動作。左下の図は、複数の通常のネットワーク宛先へのSMBやDICOMなど、通常のアプリケーションの使用状況を示しています。これに対して、右側の図は、環境内のほぼすべてのデバイスへの多数の同時接続など、マルウェアに感染したデバイスの非常にアグレッシブなネットワーク動作を示しています。これは、マルウェアが横方向に移動しようとしていることを明確に表しています。
図2: 通常のネットワーク上の振る舞いと侵害されたネットワーク上の振る舞いの違い。左下の図は、複数の通常のネットワーク宛先へのSMBやDICOMなど、通常のアプリケーションの使用状況を示している。これに対し、右図は、環境内のほぼすべてのデバイスへの多数同時の接続など、マルウェア感染デバイスによる非常にアグレッシブなネットワーク上の振る舞いが見られる。これはマルウェアによる横展開試行を明確に表している

従来の脅威検出は、何千ものルールを展開することでネットワークペイロード内の所定のバイトパターンを探していました。しかしこの方法ではゼロデイ攻撃や攻撃によるネットワーク上の振る舞いの変化は検出できません。ネットワーク上の振る舞いの変化を見つけだし、攻撃を検出するには、機械学習ベースのソリューションが有効であることが証明されています。機械学習アルゴリズムを使用してネットワークトラフィックを検査し、トラフィックで繰り返される振る舞いのパターンを検出・学習した後、それを数理モデルに組み込み、IoTデバイスのネットワーク動作の基準として使用することができます。その後、これらのモデルを使用して該当する検出アルゴリズムを導入し、デバイスのネットワーク動作基準からの逸脱が見られたときに、攻撃を予測することができます。

多くの場合、振る舞いのパターン変化を1度検出しただけでは、結論を出すに足る情報は得られません。もちろん、攻撃シナリオと一致する一連の異常イベントは、より決定的な証拠となります。機械学習手法は、時系列を自動的に選抜し、大量のデータから学習・取得した情報に基づいて、無関係に見えるイベントを関連付けることを得意としています。さまざまな環境・規模の何千もの病院から収集した全データをまとめることにより、ネットワーク上にある特定のタイプの医療機器は、攻撃を受けた場合と比較し、通常のオペレーション条件下でどのように振る舞うのかを正確に把握することができます。この種のアプローチは、こうしたデバイス上でいまだに実行されているEOLしたオペレーティングシステムが抱える課題への対処に適しています。

しかし、IoTデバイスやOTデバイスを適切に保護するには、異常な振る舞いを監視・検出し、特定の攻撃シナリオに基づいてそれらを関連付けるだけでは不十分です。適切なセキュリティポリシーでネットワーク上の振る舞いを制御する必要があり、これは攻撃が実行に移される前にその振る舞いを止めるのに効果的です。これを実現するための最良の方法は、IoTモニタリングを次世代ファイアウォールと統合することです。ユーザーがデバイスIDと使用しているオペレーティングシステムに基づいてポリシーを作成できる場合、不適切な振る舞いを容易にブロックし、排除することができます。人工知能および機械学習技術は、トレーニングされたモデルから傾向を集計し、ポリシーに関する推奨事項を作成するのに適しており、これらのポリシーをその後、使用可能な現実世界のセキュリティポリシーに変換することができます。パロアルトネットワークスの次世代ファイアウォールをご使用のお客様は、IoTセキュリティサブスクリプションでこの機能を利用できます。

AIとMLを活用して作成したネットワークの振る舞いの基準と、セキュリティポリシーに関する推奨事項を組み合わせることで、Windows XPのコード漏洩よって発生するリスクおよび結果を抑制および緩和することができます。推奨されるすべての対処策を確認する際、ネットワーク内にサポート対象外オペレーティングシステムが存在する場合は常に、ITセキュリティ組織は効果的なIoTセキュリティソリューションを優先する必要があります。

結論

IoTおよびOTデバイスの保護における最大の課題の1つは、ソフトウェアのアップグレードによって生じます。多くのIoTおよびOTデバイスはライフサイクルが長いのですが、そのソフトウェアリリースを最新の状態にしておくことはほぼ不可能です。IoTデバイスやOTデバイスが旧バージョンないしEOLしたオペレーティングシステムで動作しているのを目にするのは、当たり前のことになっています。Windows XPやWindows Server 2003のようなEOLしたオペレーティングシステムには、何百もの既知の脆弱性があります。悪意のある攻撃者はこうした脆弱性を悪用して、組織のOTネットワークに侵入します。デバイスOSのアップグレードが選択肢にあがらない場合、多くの組織は間違いなく、セキュリティのバランスを保とうとして、既知の脆弱性エクスプロイトを検出するために従来のサイバー防御をアップグレードしようと努力します。残念ですがこれはしばしば負け戦となります。

最終的に、先日のWindows XPやWindows Server 2003のコード漏洩は、この微妙なバランスを転機へと押し進めました。ソースコードは悪意のある攻撃者に、新たな脆弱性を発見して手法を向上させるための無限の可能性をもたらします。EOLオペレーティングシステムを実行しているIoTデバイスやOTデバイスは、攻撃者が組織のサイバー防御を侵害し、破壊するための踏み台になってしまう可能性があります。

一方、ネットワーク上の振る舞い分析を重視したAIおよびMLを活用するセキュリティソリューションは、高度な脅威およびゼロデイ攻撃に対処するのに有効です。サイバー防御のバランスと制御を取り戻そうとする組織に、これが新たな希望を与えます。

以下に、推奨事項を示します。

  • Windows XPやWindows Server 2003を実行しているシステムのインターネットの閲覧を制限し、他のネットワークセグメントからマイクロセグメント化する。
  • ゼロトラストポリシーを導入し、必要なアプリケーション、ソース、宛先のみを許可する。
  • Windows XPやWindows Server 2003を実行しているシステムには、強力なパスワードポリシーを適用する。
  • よく使用される次のような(ただしこれらに限定されない)サービスについて、異常なアクティビティがないかどうか、ポート上で受信トラフィックと送信トラフィックを綿密に監視する。
    • 137/udp、138/udp、139/tcp、tcp/445上のSMB
    • 3389/tcp上のRDP
    • 1433/tcp上のSQL Server
    • 注意: ここではデフォルトのポート番号を示していますが、ここから変更している場合は、そのポート番号に読み替えてください。
  • Windows XP、Windows Server 2003そのほかのWindowsバージョンを実行している旧式デバイスに対して、パロアルトネットワークスの次世代ファイアウォールの脅威防御セキュリティサブスクリプションなど脅威防御テクノロジを有効にする。
  • パロアルトネットワークスの脅威防御では、280を超えるWindows XPのCVEと150を超えるWindows Server 2003のCVEを検出できるので、システムでCVEエクスプロイトが検出された場合は、接続を切断ないしリセットして攻撃を無効にする。
  • 疑わしいマシンや侵害されたマシンをネットワークから直ちに切断し、インシデント対応ポリシーを実装ないし適用する。
  • Windows XPかWindows Server 2003を実行しているマシンに対し、クラウドないしオフラインバックアップを実装・適用する。データをクラウドまたはオフラインサーバーに保存しておけば組織がランサムウェアに感染した場合の安全対策になります。

追加資料