マルウェア

AvertX製IPカメラで3つの脆弱性が見つかる

Clock Icon 2 min read

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

概要

2020年2月24日、パロアルトネットワークスのUnit 42リサーチャーは、最新のファームウェアを実行するAvertXのIPカメラに脆弱性が存在することを発見しました。

脆弱性が見つかったのはAvertXのIPカメラのモデル番号HD838および438IRで、本件についてはAvertXも確認済みです。これらの製品は屋外での使用を目的とする監視カメラで、赤外線・物体検出テクノロジが内蔵されています。ユーザーは録画内容をクラウド、またはネットワーク
ビデオ レコーダー(NVR)に保存することもでき、SDメモリ カードにバックアップを作成することもできます。

弊社が発見した3つの脆弱性は以下のとおりです。

検出された脆弱性が及ぼす影響は以下のとおりです。

  • 攻撃者はIPカメラ アカウントのユーザー名をリモートで列挙できるので、ブルートフォース攻撃が容易になります。
    アプリケーションの認証メカニズムとやり取りすることで一連の有効なユーザー名を収集できれば、攻撃者は有効なユーザー名を入手し、対応するパスワードを見つけられるかどうか検証することができます。よって、ブルートフォース攻撃が容易に行えるようになります。
  • 同カメラではデフォルト パスワードの変更が強制されません。したがって、攻撃者はデフォルト
    パスワードでカメラにアクセスすることもできます。IoTデバイスにはWebベースの構成・管理インターフェイスが提供されることが多いですが、インストール後にこうしたインタフェースから適切な設定が行われることはまれで、初期設定の認証情報がそのまま使われることが多くなっています。これらデフォルトの認証情報は、デバイスのユーザー
    マニュアルを読むだけで取得できてしまいますので、結果的に攻撃者や最も一般的なIoTボットネットは、そうした認証情報を使用してIoTデバイスへのアクセス権を得ることができます。
  • UART(汎用非同期送受信器)のインターフェイスに物理的にアクセスできる攻撃者は、そのブートローダにアクセスできます。この結果、こうした攻撃者はその他の設定にアクセスして変更したり、設定をリセットしたり、カメラを動作不能にすることもできます。

なお今回弊チームが解析したAvertX IPカメラは、Hikvisionカメラに変更を加えたリブランド製品です。AvertXはこれらの脆弱性に対するパッチをリリースしており、最新製造ロットではUARTコネクタを削除してインターフェイスも無効にしています。

2020年Unit 42
IoT脅威レポート
によると、防犯カメラはエンタープライズIoTデバイスのわずか5%を占めるのみであるにもかかわらずセキュリティ問題全体の33%を占めています。多くのカメラが消費者目線で設計されており、セキュリティよりも使用・導入が容易であることが重視されているためです。

パロアルトネットワークスのお客様は、ML-Powered NGFW
(Next-Generation Firewall)
およびIoTセキュリティ(NGFW向けに用意されたサブスクリプション)によってこうした脆弱性から保護されています。

CVE-2020-11625: ユーザー列挙

Webユーザー インターフェイス(UI)でカメラへのログインの試行に失敗したときに表示される応答は、ユーザー
アカウントが存在するかどうかによって異なります。応答には送信されたユーザー名が有効かどうかが示されるので、正当なユーザー名の識別が容易になります。

カメラに存在するユーザー名を使用して、ISAPI/Security/sessionLogin/capabilitiesにログイン要求が送信された場合は、パスワードが正しくなくても、そのユーザー名に指定されたソルトの値が返されます。

このスクリーンショットは、AvertX IPカメラに存在するユーザー名で、そのAvertX IPカメラ上のISAPI/Security/sessionLogin/capabilitiesにログイン要求が送信された場合に発生する内容を示しています。
図1: 既存のユーザー名を使用した要求

一方、IPカメラのデータベースに存在しないユーザー名でログイン要求が送信された場合、ソルト値は空になります。

これは、AvertX IPカメラのデータベースに存在しないユーザー名で、そのAvertX IPカメラにログイン要求が送信された場合に発生する内容を示しています。

図2: 存在しないユーザー名を使用した要求

これによって攻撃者は正当なユーザー名を列挙できるようになり、ブルートフォース攻撃が容易になります。

CVE-2020-11624: 脆弱なパスワード要件

IPカメラでは、ユーザーによる管理アカウントのデフォルト パスワードの変更は必要ありません。ユーザーがデフォルト パスワードでログインするたびに、カメラにはパスワード変更を提案するポップアップ
ウィンドウが表示されますが、変更を強制されるわけではありません。管理者は[キャンセル]をクリックして、パスワードを変更せずにデバイスの使用へと進むことができます。

