脆弱性

CVE-2021-28372: サードパーティ製テクノロジにひそむ脆弱性 多数のネットワークカメラ(IPカメラ)や監視システムに影響

Clock Icon < 1 min read

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

概要

最近、組み込みP2Pソフトウェア開発キットのThroughTek Kalayにリモートコード実行や情報漏えいの脆弱性(CVE-2021-28372)があることが判明しました。同キットは企業ネットワークの多くのネットワークカメラ(IPカメラ)や監視システムに多数利用されていますが、こうしたシステムの利用者は内蔵ソフトウェアやTCP/IPスタックについて把握していないことが多く、この種の脆弱性は見落とされがちです。

本稿は同脆弱性が特定のIoTデバイスにどのような影響するかを解説します。

なお、この問題はIoTデバイス全般にまつわる問題も浮き彫りにしています。サードパーティ製の組み込みテクノロジは、脆弱性のメンテナンスが終了していたり古いソフトウェアを使用していることが多く、結果としてIoTデバイスが脆弱なままとなるおそれがあります。そのため、企業ネットワーク内のデバイスには、適切な可視化とリスクおよび脆弱性の評価が求められます。

パロアルトネットワークスのお客様は、IoTセキュリティプラットフォームを通じ、本稿で解説する脆弱性から保護されています。

本稿で扱うCVE CVE-2021-28372
Unit 42の関連トピック IoT security, supply chain

目次

CVE-2021-28372の背景
ThroughTek Kalayとは
自社IoTデバイスは何と通信しているか
IoTサプライチェーンによるデバイスの攻撃対象領域拡大
次のステップはIoTデバイスのプロアクティブなセキュリティ
結論
追加リソース

CVE-2021-28372の背景

2021年8月、ThroughTek Kalay P2P Software Development Kit (SDK)を使用するデバイスに影響を与える脆弱性がサイバーセキュリティリサーチャーによって特定されました。攻撃者はこの脆弱性を悪用し、20ビットの一意な識別子を使って、ThoughTek Kalay SDKを動作させているデバイスになりすますことができます。これにより、悪意のある攻撃者が被害者の接続を乗っ取り、トラフィックから認証情報(クレデンシャル)を抽出し、その機微情報に不正アクセスできるようになります。ThroughTek Kalay SDKはさまざまなIoTデバイスに組み込まれています。具体的には、ネットワークカメラ、ビデオレコーダー、ベビーモニターなどです。また、エンドユーザーデバイス上のさまざまなモバイルアプリやデスクトップアプリケーションに使用されています。

脆弱性のあるSDKを使用しているIoTデバイスの大半はリアルタイム映像配信・音声配信に関連しています。端末への攻撃が成功すると、プライベートな映像や音声が流出し、端末が詐称されたり、証明書が乗っ取られたりする可能性があります。この脆弱性にはCVE-2021-28372が割り当てられており、CVSSスコアは9.6となっています。詳しくはICS-Certアドバイザリを確認してください。

ThroughTek Kalayとは

ThroughTek KalayはさまざまなIoTデバイスにエンドツーエンドのソリューションプラットフォームを提供します。このプラットフォームをさまざまなIoTベンダー、OEM、チップメーカーが活用することで、デバイスの種類や業界に特化したさまざまなアプリケーションをサポートできる効率のよいクラウドサービスを実現できます。製品サイトによると、ThroughTek Kalay 2.0プラットフォームは、ネットワークカメラ、CCTV(監視カメラ)、NVR(ネットワークビデオレコーダー)、DVR(デジタルビデオレコーダー)、低電力カメラ、カメラ付きインターホン、セキュリティライトカメラなどのビデオ監視機器やスマートホーム製品によく使われており、このほかにはスマートロボット、ルーター、ストレージやNASデバイス、家電製品などでも使用されているとのことです。ThroughTek Kalayのユーザー層は消費者ブランドメーカーからハードウェアメーカーまで多岐にわたります。

ThroughTek Kalayプラットフォームは、P2P技術を利用して分散型アーキテクチャを構築し、特にスマートホームに適したIoTクラウドサービスを実現します。ThroughTek Kalayによると、同社のSDKは8,600万台のオンラインデバイスで使用されており、同社のクラウドサーバーへの接続数は月間11億回以上だといいます。

自社IoTデバイスは何と通信しているか

ThroughTek KalayプラットフォームはP2P接続機能を備えており、NAT(Network Address Translation)テーブルの背後にあるネットワークカメラにP2Pで接続可能です。P2P接続により、ネットワークカメラ同士の通信やネットワークカメラとサーバーのAPI共有、複数サーバーへの接続が可能になり、これにより単一障害点を回避できます。

