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

概要

本稿は、QNAP のネットワーク接続ストレージ (NAS) デバイスに影響を与えるゼロデイ脆弱性に関する技術分析を提供します。弊社の Advanced Threat Prevention (ATP) およびテレメトリー システムが、QNAP QTS および QuTS hero ファームウェアに存在する、これまで知られていなかった脆弱性の指標を見つけました。私たちは調査結果を QNAP に提供しました。同社はこの新たな脆弱性を追跡する識別番号として CVE-2023-50358 を割り当てました。本稿では、この新たに発見された脅威の防御方法に関する推奨事項も提供します。

QNAP は「Quality Network Appliance Provider」の頭字語です。この頭字語は、NAS デバイス用のオペレーティング システムを含む、さまざまな製品を専門とする会社の名前です。そうしたオペレーティング システムの 1 つが QNAP Turbo NAS System (QTS) です。この QTS のコードは、多くの場合、QNAP NAS デバイスのファームウェアに埋め込まれています。

脅威アクターらはネットワーク接続された NAS デバイスなどのホストの脆弱性をつねに探していて、新たな脆弱性が発見されればただちに悪用されるおそれがあります。パロアルトネットワークスの Unit 42 のリサーチャーは、この種の攻撃が見られないか、つねにテレメトリーを監視しています。

QNAP からは、今回発見された脆弱性に関するガイダンスと推奨措置を提供する新たなセキュリティ アドバイザリーが、弊社への謝辞とともに公開されています。影響を受ける組織の皆さんには、同社ガイダンスに示された緩和対策指示に従うか、対応するファームウェアの更新を適用して、この新たな脅威に対処されることをお勧めします。

パロアルトネットワークスの Advanced Threat Prevention は、未知の脆弱性のエクスプロイトを検出する機能を備えています。今回のゼロデイ攻撃の発見にはこの機能が役立ちました。

パロアルトネットワークスの次世代ファイアウォール製品をお使いのお客様は、Internet of Things (IoT) SecurityAdvanced Threat Preventionをはじめとするクラウド提供型セキュリティ サービスでエクスプロイト トラフィックを検出・ブロックすることにより、さらに確実に保護されています。Cortex Xpanse をお使いのお客様は、外部公開されている QNAP デバイスを可視化できます。侵害の懸念があり弊社にインシデントレスポンスに関するご相談をなさりたい場合は、こちらの問い合わせフォームからご連絡いただくか、infojapan@paloaltonetworks.com まで電子メールにてお問い合わせください (ご相談は弊社製品のお客様には限定されません)。

関連する Unit 42 のトピック IoT, CVE-2023-50358

脆弱性の概要

このコマンド インジェクションの脆弱性は、QNAP QTS ファームウェアの quick.cgi というコンポーネントに存在します。このコンポーネントには認証なしでのアクセスが可能です。

HTTP リクエスト パラメーターの todo=set_timeinfo を設定するさい、quick.cgi 内のリクエスト ハンドラーは、設定ファイル /tmp/quick/quick_tmp.confSPECIFIC_SERVER というパラメーターの値を NTP Address というエントリー名で保存します (図 1)。

画像 1 は、多数のコードからなるスクリーンショットです。上から順に 3 つの赤い枠が表示されています。1 つめは「ユーザー入力の取得」、2 つめは「ユーザー入力を quick_tmp.conf に保存」、3 つめは「脆弱な関数」です。
図 1. quick.cgi がユーザー入力を構成ファイルに書き込む

NTP サーバーのアドレスを書き込んだ後、このコンポーネントは、ntpdate ユーティリティを使って時刻の同期を開始します。quick_tmp.conf 内の NTP Address を読み取って実行するコマンドラインを組み立ててから、この文字列を system() を使って実行します (図 2)。

画像 2 は、2 つのコード ウィンドウのスクリーンショットです。1 つめの赤い枠で強調表示されているのは、tmp.conf から NTP Address を読み取っているコードです。2 つめの赤い枠から 3 つめのウィンドウに矢印が伸びてコマンド実行関数のコード行を指しています。これが system() により実行されます。
図 2. quick.cgi のコマンド実行

つまり SPECIFIC_SERVER パラメーターに保存された信頼できないデータがシェルで実行されるコマンドラインの作成に使われていることになります。この結果、図 3 が示す通り、任意のコマンドが実行されることになります。

画像 3 は、コマンドライン実行を実証したスクリーンショットです。情報の一部は割愛してあります。
図 3. コマンドライン実行の実証

CVE-2023-50358 の影響

図 4 は、2024 年 1 月中旬の 1 週間のあいだに私たちのテレメトリーから検出された、脆弱な NAS デバイスに関する Cortex Xpanse のデータを示したものです。この期間中、重複なしで 289,665 個の IP アドレスをもつ脆弱なデバイスが検出されています。図 4 はこの脆弱性からの影響を最も強く受ける国のグローバル ヒート マップで、これらの IP アドレスが登録されている上位 18 か国の一覧も表示しています。

