ARM: ちょっと待ってください、あなたの安っぽいIoT機器にパッチをインストールします

Table of Contents

ARM: ちょっと待ってください、あなたの安っぽいIoT機器にパッチをインストールします

ARM TechConプロセッサ設計者の ARM は、インターネットに接続された機器にセキュリティ修正プログラムを直接注入し、ハッカーからの防御を維持する予定です。

IoT(モノのインターネット)機器やその他の組み込み製品のメーカーは、現場での機器のアップデート作業があまりにも重労働だと不満を漏らしています。そのため、セキュリティバグが発見されてもデバイスにパッチが適用されることはほとんどなく、ハッカーが脆弱なハードウェアを乗っ取って人々をスパイしたり、ウェブサイトをオフラインにしたり、その他の大混乱を引き起こしたりするのを許してしまうのです。

そこでARMは、デバイスのファームウェアと安全に通信して修正プログラムや機能アップデートをインストールするSaaSプラットフォーム「mbed Cloud」を開発しました。製品メーカーは、販売したすべてのキットをリモート管理するために料金を支払います。重要なのは、アップデートのプッシュであれ、数百万台のユニットへの接続であれ、使用した分だけ料金を支払うという点です。

これは、Next Thing Co が CHIP Pro 用に構築したクラウドに似ています。インターネット経由でファームウェアを更新するための Web ベースの管理インターフェイスと、デバイスから送信されるデータの制御です。

本日発表されたmbed Cloud 1.0は、2017年第1四半期に一般提供が開始される予定です。東芝はすでにスマートファクトリーアプリケーションでこのシステムをテストしており、アドバンテックは産業用制御製品で使用しています。また、ゼブラは資産追跡およびヘルスケア機器でARMの技術を検証しています。

ARMは、数百万台ものスマートフォン、タブレット、カメラ、家電製品、携帯ゲーム機、マイクロコントローラー、組み込み機器など、バッテリー駆動のあらゆる機器の心臓部となるCPUコアを設計しています。もし、これら全てを支配するクラウドを構築できるほどの力を持つ企業があるとすれば、それは英国を拠点とするARMでしょう。

この集中型のアプローチには良い面と悪い面があります。それらを見てみましょう。

良い点

下の図を見ると、基本的な構造が分かります。左側にARMのオープンソースOS「mbed OS」を搭載したデバイスがあり、その上にアプリケーションが配置されています。中間層はARMのクラウドと安全に通信し、アップデートを配信し、データフローを管理します。これらのサービスは、デバイスの処理と制御を行う他のバックエンドシステムに接続されます。メーカーは右側の灰色の部分を制御し、ARMがホストする青いデバイスサービス部分にログインします。メーカーはソフトバンク傘下の事業部に、デバイスの管理方法とプッシュするアップデートを指示し、ソフトウェアがそれを引き継ぎます。

各レイヤーがどのように連携しているかを詳しく見てみましょう。最上層はARMのmbed Cloudで実行され、最下層は実際のデバイスです。ARMのIoTセールス担当副社長であるマイケル・ホーン氏によると、mbed CloudはAmazon AWS、Microsoft Azure、IBMのBluemixなど、あらゆるプラットフォームで実行されるバックエンドと連携でき、複数のクラウドプロバイダーを様々な理由で利用できます。例えば、ガジェットからのシステムテレメトリをあるプロバイダーに送信し、センサーデータを別のプロバイダーに送信するといったことが可能です。データの送信先を制御し、アクセスを許可するソフトウェアやサービスを制限する機能も備えています。

最下層は ARM だけでなく、あらゆるデバイスのあらゆるオペレーティングシステムで動作するように設計されているため、MIPS または x86 と Linux または何らかのリアルタイムオペレーティングシステムにこだわりたいベンダーはそうすることができます。すべての通信は、以前は PolarSSL だったオープンソースの mbed TLS ライブラリを介して自動的に暗号化されて送信されます。そして、はい、バグ報奨金プログラムがあります。mbed は、Web 上で交換されるデータをパッケージ化するために CoAP も使用します。これは HTTP よりも軽量で、ネットワークアクセスが制限されている可能性のあるバッテリー駆動のウィジェットの負荷が軽減されます。また、キャッシュ付きの OMA LWM2M をサポートしているため、センサーデータを常にベースに返す必要がなくなります。読み取り値に変化がない場合、最後の値がクラウドにキャッシュされます。

