ENDLESSDOORS:Zbtlinkルーターファームウェアに隠された遠隔操作機能が発覚

中国のルーターメーカーZbtlinkが、自社の独自ファームウェアに組み込まれた隠しリモート管理機構の発見をめぐり、大きな論争の的となっています。VulnCheckの研究者らは、対象デバイスが外部サーバーへ自律的に接続し、システムレベルのコマンドをリモートから実行できる状態になっていると主張しています。同社はこのコンポーネントがバックドアであることを否定していますが、その一方で詳細不明のセキュリティ脆弱性を理由にファームウェアのダウンロードを一時停止しています。

発見の経緯:コマンドサーバーへの継続的なアウトバウンド接続

VulnCheckの最高技術責任者(CTO)であるJacob Baines氏はZbtlink製ルーターの技術的な調査を行い、外部のコマンドサーバーへ繰り返し無許可の接続が試みられていることを確認しました。Baines氏はこの発見したコンポーネントをENDLESSDOORSと命名し、VulnCheckの完全な技術分析として文書化しました。同氏はこの機能を、Remote Control Linuxの略称であるrctlという小さなユーティリティに起因すると特定しています。このソースコードはGitHubで公開されています。rctlのリポジトリは2015年1月14日に公開され、初回リリース以降更新されていません。

rctlの仕組み

このユーティリティはクライアント・サーバー方式で動作します。サーバー側コンポーネントはポート7000で着信接続を待ち受け、個別のシェルコマンドを送信したり、クライアントに対して操作者側へのリバースBashシェルを開くよう指示したりすることができます。対象のZbtlinkデバイス上で実際にそうであるように、root権限で実行されている場合、この構成は遠隔の操作者にルーターのオペレーティングシステムへの包括的な制御権を与えることになります。

カーネルスレッドへの偽装

Baines氏は、rctlのプロセスが正規のLinuxカーネルスレッドに見えるよう偽装されていることを発見しました。実際にはこれらのプロセスはユーザー空間でroot権限を持ったまま完全に動作していましたが、一見しただけでは通常のシステムコンポーネントと見分けがつかない名前が付けられていました。この偽装は、プロセス一覧を表面的に確認しただけでは検知できないようにするためのものと考えられます。

認証も鍵交換もなし

ルーターとコマンドサーバー間の接続プロトコルには、実質的な認証手段が一切用意されていません。暗号学的なハンドシェイクも、鍵交換も、身元の相互確認も存在しません。接続を開始する際、クライアントは33バイトのデバイスクラス識別子とローカルネットワークインターフェースのMACアドレスから成る、固定長39バイトのメッセージを送信します。

この通信を傍受できる者、あるいは対象サーバーの制御を奪取できる者であれば、コマンドチャネルを傍受・操作できる可能性があります。ファームウェアが接続を試みるドメインの一つであるrbdg4nzqadui.wikaba.comは、Zbtlinkとの関連性が明確には認められません。VulnCheckは、このエンドポイントを制御している運営者であれば、接続を試みるあらゆるENDLESSDOORS搭載デバイスにコマンドを送信できる可能性があると評価しています。

研究者らは、調査対象のファームウェアイメージ全体に埋め込まれた4つの異なる外部アドレスを特定しました。そのうちZbtlink自体との関連が追跡可能だったドメインは1つのみでした。

規模:20機種以上のルーターに影響

VulnCheckの報告によれば、この不審なコンポーネントは20機種を超えるルーターのファームウェアイメージに存在していました。さらにBaines氏は、rctlが標準の初期化スクリプトを通じてシステム起動時に自動的に立ち上がる仕組みになっており、数年にわたってリリースされたイメージ全体にわたって一貫して確認されたと指摘しています。

Zbtlinkの対応

同社はこのコンポーネントが悪意ある意図によるものであるとの見方を否定し、販売後の保守作業とリモートデバッグのために専用に開発された仕組みであると説明しています。Zbtlinkの担当者は、この機能は通常テスト機のみに残されるものであり、製品出荷版には含まれないと述べています。

しかしその後、同社の公式ファームウェアダウンロードページには、セキュリティ上の問題を認める告知が表示されるようになりました。Zbtlinkは特定のソフトウェアバージョンに脆弱性が存在すると説明し、該当ファイルを一時的に削除するとともに、修正作業を進めていると発表しています。7月31日時点の同ページのアーカイブコピーにはこうした警告は一切含まれておらず、その時点ではファームウェアの全カタログがダウンロード可能な状態でした。

OEM構造の複雑さとブランドの不透明性

ZbtlinkはOEMおよびODM製造を専門としており、顧客が自社ハードウェアにカスタムソフトウェアをインストールできるサービスを提供しています。同社はこれまでOpenWrt互換性を宣伝材料として打ち出しており、独自仕様のファームウェアイメージを迅速に生成するためのツールも提供してきました。このビジネスモデルにより、Zbtlink製ハードウェアが顧客提供のファームウェアとともにサードパーティのブランド名で流通する可能性があるため、問題の実際の影響範囲を正確に評価することが難しくなっています。

研究者らは、Amazon、Alibaba、Shopify上でZbtlink、ZBT、ZBTWiFi、Wiflyerといったブランド名で販売されているデバイスを確認しました。カスタムファームウェアのビルドでは個々のコンポーネントが省略あるいは置き換えられている可能性があるため、これまでに出荷されたすべてのデバイスにENDLESSDOORSが存在するかどうかは、現時点では確認できていません。

協調的な情報開示は行われず

VulnCheckは調査結果を公表する前にZbtlinkへの通知を行いませんでした。Baines氏はこの判断について、協調的な情報開示は通常、意図せぬプログラミング上の誤りに対して適用されるものであり、今回発見されたコンポーネントは誤りには見えなかったためだと説明しています。ファームウェア自体の起動基盤を通じて立ち上がるこの機能には、意図的に設計された機能としての特徴が表れていました。

検知ルールと推奨される対応

研究者らは、関連するネットワーク接続や不審なプロセス活動の特定を支援するため、Suricata、Snort、YARA向けの検知シグネチャを公開しています。

影響を受ける可能性のあるデバイスを所有しているユーザーに対し、VulnCheckは、検証済みのクリーンなファームウェアイメージが入手できない場合はルーターそのものを交換することを推奨しています。最低限の対策として、管理者はデバイスからのアウトバウンド通信を制限し、対象デバイスが属するローカルネットワークセグメントを隔離するとともに、修正済みかつ独立検証済みのファームウェアが確認できるまでは、当該機器を信頼できないものとして扱うべきです。

翻訳元: https://meterpreter.org/endlessdoors-zbtlink-router-backdoor/

ソース: meterpreter.org