画像 4 は、この脆弱性の影響を受けていることが観測された国々の Cortex Xpanse によるヒート マップです。影響を受けた国を右に一覧表示しています。上位 5 カ国はドイツ、米国、中国、イタリア、日本です。
図 4. この脆弱性による影響を最も強く受けている国々を示すグローバル ヒートマップと上位の国名一覧

結論

開示のタイムラインは以下のとおりです。

  • 2023 年 11 月 7 日: Unit 42 のリサーチャー、QNAP デバイスを標的とする不審な攻撃トラフィックについて Advanced Threat Prevention プラットフォームからアラートを受信。さらなる分析により観測されたトラフィックと関連する (ただし直接にはエクスプロイトされていない) 新たな脆弱性が判明
  • 2023 年 11 月 21 日: 詳細な脆弱性分析を QNAP に提供
  • 2023 年 12 月 19 日: QNAP が当該脆弱性を確認
  • QNAP がセキュリティ アドバイザリーを公開しガイダンスと推奨措置を提供

IoT デバイスに影響するこれらのリモート コード実行の脆弱性は、攻撃複雑度の低さと深刻な影響度があいまって、脅威アクターにとって魅力的な標的となっています。そのため、こうした脅威から IoT デバイスを保護することは喫緊の課題となっています。

脆弱性を緩和するため、QNAP は QTS または QuTScloud hero の最新バージョン (たとえば QTS 5.1.5 または QuTS hero h5.1.5) への更新を推奨しています。オペレーティング システムを最新バージョンに更新できない事情がある場合、ユーザーは以下の措置をとることで脆弱性を緩和できます。

  • ブラウザーで以下の URL をテストします (<NAS IP address> と <NAS system port> の部分はそれぞれ自社の環境に合わせて読み替えてください)。
    • https://<NAS IP address>:<NAS system port>/cgi-bin/quick/quick.cgi
  • 以下の応答 (HTTP 404 エラー) が返ってくればお使いのシステムは脆弱ではありません。
    • "Page not found or the web server is currently unavailable. Please contact the website administrator for help."
  • 空白ページ (HTTP 200) が返された場合は次の手順に進んでください。
  • オペレーティング システムを次のバージョンまたはそれ以降のいずれかに更新します。
    • QTS 5.0.0.1986 ビルド 20220324 またはそれ以降
    • QTS 4.5.4.2012 ビルド 20220419 またはそれ以降
    • QuTS h5.0.0.1986 ビルド 20220324 またはそれ以降
    • QuTS h4.5.4.1991 ビルド 20220330 またはそれ以降
  • ブラウザーで上記 URL を再度テストします。
  • 以下の応答 (HTTP 404 エラー) が返されればお使いのシステムは脆弱でなくなっています。
    • "Page not found or the web server is currently unavailable. Please contact the website administrator for help."
  • 空白ページ (HTTP 200) が表示される場合は QNAP のテクニカル サポートに問い合わせてください。

パロアルトネットワークス製品による保護

パロアルトネットワークスのお客様は、以下の製品とサービスによって本稿で解説した脆弱性やマルウェアからより確実に保護されています。

  • 次世代ファイアウォールで Threat Prevention ないし Advanced Threat Prevention のセキュリティ サブスクリプションを利用し、ベストプラクティスに従って運用されているお客様は、これらの攻撃をブロックできます。対応するシグネチャーは 94969 です。
  • Advanced Threat Prevention は、インライン機械学習ベースのセキュリティ検出機能を備え、エクスプロイト トラフィックをインラインでリアルタイムに検出できます。
  • 弊社の IoT Security プラットフォームは、ネットワークトラフィック情報を使ってデバイスのベンダー、モデル、ファームウェアのバージョンを特定し、本脆弱性からの影響を受ける特定のデバイスを識別できます。
  • さらに、IoT Security には機械学習ベースのアノマリー (異常) 検知機能が組み込まれており、デバイスが以下のような平時と異なる挙動を示した場合にはユーザーにアラートが送られます。
    • 新たな接続元からの唐突なトラフィックの出現
    • 接続数の異常な多さ
    • IoTアプリケーションのペイロードによく見られる特定の属性の不可解な急増
  • Cortex Xpanse は、外部のインターネットに公開されている QNAP NAS デバイスを検出し、潜在的に脆弱なすべてのデバイスのインベントリーを防御担当者に提供できます。

侵害の懸念があり弊社にインシデントレスポンスに関するご相談をなさりたい場合は、こちらの問い合わせフォームからご連絡いただくか、infojapan@paloaltonetworks.com まで電子メールにてご連絡いただくか、下記の電話番号までお問い合わせください(ご相談は弊社製品のお客様には限定されません)。

  • 北米フリーダイヤル: 866.486.4842 (866.4.UNIT42)
  • EMEA: +31.20.299.3130
  • APAC: +65.6983.8730
  • 日本: (+81) 50-1790-0200

パロアルトネットワークスは、これらの調査結果を Cyber Threat Alliance (CTA: サイバー脅威アライアンス) のメンバーと共有しました。CTA のメンバーはこのインテリジェンスを使って、お客様に保護を迅速に提供し、悪意のあるサイバー攻撃者を体系的に阻害できます。詳細は Cyber Threat Alliance にてご確認ください。

Enlarged Image