Cisco Japan Blog

注目の脆弱性:Natus NeuroWorks で発見された複数の脆弱性

1 min read



脆弱性の発見者:Cory Duplantis(Talos)

概要

Talos では、Natus NeuroWorks ソフトウェアに複数の脆弱性を発見しました。このソフトウェアは Natus Medical 社の Natus Xltek EEG 医療製品で使用されています。影響を受けるこれらのデバイスでは、イーサネット接続を使用してデータの取得とネットワークへの接続を行っています。

今回発見された脆弱性は、次の 2 種類に分類されます。

  • コード実行の脆弱性(4 個)
  • サービス拒否の脆弱性(1 個)

コード実行の脆弱性では、ネットワーク パケットが細工されると、医療デバイス上でコードが実行される危険性があります。サービス拒否の脆弱性では、影響を受けるサービスがクラッシュする危険性があります。これらの脆弱性は、認証なしでリモートからトリガーできます。

ディスカッション

医師は正確な臨床データを頼りに患者に最適な治療方法を決定します。Natus Xltek EEG などの医療デバイスは、患者の健康状態に関する複雑なデータを収集したり、記録したりするツールとして使用されています。

ただし、この臨床データの信頼性は、データを収集するプラットフォームの信頼性にかかっています。データを収集するシステムの信頼性が危険にさらされると、患者の治療もまた危険にさらされることになります。

脆弱なシステムは、コンピュータ ネットワーク内のエントリ ポイントや永続的な攻撃ポイントして、攻撃者の検索の対象となります。影響を受けるシステムが攻撃者の侵害を受けると、ネットワーク上で偵察を行うために利用されたり、今後の攻撃を開始するプラットフォームとして利用されたりする危険性があります。

攻撃者は、実入りのいいビジネスとして医療分野をランサムウェアの標的popup_iconにしているようです。同様に、悪意のあるグループや個人が侵害されたデバイスを利用して、機密扱いの医療データにアクセスしたり、データを漏洩させたりする危険性があります。

医療機関は、院内で利用する医療デバイスにこのような脆弱性のリスクがあることを認識しなければなりません。影響を受けるシステムには製造元が提供するパッチを適用して、最新のソフトウェア バージョンにアップデートしておく必要があります。影響を受ける可能性のあるシステムが接続されているネットワークは、攻撃を受けないよう保護されていなければなりません。悪意のあるアクティビティをすべて検出、ブロックし、医療機関が深刻な侵害を被る前にそれらのアクティビティの原因を修正する必要があります。そして、最も重要なこととして、患者に被害が及ぶことを防ぐ必要があるのです。

詳細

コード実行

TALOS-2017-0355(CVE-2017-2853)- NATUS XLTEK EEG NEUROWORKS の「REQUESTFORPATIENTINFOEEGFILE」コード実行の脆弱性

「RequestForPatientInfoEEGfile」コマンドの処理中に、アプリケーションはクライアントによって要求されたパスに基づいて EEG ファイルを開こうとします。パスの構築時にバッファ オーバーフローが存在し、この脆弱性によって、攻撃者はリモートから Natus Xltek 上でコードを実行できます。

詳細は、次の脆弱性レポートに記載されています。

TALOS-2017-0355popup_icon

TALOS-2017-0373(CVE-2017-2867)- NATUS XLTEK EEG NEUROWORKS の「SAVEPATIENTMONTAGE」コード実行の脆弱性

この脆弱性は、Natus Xltek NeuroWorks 8 の「SavePatientMontage」機能に起因しています。「SavePatientMontage」コマンドを含むリクエストの中で送信される、「Data.Name」値の長さの検証が欠如していることが原因です。細工されたネットワーク パケットがスタック バッファ オーバーフローを引き起こし、その結果としてコードが実行される危険性があります。

詳細は、次の脆弱性レポートに記載されています。

TALOS-2017-0373popup_icon

TALOS-2017-0374(CVE-2017-2868)- NATUS XLTEK EEG NEUROWORKSの「NEWPRODUCERSTREAM」コード実行の脆弱性

この脆弱性は、Natus Xltek NeuroWorks 8 の「NewProducerStream」機能に起因しています。NeuroWorks では「KeyTree」と呼ばれるリスト データ構造のリストが管理されており、この脆弱性は、この構造の解析方法に起因しています。KeyTree のキー値として使用される「SlowReviewLocalPath」文字列は長さが検証されないため、文字列が長い場合にバッファ オーバーフローが起こる危険性があります。このように、巧妙に細工されたネットワーク パケットによってスタック オーバーフローが引き起こされ、結果としてコード実行が可能になります。

詳細は、次の脆弱性レポートに記載されています。

TALOS-2017-0374popup_icon

TALOS-2017-0375(CVE-2017-2869)- NATUS XLTEK EEG NEUROWORKSの「OPENPRODUCER」コード実行の脆弱性

この脆弱性は、Natus Xltek NeuroWorks 8 の「OpenProducer」機能に起因しています。ひとつ前の脆弱性と同様、問題は KeyTree 構造のキーとして使用される「SlowReviewLocalPath」文字列の長さチェックに起因しており、文字列が長い場合に、スタック バッファ オーバーフローが起こる危険性があります。細工されたネットワーク パケットがスタック バッファ オーバーフローを引き起こし、その結果としてコードが実行される危険性があります。前出の脆弱性と同様に、上書きされたメモリには例外ハンドラが含まれており、それによって攻撃者はプログラムの実行を制御することができます。

詳細は、次の脆弱性レポートに記載されています。

TALOS-2017-0375popup_icon

サービス拒否(DoS)

TALOS-2017-0365(CVE-2017-2861)- NATUS XLTEK EEG NEUROWORKS の「NEWPRODUCERSTREAM」が戻り値を使用することでサービス拒否(DoS)が起こる脆弱性

「NewProducerStream」コマンドの処理中は、「KeyTree」(前出の脆弱性で説明)データ構造が想定されています。KeyTree の解析にエラーがある場合、戻り値「-1」が返されます。この戻り値がアクセス違反を引き起こし、その結果としてサービス拒否が発生する危険性があります。

詳細は、次の脆弱性レポートに記載されています。

TALOS-2017-0365popup_icon

検証済みバージョン

Natus Xltek NeuroWorks 8

まとめ

各脆弱性は Talos が定めた責任ある開示方針に従って Natus 社に開示されており、問題を修正したファームウェアが提供されるよう同社と協力してきました。これらの脆弱性のいくつかが悪用されると、攻撃者が影響を受けるデバイス上でリモートから任意のコードを実行する危険性があります。こうしたデバイスが持つ役割と通常導入される環境を考慮すると、医療機関には、可能な限り早くデバイスを評価し、対処することを強くお勧めします。Natus は、これらの問題に対処するため Neuroworks 8.5 GMA2 をリリースしました。Talos は、このアップデートを該当システムにできるだけすぐにインストールすることを推奨します。

カバレッジ

この悪意ある試行は、以下の Snort ルールにより検出可能です。今後、脆弱性に関する新たな情報が追加されるまでの間は、ルールが追加されたり、現行のルールが変更されたりする場合がありますのでご注意ください。最新のルールの詳細については、Firepower Management Center、FireSIGHT Management Center、または Snort.org を参照してください。

Snort ルール:43518、43489

 

本稿は 2018年4月4日に Talos Grouppopup_icon のブログに投稿された「Vulnerability Spotlight: Natus NeuroWorks Multiple Vulnerabilitiespopup_icon」の抄訳です。

 

コメントを書く