TLDR
DJIのロボット掃除機に関する最近のセキュリティインシデントは、集中型クラウド制御プレーン内の単一の認証上の弱点が、いかに世界中の数千台のデバイスを危険にさらし得るかを明らかにしました。問題は単に認証情報の設定ミスだけではありませんでした。それはアーキテクチャそのものに起因していました。リモートアクセスが集中型のブローカー、公開到達可能なAPI、そして広範なスコープを持つトークンに依存している場合、小さな不具合がシステム全体のリスクへと拡大してしまいます。remote.itのようなゼロトラスト・サービスレベルの接続モデルは、公開露出を排除し、アイデンティティを個々のサービスに直接紐づけ、設計上、横方向への侵入拡大を不可能にします。
1つの認証情報が数千台のデバイスを危険にさらす
あるセキュリティ研究者が最近、DJIのロボット掃除機のリモートアクセスアーキテクチャに、数千台のデバイスへのアクセスを可能にする欠陥を発見しました。The Vergeの報道によると、集中型クラウドインフラストラクチャ内の脆弱な認証制御により、大規模なデバイステレメトリとカメラ映像への可視性が生じていました。
一見すると、この話はまた別の家庭用IoTセキュリティの失態のように読めます。コネクテッドホームデバイスは長らく、脆弱な認証情報管理と一貫性のないクラウドセキュリティ対策に悩まされてきました。しかし今回のインシデントは、コンシューマー向けロボティクスをはるかに超えて広がる、より根深い問題を浮き彫りにしています。それは多くのIoT、産業用、エッジアーキテクチャに共通する構造的な弱点、すなわち「集中型信頼」の問題です。
この掃除機はクラウドベースの制御プレーンを介して通信していました。デバイスは中央サービスへのアウトバウンド接続を確立し、そのサービスがコマンド、テレメトリ、ユーザー認証を仲介していました。このパターンは展開が容易になるため広く採用されています。デバイスはインバウンドのファイアウォールルールを必要としません。運用者は集中的な可視性を得られます。ユーザーは単一のインターフェースを通じて操作できます。
その共有インフラストラクチャ内の認証制御が不十分であることが判明したとき、欠陥が露呈しました。単一の認証経路が制御レイヤーへのアクセスを開いてしまったのです。一度認証されると、その研究者は大規模なデバイス群にわたるデータへアクセスできました。この問題は単一のエンドポイントに限定されるものではありませんでした。アーキテクチャ自体が集中型であったため、水平方向に拡大したのです。