「すべては、信頼できるデバイス、信頼できる通信、そしてそれらの信頼関係を管理する能力が必要だという考えに基づいて構築されています」とホーン氏は語った。

「新しい IoT デバイスがオンラインになると、通常は製造時に注入されたキーが使用され、mbed クラウドにアクセスして、いわばホームに電話をかけ、新しい認証情報と新しいキーを取得して、デバイスとクラウドの間に安全なチャネルを確立します。

ファームウェアアップデートコンポーネントも重要な部分です。通常、ブートストラッププロセスでは新しいOSをロードしたり、OSが古くなったためにアップデートが必要になったりすることがありますが、これらはすべてシンプルで使いやすいインターフェースでシームレスに制御されます。

ホーン氏は、工場出荷時に設定されたセキュリティキーは、何らかのセキュアストレージやTrustZone Cryptocellに保存されている可能性があると付け加えました。考えられるシナリオの一つは、デバイスが公開鍵を保持し、それを使って正規のバックエンドサーバーと通信していることを確認し、そのバックエンドサーバーが対応する秘密鍵を保持しているというものです。この信頼された基盤から、デバイスは安全なチャネルと更新メカニズムを構築します。

「デバイスにセキュリティアップデートや機能強化が必要になった際に確実に実行できるよう、これらのデバイスのファームウェアをフェイルセーフかつ堅牢な方法でアップデートできる必要があります」とホーン氏は述べた。また、ARMはメッシュネットワークやその他の展開トポロジ、そしてメモリ容量が限られているデバイスや帯域幅が制限されているデバイスにアップデートを効率的に配信する方法の開発に取り組んでおり、投資も行っていると述べた。

「ARMにとって、これは少し新しい取り組みです」と、mbed CloudのSaaS(Software as a Service)アプローチについてホーン氏は認めた。「ビジネスモデルとしては、市場ではかなりよく理解されています。お客様からのフィードバックでは、ARMがデバイス管理をサービスとして提供するこのモデルに非常に満足しています。非常にモジュール化されているため、必要なものだけを利用できます。」

「当社には、メーカーがクラウド内でmbed Cloudと統合してデバイスを管理するアプリケーションを非常に簡単に開発できるようにするAPIもあります。」

mbed Cloud は、安全な通信を処理する Connect、組み込みキーを使用してバックエンドとの信頼を確立する Provision、デバイスにソフトウェア拡張機能をインストールする Update、デバイス アプリケーションを製造元のバックエンドやその他の信頼できるプロバイダーに接続する Client の 4 つのコンポーネントで構成されています。

ここまでは順調です。このアイデアは、WebブラウザやAPIからインターネット経由でデバイスにパッチや新機能を安全にプッシュするというものです。非常にシンプルなので、メーカー各社がこぞって導入を急ぐでしょう。そうすれば、ハッカーが悪用して大量のハイジャックデバイスを生み出す脆弱性がなくなります。IoTメーカーにとってパッチ配布がそれほど面倒なのであれば、mbed Cloudこそが彼らが求めているソリューションなのかもしれません。これにより、自社製品を安全で信頼できるものとして売り込むことができるのです。彼らはプロセッサコアにARMを採用しているのですから、デバイス管理にもARMを全面的に採用してみてはいかがでしょうか。

自動パッチ適用を義務付ける規制や法律が業界に押し寄せる可能性もある。そうなれば、この堅牢なアプローチは突如として魅力的に見える。中国のXiongmaiがまさにそうであったように、現場で簡単に修正できないために、大量にハッキングされたデバイスをリコールせざるを得なくなるような事態は、どのメーカーも避けたいところだ。ファームウェアの修正をクラウドからプッシュするのは、将来の問題を回避するための優れた方法のように思えるかもしれない。

Discover More