多くのベンダー(多くはネットワークカメラメーカー)が、ThroughTek Kalayのプラットフォームを使用したデバイスを製造しています。弊社のIoT Securityを利用している組織のクラウドソーシングデータを確認したところ、よく使われているネットワークカメラベンダーのなかにもThroughTek Kalayのプラットフォームを利用しているところが多数あることがわかりました。ただしKalayプラットフォームはデバイス間のP2P接続を確立するので、これらの接続確立には特定のマスターサーバーを使用します。ThroughTekのサービスを利用するデバイスが起動するたび、ThoughTek Kalayの多数のIoTC(Internet of Things Cloud)プラットフォームの1つにランダムなUDPポート(10000〜19999)を使ってコールホームメッセージを送信し、これによってNAT越えをしています。

これらのマスターサーバーへの接続は、どのIoTデバイスがThroughTekサービスに活発に接続し、P2P接続を確立しているかの手がかりとなります。ただしこのことからある種の懸念も生じます。特定ベンダーから製品を購入した消費者は、自身のトラフィックがサードパーティ経由でこうした海外サーバーに送信されることを必ずしも期待ないし意識していません。

そこで登場するのがCVE-2021-28372です。この例で、私たちはThoughTek KalayのIoTCプラットフォームで構築されたネットワークカメラと監視システムからのトラフィックを検査します。デバイス起動時に最初に呼び出される関数はIOTC_Initializeです。この関数はThroughTek Kalayマスターサーバーの1つ (*.iotcplatform[.]com)に、10000〜20000の範囲のランダムなUDPポートでUDPリクエストを行います。

上記のコードにあるように、初期化にはランダムなポート生成と、それに続く4つの異なるIPアドレスのうちの1つへの接続が含まれます。ところがクラウドソーシングされたデータを調査した結果、IoTデバイスがP2P接続を開始するための接続先IPアドレスは14種類以上あることがわかりました。

この図はある1台のネットワークカメラによるネットワーク接続数の典型例を示したものです。左側の青色はネットワークカメラデバイス: 50、インターネット: 40、イントラネット: 10と表示しています。右側には薄い青とオレンジでNTP サーバー: 5、DNS サーバー: 5、device-api.ip-camera-vendor[.]com(TCP): 15、m4.iotcplatform[.]com(UDP): 15、Certificate Update Server (SSL): 10と表示しています。
図1: よくあるネットワークカメラのネットワーク接続数の例 (接続数は例示用)
IoT Securityのクラウドソーシングデータベースから観測されたトラフィックを調査したところ、多数のネットワークカメラが前述のサーバーに接続され、最初のP2P接続を確立していることがわかりました。具体的な例を挙げてより詳しく見ていきましょう。

  • ある米国メーカーが製造・販売するネットワークカメラが企業ネットワーク内に設置されます。
  • そのデバイスは、デバイスメーカーのAPIに接続しますが、これは想定内の接続先です。
    • device-api.ip-camera-vendor[.]com
  • さらに同じデバイスがサードパーティのマスターサーバーにUDP接続を行ってP2P接続を確立します。
    • m4.iotcplatform[.]com

デバイスをCVE-2021-28372にたいして脆弱にする基盤ネットワークトラフィックを調査することで、IoTデバイス全体におけるより大きな問題が浮き彫りになります。それは、ある特定ベンダーから購入した製品が、インターネット上のサードパーティWebサイトや海外に接続しており、多くの場合、消費者の気づかないうちにそうした接続が行われている、という問題です。

IoTサプライチェーンによるデバイスの攻撃対象領域拡大

企業や消費者はさまざまなベンダーからIoTデバイスを調達してネットワークで運用しています。しかし、ほとんどのIoTデバイスはサードパーティ製のRTOS(リアルタイムOS)、TCP/IPスタック、組み込みのBluetoothスタックその他のSDKを基盤としていることから、それがデバイスのリスクに影響し、攻撃対象領域を拡大させるおそれがあります。最近はこのようなIoTデバイスのコンポーネントに脆弱性が相次いで確認されています。基盤に存在する脆弱性としては、たとえば、Amnesia:33、Ripple:20、Infra:HaltなどのTCP/IPスタックの脆弱性、Nucleus:13などのRTOSの脆弱性、Sweyntooth、Braktooth、Bleeding ToothなどのBluetooth攻撃は、製造、小売、ヘルスケアなどさまざまな業種のIoTデバイスがとくに対象となっています。

氷山の画像氷山の水面より上にはベンダーの既知のセキュリティ問題が表示され、水面の下には、TCP/IPスタックの脆弱性、RTOS関連のリスク、Bluetooth固有の脆弱性、その他のリスクが表示されている。
図2: IoTデバイスの基盤にあるコンポーネントには多数の深刻な脅威やリスクがひそむ。ベンダーの公表する既知の脆弱性は「氷山の一角」にすぎない