集中型クラウド制御プレーンに潜む隠れたリスク
集中型の制御プレーンは、本質的に増幅効果をもたらします。アイデンティティと認可が共有のクラウドブローカーやAPIレイヤーで強制されている場合、そのレイヤーが侵害されると、接続されているすべてのエンドポイントに影響が及びます。
多くのIoTシステムは、しばしばMQTTベースのメッセージングブローカーに依存しており、これがデバイス間の通信を集約します。これらのブローカーは、ユーザーとデバイスの間でコマンドとテレメトリをルーティングします。認証トークンやアカウント権限のスコープが広すぎる場合、デバイス間の分離は崩壊します。
このような環境では、セグメンテーションは完全にアプリケーションロジックに依存します。そのロジックが破綻すれば、システムはクラウドという見せかけの背後でフラットなネットワークのように振る舞います。ブローカーレイヤーへの侵入に成功した攻撃者は、デバイスを列挙したり、テレメトリストリームを購読したり、複数のアカウントにまたがってコマンドを発行したりすることが可能になります。
DJIのインシデントは、この「デバイスの海」問題を如実に示しています。集中型システムの内部に一度入ってしまえば、デバイスレベルの分離は不十分であることが判明しました。信頼境界が誤ったレイヤーに存在していたため、被害範囲は数千台のデバイスにまで拡大しました。
このパターンはコンシューマー向けIoTに限った話ではありません。企業もエッジサーバー、産業用ロボティクス、小売インフラ、リモート拠点システムに同様のアーキテクチャを展開しています。制御プレーンのブランドは異なるかもしれませんが、アーキテクチャモデルは同じです。すなわち、デバイスはリモートアクセスを仲介する共有サービスへ上流方向に接続します。
そのサービスが脆弱になれば、フリート全体がその脆弱性を引き継ぐことになります。
公開到達可能性と拡大する攻撃対象領域
デバイスがアウトバウンド接続のみを開始する場合であっても、集中型アーキテクチャはAPI、認証エンドポイント、あるいはブローカーインターフェースをパブリックインターネットに露出させていることがしばしばあります。これらの表面は、クレデンシャルスタッフィング、列挙攻撃、トークンリプレイ攻撃の標的となります。
インバウンドのデバイスポートが存在しないことは、露出を排除することを意味しません。それは露出をクラウド層へと移すだけです。
DJIの事例では、この脆弱性の悪用に物理的な近接性やファームウェアの攻略は必要ありませんでした。必要だったのは、到達可能で適切に保護されていなかった集中型インフラストラクチャとのやり取りだけでした。攻撃対象領域は、制御プレーンが共有の、インターネットに面した存在として存在していたことによって生じていたのです。
補足: noBGPを使用すると、集中型クラウドおよびデータセンター環境において内部トラフィックを分離することができます。noBGPは、物理ネットワークと論理ネットワーク(VLANではありません)の両方にまたがることができる、セキュアな仮想ネットワークを構築します。
フリートが拡大するにつれて、この攻撃対象領域はますます魅力的なものになっていきます。1つの制御レイヤーを侵害した攻撃者は、数千のエンドポイントに対するてこの力を手にすることになります。
ネットワークレベルの信頼がスケールで破綻する理由
従来のリモートアクセスソリューションは、しばしばネットワークレベルの信頼に依存しています。VPNゲートウェイ、ポートフォワーディング、サブネットベースのアクセス制御は、いったん認証されたユーザーに対してネットワークセグメント全体への隣接性を付与します。
このモデルは、境界が防御可能であり、認証済みユーザーは正しく振る舞うという前提に立っています。しかし実際には、認証情報は漏洩し、トークンは誤って期限切れになり、設定ミスも発生します。
ネットワークレベルの信頼がリモート接続の基盤となっている場合、侵害が起きるとまず広範な到達性が付与されます。認可のチェックは、隣接性が既に存在した後に行われます。横方向への侵入拡大が現実的なリスクとなります。
DJIのインシデントは、これと関連する破綻のパターンを示しています。VPNの代わりに、信頼境界は集中型クラウドサービスに存在していました。認証が成功した時点で、分離制御は不十分であることが判明しました。その結果は、セグメンテーションが不十分なフラットネットワークと同様のものになりました。
現代の分散システムは、オンプレミスであれクラウドであれ、フラットな信頼モデルを許容する余裕はありません。
サービスレベル・ゼロトラストという代替案
ゼロトラストアーキテクチャは、信頼境界を再定義します。ユーザーがネットワークにアクセスしてよいかを問うのではなく、特定のアイデンティティが特定のサービスにアクセスしてよいかを問います。暗黙の隣接性もサブネットレベルの権限も存在しません。
remote.itはこのサービスレベルのアプローチを実装しています。デバイスはアウトバウンドの暗号化接続を確立しますが、パブリックIPアドレスやオープンポートを公開することはありません。サービスはNAT、セルラーネットワーク、あるいはプライベートアドレッシングスキームの背後に隠されたままです。スキャンできるインターネット上に可視のエンドポイントは存在しません。
各サービスは独立して登録され、固有のアイデンティティに紐づけられます。アクセスポリシーはそのサービスに直接付与されます。認証情報は、フリート全体やサブネット全体ではなく、明示的に認可されたエンドポイントに対してのみアクセスを許可します。
このアーキテクチャ上の違いは、何か問題が起きたときに重要な意味を持ちます。認証情報が悪用された場合でも、被害範囲はその認証が許可されていたサービスに限定されたままです。列挙可能な共有ブローカーの名前空間も、たどることのできる集中型デバイスプールも存在しません。
実質的に、攻撃対象領域はゼロに近づきます。なぜなら、外部から到達可能で攻撃できるものが何も存在しないからです。
IoTと産業用システムへの教訓の適用
DJI掃除機の話が注目を集めたのは、それが家庭内のカメラ映像に関わるものだったからです。同じアーキテクチャ上の弱点は、その影響がはるかに深刻な産業用・企業向け環境にも存在しています。
製造施設は5Gや衛星回線を通じてロボットシステムを接続しています。エネルギー事業者は広範な地理的範囲にわたってリモート資産を管理しています。小売チェーンはあらゆる拠点にエッジコンピューティングノードを展開しています。こうした環境の多くは、依然としてVPNコンセントレーター、パブリッククラウドのブローカー、あるいはポートフォワーディングされたサービスに依存しています。
こうした文脈で集中型認証レイヤーが破綻した場合、その影響はデータの露出にとどまらず、業務の中断にまで及ぶ可能性があります。
公開露出を排除し、サブネットレベルの信頼をなくすことで、サービスレベルの接続モデルはこうしたシステム全体への波及を防ぎます。デバイスはインターネットから見えないままです。接続には明示的なアイデンティティ検証が必要です。探索できるアンビエントなネットワークは存在しません。
このモデルは、現代のシステムが実際にどのように動作しているかとセキュリティを整合させます。ワークロードは分散しています。ネットワークは予測不能です。アイデンティティこそが、主要な実施メカニズムとならなければなりません。
複雑さを減らしながらセキュリティを高める
セキュリティの改善は、しばしば運用上の負担を伴います。複雑な証明書管理、ファイアウォールルール、VPN設定は、エンジニアリングチームに摩擦をもたらします。
隠蔽型の接続モデルは、こうした運用タスクを簡素化します。デバイスはアウトバウンド接続を開始します。インバウンドのファイアウォールルールは不要です。プロビジョニングや管理が必要なパブリックIPアドレスもありません。サービス登録が接続性を定義し、アイデンティティが認可を定義します。
手動でのネットワーク設定作業をなくすことで、組織は設定ミスのリスクを低減できます。可動部分が少なくなれば、見落としによる露出の機会も減ります。
対照的に、集中型クラウドアーキテクチャは、ブローカーの権限、APIスコープ、ネットワークセキュリティグループの入念な調整を頻繁に必要とします。それぞれの設定面が、新たな弱点となり得るのです。
限定された被害範囲を前提とした設計
DJIのインシデントから得られる最も重要な教訓は、アーキテクチャ上の謙虚さです。システムは、認証情報がいずれ漏洩し、ソフトウェアがいずれ欠陥を含むことを前提とすべきです。唯一信頼できる緩和策は、設計によって被害範囲を限定することです。
集中型クラウドが仲介するリモートアクセスは、リスクを集中させます。制御プレーンでの障害はグローバルに拡大します。サービスレベルのゼロトラスト接続は、信頼を分散させ、露出を限定します。
リモートアクセスアーキテクチャがパブリックIPの到達可能性を排除し、サブネットレベルの信頼を取り除き、アイデンティティを個々のサービスに直接紐づけるとき、小さなミスは小さなミスのままにとどまります。
コンシューマー向けIoT業界は、しばしば注目度の高い情報開示の後になって、こうした教訓を学びます。企業や産業用システムの運用者には、それを先んじて適用する機会があります。
露出したデバイスに関する次の見出しは、暗号化の強度によって決まるものではありません。それは、アーキテクチャが障害を増幅させたのか、それとも限定したのかによって決まるでしょう。サービスが不可視であり、接続が明示的であり、信頼が細やかに管理されているシステムを設計することで、1つの認証情報が世界を危険にさらすことは決してなくなるのです。