概要
Cisco Talos は、Yi Technology 社製 Home Camera のファームウェアに複数発見された脆弱性を公開しました。脆弱性のエクスプロイトを防ぐため Talos は同社と協力を進め、問題を修正したファームウェアを提供できるよう努めてきました。これらの脆弱性により、コマンド インジェクション、ネットワーク認証の回避や本体の無効化を介して、カメラ上で任意コードがリモートで実行される危険性があります。
Yi Home Camera はモノのインターネット(IoT)に分類される家庭用カメラで、世界中で販売されています。バージョン「27US」は米国で販売されている比較的新しいモデルで、同社製のカメラでは最も安価なタイプです。
同製品は一般的な IoT デバイスの機能(場所を問わず見られるカメラ フィード、オフライン ストレージ、サブスクリプション ベースのクラウド ストレージ、簡単なセットアップなど)をすべて備えています。
しかし製品のファームウェアに含まれる脆弱性により、セキュリティ上の懸念が多く存在しています。これらの脆弱性がエクスプロイトされた場合、以下のような影響を受ける危険性があります。
- カメラが無効化され録画が停止する。
- カメラ上に保存された録画ファイルが削除される。
- カメラ フィードが無断で表示される。
- カメラ所有者のスマートフォン アプリへの侵入経路になる。
- ホーム ネットワークに接続された他のデバイスへの侵入経路になる。
上記以外にもさまざまな影響が考えられるため、Yi Home 社のアプリを使ってファームウェアを更新することを強く推奨します。
エクスプロイト
IoT デバイスでは、その性質上、一般的なサーバやクライアントと比べて攻撃対象領域が広くなります。今回の脆弱性の半数はエクスプロイトに物理的なアクセスが必要です。それらの脆弱性についてはカメラが安全な屋内にある限り懸念材料となりませんが、残りの脆弱性はネットワーク経由でエクスプロイト可能なため深刻で、ファームウェアを早急に更新する必要があります。
ネットワーク経由でエクスプロイト可能な脆弱性については後述しますが、それらの根本原因は TALOS-2018-0616(平文プロトコル、つまり暗号化されていない UDP または HTTP 通信の利用)にあります。パフォーマンスが若干犠牲になる場合もありますが、必要な暗号化(HTTPS)機能が実装されていれば、それらの脆弱性は深刻度が低いか、あるいはエクスプロイト不可能だったことでしょう。
サービス拒否:
TALOS-2018-0602 と TALOS-2018-0595 は、いずれも p2p_tnp バイナリ内に存在する脆弱性です。p2p_tnp バイナリには、スマートフォン ~ カメラ間、およびクラウド ~ カメラ間の通信を主に担います。また、前述した一般的な IoT デバイスの機能すべてを実装するため、カスタムの UDP ピアツーピア(P2P)プロトコルも実装しています。どちらの脆弱性でも、意図的に追加されたと考えられるオペコード(opcode)に認証なしでアクセスできます。このため攻撃者はビデオ フィードを永久に無効化したり、メモリを無制限に割り当てたりすることで、カメラを実質的に無効化できます。
任意コードのリモート実行:
TALOS-2018-0567 は今回最も深刻度の高い脆弱性です。HTTP リクエストに応答できさえすればコマンド インジェクション攻撃を起こし、任意コードを実行できるからです。ここで問題となる time_sync リクエストはカメラがネットワークに接続された際に送信されるため、非常に頻繁に発生します。
管理アクセス:
ネットワーク経由でエクスプロイト可能な脆弱性の最後は TALOS-2018-0601 です。TALOS-2018-0616 経由でスニッフィング可能なトークンを攻撃者が再利用でき、スニッフィングされたトークンは攻撃者が無制限に使用できるようになります。これにより、本来であればカメラの所有者用に予約されている p2p_tnp API に、Yi Home 製のスマートフォン アプリを介してアクセス可能になります。アクセス可能な状態はカメラが再起動するまで持続します。カメラが再起動した後は、攻撃者が別のトークンをスニッフィングする必要があります。
物理的なアクセスが必要な脆弱性:
前述したように、IoT デバイスは、より特異な攻撃経路へとつながる脆弱性を持つ傾向があります。Yi Home Camera も例外ではありません。同製品で物理的なアクセスが必要な脆弱性は、ファームウェア更新機能(TALOS-2018-0565、TALOS-2018-0584、TALOS-2018-0566)、SSID 経由のワイヤレス初期設定機能(TALOS-2018-0580)、および QR コード経由のワイヤレス初期設定機能(TALOS-2018-0572、TALOS-2018-0571)に発見されました。このため、同製品を他人が物理的にアクセスできる場所には設置せず、ファームウェアをできるだけ早く更新することを推奨します。
各脆弱性の概説
TALOS-2018-0565:Yi Home Camera(バージョン 27US)のファームウェア更新機能で発見された、任意コードが実行される脆弱性
Yi Home Camera 27US 1.8.7.0D のファームウェア更新機能にはエクスプロイト可能な脆弱性が存在します。細工されたファイルにより認証ロジックの欠陥(logic flaw)やコマンド インジェクションが引き起こされ、任意コードが実行される危険性があります。脆弱性をエクスプロイトするには、攻撃者がカメラに SD カードを挿入する必要があります。
TALOS-2018-0566/ CVE-2018-3910:Yi Home Camera(バージョン 27US)で発見された、ファームウェアが不正にダウングレードされる脆弱性
Yi Home Camera 27US 1.8.7.0D のファームウェア更新機能には、エクスプロイト可能な脆弱性が存在します。細工されたファイルにより認証ロジックの欠陥(logic flaw)が引き起こされ、ファームウェアが不正にダウングレードされる危険性があります。脆弱性をエクスプロイトするには、攻撃者がカメラに SD カードを挿入する必要があります。
TALOS-2018-0567:Yi Home Camera(バージョン 27US)の時間同期機能で発見された、任意コードが実行される脆弱性
Yi Home Camera 27US 1.8.7.0D の時間同期機能には、エクスプロイト可能な脆弱性が存在します。細工されたパケットによりバッファ オーバーフローが引き起こされ、任意コードが実行される可能性があります。本脆弱性は、ネットワーク トラフィックが傍受・改ざんされるとエクスプロイトされる可能性があります。
TALOS-2018-0571/ CVE-2018-3898-CVE-2018-3899:Yi Home Camera(バージョン 27US)の QR コード スキャン機能(Trans_Info)で発見された、任意コードが実行される脆弱性
Yi Home Camera 27US 1.8.7.0D の QR コード スキャン機能には、エクスプロイト可能な脆弱性が存在します。。脆弱性によりバッファ オーバーフローが引き起こされ、任意コードが実行される危険性があります。脆弱性をエクスプロイトするには、特別な QR コードをカメラにスキャンさせる必要があります。
TALOS-2018-0572/ CVE-2018-3900:Yi Home Camera(バージョン 27US)の QR コード スキャン機能で発見された、任意コードが実行される脆弱性
Yi Home Camera 27US 1.8.7.0D の QR コード スキャン機能には、エクスプロイト可能な脆弱性が存在します。脆弱性によりバッファ オーバーフローが引き起こされ、任意コードが実行される危険性があります。脆弱性をエクスプロイトするには、特別な QR コードをカメラにスキャンさせる必要があります。
TALOS-2018-0580/ CVE-2018-3910:Yi Home Camera(バージョン 27US)のクラウド API で発見された、不正 SSID により任意コードが実行される脆弱性
Yi Home Camera 27US 1.8.7.0D のクラウド OTA セットアップ機能には、エクスプロイト可能な脆弱性が存在します。細工された SSID によりコマンド インジェクションが引き起こされ、任意コードが実行される可能性があります。脆弱性をエクスプロイトするには、この SSID に攻撃者がカメラを接続するか、ユーザに接続させる必要があります。
TALOS-2018-0595/ CVE-2018-3928:Yi Home Camera(バージョン 27US)で発見された、サービス拒否の脆弱性(Notice_To)
Yi Home Camera 27US 1.8.7.0D のファームウェア更新機能には、エクスプロイト可能な脆弱性が存在します。任意コードが実行される危険性があります。細工された一連の UDP パケットにより設定が変更され、サービス拒否状態に陥る可能性があります。攻撃者は一連の不正なパケットを送信することで脆弱性をトリガーできます。
TALOS-2018-0601/ CVE-2018-3934:Yi Home Camera(バージョン 27US)で発見された、認証が回避される脆弱性(Nonce Reuse)
Yi Home Camera 27US 1.8.7.0D のファームウェア更新機能には、エクスプロイト可能な脆弱性が存在します。任意コードが実行される危険性があります。細工された一連の UDP パケットにより認証ロジックの欠陥(logic flaw)が引き起こされ、認証が回避される危険性があります。攻撃者はネットワーク トラフィックをスニッフィングし、一連の不正なパケットを送信することで脆弱性をトリガーできます。
TALOS-2018-0616/ CVE-2018-3947:Yi Home Camera(バージョン 27US)で p2p_tnp バイナリ内に発見された、平文プロトコルでデータが伝送される脆弱性
Yi Home Camera 27US 1.8.7.0D のスマートフォン ~ カメラ間の通信機能には、エクスプロイト可能な脆弱性が存在します。ネットワーク トラフィックのスニッフィングによりエクスプロイトされ、情報が漏えいする危険性があります。
TALOS-2018-0602/ CVE-2018-3935:Yi Home Camera(バージョン 27US)で発見された、サービス拒否の脆弱性(Crcdec)
Yi Home Camera 27US 1.8.7.0D の UDP 通信機能には、エクスプロイト可能な脆弱性が存在します。任意コードが実行される危険性があります。細工された一連の UDP パケットによりメモリが無制限に割り当てられ、サービス拒否状態に陥る可能性があります。攻撃者は一連の不正なパケットを送信することで脆弱性をトリガーできます。
脆弱性が確認されたバージョン
上記の脆弱性が確認されたのは、Yi Home Camera のファームウェア(バージョン 27US 1.8.7.0D)です。
Yi Technology 社
のファームウェア公開ページ
結論
便利な IoT デバイスの普及に伴い、従来よりも簡単な侵入経路も増加しています。そのため Talos では、継続的かつ安全に利用を続けられるよう、最新のファームウェアの適用を推奨しています。Yi Home Camera では Yi Home スマートフォン アプリを介して更新できます。アプリを開くと最新ファームウェアの情報が表示されます。ファームウェアを更新するたけでなく、更新後にデバイスのファームウェア バージョンをアプリから確認し、実際に更新されたことを確かめてください。
カバレッジ
脆弱性のエクスプロイトは、以下の SNORTⓇ ルールにより検出可能です。今後、脆弱性に関する新たな情報が追加されるまでの間は、ルールが追加されたり、現行のルールが変更されたりする場合がありますのでご注意ください。最新のルールの詳細については、Firepower Management Center または Snort.org を参照してください。
Snort ルール:
46190-46191、46294-46295、46780、46870
Talos が開示した他の脆弱性については、脆弱性報告ポータルをご覧ください。
Talos の脆弱性開示ポリシーについては、こちらのサイトをご覧ください。
本稿は 2018年10月31日に Talos Group のブログに投稿された「Vulnerability Spotlight: Multiple Vulnerabilities in Yi Technology Home Camera」の抄訳です。