図2からもわかるとおり、水面下のIoTデバイス基盤コンポーネントはそのほとんどが消費者の目につかない、知ることもない状態にあります。ベンダーの公表する既知の脆弱性は「氷山のほんの一角」にすぎません。たとえば、あるデバイスにベンダーによる既知の脆弱性がなければ、多くのユーザーはそのデバイスを安全と判断するでしょう。ところが今回ThroughTek Kalay SDK関連のCVEでわかったように、デバイスからのトラフィックや接続を監視しなければ分からない深い問題があるかもしれません。こうしたコンポーネントはデバイスの全般的機能に貢献する一方で、デバイスが悪意のあるアクターに攻撃される可能性を高め、ネットワークをリスクにさらすことになります。

次のステップはIoTデバイスのプロアクティブなセキュリティ

拡大し続けるIoT攻撃対象領域の保護には、デバイスの適切な可視化、ネットワーク接続の内容把握、デバイスの振る舞い監視、ネットワーク内在リスクの積極的ユーザー通知などが求められます。

これに役立つのがIoTセキュリティプラットフォームです。組織は、社内デバイスの脆弱性がベンダー由来であれサードパーティ組み込みソフトウェア由来であれ、かわりなく特定できるアプローチを求めねばなりません。たとえば、さまざまなネットワークカメラとインターネット接続先(特にIoTCプラットフォーム)間で観測されるトラフィックに基づき、脆弱であると考えられるデバイスにはフラグを立てる必要があります。

以下、IoTデバイスの同様の脆弱性に対処するために、IoTセキュリティのプラットフォームが提供すべき主な機能を紹介します。

  1. 正確な発見とインベントリ作成: セキュリティチームは、IoT デバイスの迅速な発見、存在場所の特定、利用状況の評価を行える必要があります。ベンダー、モデル、ファームウェアに至るまで、正確にデバイスを検出することは、その後のセキュリティ対策に極めて重要です。
  2. 包括的なリスク評価: 包括的なリスク評価により、セキュリティチームはセキュリティ上の脅威や脆弱性をプロアクティブに発見できます。機械学習駆動型の知見を提供できるシステムは、振る舞いのベースラインを確立し、深いリスク評価の提供に役立ちます。これには、脅威指標(デバイス間の異常な接続や悪意のあるファイルの存在など)を監視することも含まれます。またこれは、デフォルトパスワード、サポート終了オペレーティングシステム、アプリ、デバイス、古いプロトコルなどの問題を監視することも意味します。さらに、CVEを監視し、そのコンテキストで評価することも重要です。最後に、Qualys、Rapid 7、Tenableなどのサードパーティの脆弱性管理システムとの統合による機能拡張でリスク評価戦略を強化すると、IoTデバイスのさらなる脆弱性スキャンが可能になります。
  3. リスク低減ポリシーの適用: IoTのリスクを積極的に低減するためには、リアルタイムのリスク監視、レポート、アラートが重要です。デバイスのアクティビティと振る舞いを一貫してプロファイリングすることで、リスクベースのゼロトラストポリシー勧告に正確に変換可能なデータを得ることができます。このアプローチにより、セキュリティチームは信頼のおける振る舞いのみを自信を持って許可し、必要に応じて適切なセグメンテーションを実施することで攻撃対象領域を縮小できます。
  4. 脅威の防止: 組み込みの防止機能は、既知の標的型IoTマルウェア、スパイウェア、エクスプロイトをブロックし、C2へのDNSの利用を防止し、不正URLや悪意のあるWebサイトへのアクセスを遮断し、機密データの漏出を防止するのに役立ちます。

結論

ネットワークカメラや監視装置がP2P接続機能の提供にこの特定サードパーティSDKをどういうかたちで利用しているかを考えれば、最近発見されたThroughTek Kalay P2P SDKの脆弱性は重要な意味を持つことになります。影響を受けるデバイスのネットワークトラフィックを分析した結果、大手ベンダーのなかにもこの特定SDKを使用しているところがあり、そうしたベンダーの製造するデバイスを脆弱にしていることが判明しました。ところが、この種の脆弱性はデバイス組み込みコンポーネントの一部であるため、そのネットワーク接続や基盤にひそむ脆弱性が消費者に周知されないこともしばしばです。

最近はIoTデバイスのサプライチェーンに影響を及ぼすさまざまな脆弱性が表面化していることもあり、この問題はさらに深刻なものとなってます。結果として、お客様ネットワーク内のデバイスやそれらが生成するトラフィック、それに関連する根本的なセキュリティリスクを完全に可視化することが、より一層不可欠になっているといえます。

弊社のIoT Securityは先に述べたIoTセキュリティのプラットフォームが提供すべき主な機能を満たしていることから、企業ネットワークのセキュリティの確保に役立ちます。提供される保護には当該CVE-2021-28372に対する保護も含まれています。さらに、特許取得済みの異常検知メカニズムにより、既知の脆弱性を持つデバイスが通常のネットワーク上の振る舞いから逸脱した場合に、それが悪用されている可能性があることを検知します。たとえば、新しい送信元からのトラフィックが突然現れたり、接続数が異常に多かったり、海外との接続が不可解に多いなどの異常な振る舞いに対して、アラートを生成します。

追加リソース

Enlarged Image