AvertX IPカメラには、ユーザーに管理アカウントのデフォルト パスワードの変更を提案するポップアップ ウィンドウが表示されますが、この提案は無視できます。

図3: デフォルト パスワードのポップアップ ウィンドウは無視できる

このデバイスでは、不用心な管理者がデフォルトのパスワード(admin/1234)を使用し続けることができます。しかもデフォルトのユーザー名はlogin.jsスクリプトにて公開されています。

AvertX IPカメラでは、デフォルトのユーザー名がlogin.jsスクリプトに公開されています。
図4:
login.jsスクリプトに公開されているデフォルトのユーザー名

CVE-2020-11623: 公開された危険な手法または機能

UARTインターフェイスが公開されているので、診断機能や構成機能だけでなくシステム情報へのアクセスや変更も可能です。UARTインターフェイスに物理的にアクセスできる攻撃者であれば、この脆弱性を悪用可能です。

ブートローダ コンソール
図5: ブートローダ コンソール

弊チームでは未実装の4ピンのMolexコネクタを特定できました。商用製品に実装されるUARTインターフェイスはほとんどが4~6ピンなので、ここでピンをテストして特定してみることにしました。

4ピンのMolexコネクタが存在するプリント基板(PCB)の画像
図6: 4ピンのMolexコネクタが存在するプリント基板(PCB)の画像
4ピンのMolexコネクタの拡大画像
図7: 4ピンのMolexコネクタの拡大画像

UARTへの接続

UARTインターフェイスにはAttify Badge経由で接続しました。Attify BadgeはFTDIチップを使用するハードウェア セキュリティツールで、これを使うとSPI、JTAG、I2C、UARTなどの幅広い通信プロトコルで交信できます。PCと接続するためのmicroUSBポートも搭載されています。

UARTへの接続
図8: UARTへの接続

通信速度(ボーレート)を確認するために、最も一般的な値でテストしました。表示端末を開き、ボーレート115200を使用してカメラのUARTと通信しました。Ubootプロンプトを表示させるために、Ctrl +
Uキーを押して起動プロセスを中断させました。ユーザー名もパスワードも必要ありませんでした。

ブートローダ コンソール アクセス(U-boot)
図9: ブートローダ コンソール アクセス(U-boot)

この時点で、いくつかのコマンドが使えるようになり、それらでデバイス関連の情報(ファームウェアや構成設定を含む)を取得できるようになります。同デバイスは屋外での使用を想定しているものなので、リモートからの攻撃だけでなく物理的な攻撃への防御が特に重要です。

結論

以上をまとめますと、AvertX IPカメラ モデルHD838および438IRは、Hikvisionカメラに変更を加えたリブランド製品で、デバイスの侵害や動作不能につながりうる脆弱性を3つ抱えています。

  • 1つ目はユーザー列挙で、これにより攻撃者はブルートフォース攻撃を効率的に実行できるようになります。
  • 2つ目の脆弱性は強力なパスワード要件の欠如で、攻撃者はデフォルトの認証情報を使用して、カメラを容易に検出および侵害できるようになります。
  • 最後の1つは公開されたUARTインターフェイスで、これにより攻撃者はカメラに物理的にアクセスしてデバイスから情報を抜き取り、設定値を変更し、デバイスを動作不能にすることもできます。

弊社からの問い合わせにAvertXは迅速に対応してくださり、上記の問題についてはパッチがリリースされています。さらに、最新製造ロットからはUARTコネクタが削除されインターフェイスも無効になっています。

パロアルトネットワークスのお客様は、以下のプラットフォームによって、AvertX IPカメラへの攻撃から保護されます。

  1. 機械学習を援用した次世代ファイアウォール。ブルートフォース攻撃を特定し、攻撃をブロックする、ないしアラートを発報する機能を備えています。
  2. IoTセキュリティ。次世代ファイアウォール用のサブスクリプションで、IoTデバイスに対するブルートフォース攻撃や異常なトラフィックを検出します。

参考情報

CVE:

CVE-ID 脆弱性タイプ
CVE-2020-11625 ユーザー列挙
CVE-2020-11624 脆弱なパスワード要件
CVE-2020-11623 公開された危険な手法または機能

表1: この投稿に関連するCVE *CVEエントリはまもなく更新予定

参考資料:

https://owasp.org/

Enlarged Image