
出典:Andy Sutton(Alamy Stock Photoより)
研究者たちは、ソフトウェアの脆弱性を一切必要とせず、ファイアウォールを通じてIoT(モノのインターネット)デバイスに侵入する方法を実証しました。
通常、ハッカーはIoTデバイスに侵入する際、IPアドレスを取得し、ファームウェアの脆弱性を悪用します。これは、無知や無視、遅延、あるいは本当に対応できないなどの理由で、パッチを適時適用できない組織に対して有効です。デバイスをWebに公開せず、こまめにパッチを適用している企業は、ハッカーが侵入する手段がないと安心していられるでしょう。
しかし、そうとも限りません。ロンドンで開催されるBlack Hat Europeで、南京大学の修士課程生Jincheng Wang氏と独立系セキュリティ研究者Nik Xe氏が、IoTデバイスを乗っ取るための全く新しいモデルを提案します。彼らの概念実証(PoC)では、攻撃者は脆弱性やIPアドレスがなくても、大量のデバイスに侵入でき、イントラネット内のデバイスにも同様に有効です。
鍵となるのはクラウド管理です。デバイスとそれを管理するクラウドベンダー間の信頼関係を利用します。
IoTデバイスはどのようにクラウドに認証するのか
インターネット上で自分が自分であることをどう証明しますか?政府や金融機関のウェブサイトでは、多くの個人情報や公式な身分証明書が必要かもしれません。出会い系アプリでは生体認証による顔スキャンが求められることもあります。ソーシャルメディアのフォーラムでは、今日の日付の新聞と一緒に自撮りをするだけで済む場合もあります。
では、組織に配備されたIoTデバイス、例えばルーターがクラウドプラットフォームで管理されている場合、そのデバイスは自分自身であることをクラウドサーバーにどう証明するのでしょうか?特定の狭い機能のために設計されたデバイスには高度な認証手段がなく、IoTクラウドサーバーは他のデバイスと区別するための静的なデータ、つまりシリアル番号(SN)やMACアドレスのみで対応しています。
これがWang氏とXe氏のPoCの出発点でした。クラウドサーバーがIoTデバイスをSNやMACアドレスで認証している場合、攻撃者は番号やアドレス、そしてサーバーがそれを認証情報に変換する方法の2つの情報さえあれば、サーバーに対してデバイスになりすますことができます。
SNやMACアドレスの入手は必ずしも難しくありません。一部のメーカーはネットワークインターフェースを通じてそれらを公開しており、Wang氏は「多くのメーカーはいまだにシリアル番号やMACアドレスを機密情報として扱っていません」と指摘します。また、時にはWi-Fiアクセスポイントによって公開されることもあり、「アプリがローカルネットワーク内でデバイスをバインドする際、通常は特定のローカルサービスポートを通じてSNやMACアドレスを取得します。ほとんどのメーカーがこれらのインターフェースを制限していないため、同じエンドポイントにパブリックインターネットからもアクセスでき、誰でもデバイスの固有識別子をリモートで取得できてしまいます。」
これらの識別子は総当たり攻撃でも取得できます。SNは通常、デバイスタイプやモデルなどから導かれる標準的なパターンに従っており、最後の数文字だけが個々のデバイスに固有です。MACアドレスの半分はIEEEが割り当てたメーカーコードであり、残りの数バイトだけがデバイス固有です。
なりすましを完成させるために、攻撃者はターゲットデバイスタイプのファームウェアに保存されたクラウド通信ロジックを抽出・解析し、ベンダーが識別子を認証情報に変換する処理をリバースエンジニアリングできます。
組織にとってのリスク
固有の識別子と、それをクラウドサーバーに認証するための処理が分かれば、攻撃者はターゲットデバイスになりすましてクラウドプラットフォームにアクセスできます。
この時点で、Wang氏は「このなりすましは被害者の正規のクラウド管理チャネルと競合し、アプリやクラウドプラットフォームによるバインディング認証を回避できます。その後、なりすましチャネルを切断することで、攻撃者は正規の接続との競合をやめ、被害者の元のチャネルを復旧させることができます」と説明します。その結果、攻撃者はクラウドサービスを通じて管理コマンドを送信できるセッションを確立し、そのコマンドが実際になりすまされたデバイスに中継されます。これは、実際のデバイスがファイアウォールの内側にあっても、イントラネット内で外部Webから完全に切り離されていても成立します。
この種の攻撃を防ぐ唯一の方法は、IoTデバイスがクラウド管理サービスに認証する仕組み自体を根本的に変えることだと研究者たちは述べています。例えば、クラウド管理プラットフォームはデバイスのIPアドレスが変わった際にチェックを行い、追加認証を要求することができます。あるいは、より良い方法として、デバイス認証情報をSNやMACアドレスだけでなく、他の要素も使って生成することです。「ランダムな数値をUUIDとして生成し、この番号を[クラウド管理]アプリと紐付けることで、シリアル番号やMACアドレスのように総当たりされやすい情報の代わりにできます。この番号はランダムで、攻撃者には分かりません」とWang氏は述べています。
この攻撃モデルは新しいものですが、Wang氏は「攻撃者がクラウド経由で送信するコマンドは通常のトラフィックと区別がつきにくい。この攻撃モデルでは攻撃者の追跡が難しく、インシデントが発生すればメーカーにとって大きな評判リスクや法的リスクとなるため、問題を公表せず静かに修正する傾向があります。したがって、公に大規模な事例がないからといって、[同様の攻撃が]起きていないとは限りません」と付け加えています。
彼は「これらのクラウドチャネルは依然として広く見過ごされています。多くのデバイスに影響し、パッチも困難で、そこを通じた攻撃者や攻撃の追跡は極めて困難です」と考えています。
翻訳元: https://www.darkreading.com/cybersecurity-operations/cloud-iot-devices-takeover-firewalls