IoT（モノのインターネット）のセキュリティは、危機的な状況が続いている。セキュリティ対策が不十分なウェブカメラや冷蔵庫などの製品が、世界中の家庭に無数に存在しているからだ。

だが、マイクロソフトリサーチ（MSR）のIoTセキュリティ研究者は、もっと大きな問題に目を向けている。シンプルなマイクロコントローラー（シングルチップで動作する小型の低消費電力コンピューター）で稼働する膨大な数のガジェットが、今後数年で次々にコネクテッドデヴァイス化し、IoT製品の数が飛躍的に増加するという問題だ。なにしろコネクテッドな電動歯ブラシまで保護することが必要になってくる。

外部攻撃に弱いIoTデヴァイス

IoTのセキュリティにとって、いまの課題は強固なセキュリティを実装するのに必要なコストだ。メーカーは、セキュリティ機能に時間とリソースをかけないほうが製品をより安く短期間で開発できる。だが、十分なセキュリティ機能のないまま急いでリリースされた製品は、多くのバグを抱えていることが多い。

しかも、パッチを適用できる仕組みが搭載されていることはめったにない。攻撃者がこのようなIoT製品に侵入すれば、データを盗み出したり隙をついてボットネットに組み込んだりできるだろう。そればかりか、その製品を足がかりにしてネットワークの別の場所に侵入することも可能だ。

本格的な機能をもつIoTデヴァイスであれば、少なくとも修正する手段はある（もっとも、そのような修正機能が適切に搭載された製品はめったにない）。だが、マイクロコントローラーで動いているような小さな周辺機器は、データを暗号化したり異常な動作を調べたりといったセキュリティ動作を実行できるほど、十分な処理能力はない。

そこでMSRは、「Project Sopris」と呼ばれるIoT向けプロジェクトを開始。マイクロコントローラーのIoTセキュリティを高めながら、コストを抑制する取り組みを進めている［編註：このプロジェクトのためにマイクロソフトは半導体メーカーのMediaTekと組んでいる］。

Project Soprisのマネージングディレクターを務めるギャレン・ハントは、「人々がコンピューターだとは思わずに使っているような製品のすべてに、何らかのマイクロコントローラーが搭載されています。そしてこのような製品が、これから5～10年の間に、互いに接続しあうコネクテッドな製品に置き代わるとわたしたちは確信しています」と言う。ミキサーやドライヤーなど、コネクテッドになるとは思えない製品がつながりあうようになるのだ。

「こうした製品のメーカーは、インターネットがもたらすセキュリティの問題に対する備えが嘆かわしいほどできていません。そこでわたしたちは、このような製品のために役立つ方法があるのか、またメーカーに（セキュリティについて）学習を進めてもらう方法があるかを考えることにしたのです」

セキュリティに必要な要素を「小さなチップ」に

Project Soprisで制作されたマイクロコントローラーのプロトタイプは、安全性の高いデヴァイスがもつ7つの特徴を備えている。つまり、セキュリティのベストプラクティスが詰め合わされているのだ。

具体的には、定期的なソフトウェア更新といったお馴染みの機能を備えており、暗号鍵はハードウェアの安全な場所に保管されている。ハントらは、「セキュリティ機能を組み込むことで、ハッカーがいまよりさらに賢くなったとしても、ユーザーが何もすることなくデヴァイスを更新してセキュリティを強化できる仕組みをもつ必要がある」という考えに基づいて、このコントローラーを開発したという。

ひとつのマイクロコントローラーに多くの要素を詰め込むには、ちっぽけなプロセッサーにさまざまなことを要求する必要がある。そのためSoprisのコントローラーには、セキュリティ用の2つ目のプロセッサーが搭載されており、このプロセッサーが暗号化処理の大半を担っている。

この特殊なプロセッサーはソフトウェアの定期的なチェックも行い、改ざんや不正な動作の有無を確認する。何か問題が見つかれば、対象のプロセスをリセットしたり、必要に応じてデヴァイス全体をリセットしたりできる。

このような仕組みは重要だ。なぜなら、ルーターやコネクテッドプリンターなど、IoTデヴァイスの多くは常に電源が入れられているのが普通だからだ。プリンターの電源を最後に入れ直したのはいつだったか、覚えている人は少ないだろう。

このため攻撃者は、デヴァイスが再起動されれば塞がれてしまう程度の侵入ポイントを利用している。その侵入ポイントがなくなっても、彼らにとってすぐに危険なことが起きるわけではないからだ。

IoTに「アプリ」の概念を導入

またSoprisのチップは、ソフトウェアを分離するという概念、すなわち「アプリ」を利用している。マイクロコントローラーは基本的な演算を実行するもので、複数の異なるプロセスを分離するようには設計されていない。あらゆる処理をひとつのプログラムとしてまとめて実行しているのだ。

だが、このことがセキュリティの問題を引き起こす。ひとつのプロセスの問題がすべてのソフトウェアに影響するからだ。ソフトウェアを分離しておくことで、特定の場所にあるバグや異常がシステム全体に波及しなくなり、個別に修正できるようになる。スマートフォンでひとつのアプリがクラッシュしても、スマートフォンそのものがシャットダウンしないのと同じようなことだ。

「セキュリティ機能は、システム設計の根幹部分に組み込む必要があります」と、Project Soprisで技術戦略責任者を務めるヴィクラム・デンディは言う。「あらゆる製品が安全だと謳われていますが、本当の意味で安全なものはないことをわたしたちは知っています。攻撃を受けたり攻撃を試みられたりすることは今後も避けられないでしょうが、その場合でも攻撃に耐え、正常な状態に戻れるように製品が保護されること。望めるベストはそういうことになるでしょう」

「さて、Project Soprisのプロトタイプをどう攻略すればいいだろうか」

ハッキングチャレンジで欠陥を探す

いまのところ、マイクロソフトのソリューションは厳しい“監査”に耐えている。セキュリティ企業のHackerOneが実施した懸賞金付きのハッキングチャレンジでは、150人のセキュリティ研究者がProject Soprisのプロトタイプをハッキングできなかった。

このチャレンジに参加したヘックス・デシマル（HexDecimal）と名乗る研究者は、「ほとんどのIoTデヴァイスはあっけないほど簡単にハッキングできますが、これはまったく違っていました」と振り返る。「（このチップは）当然ながら、最初からセキュリティ機能が組み込まれていました。特に注目すべき点があるとすれば、情報が得られないことでしょう。基板もウェブサーヴァーも固く閉ざされていて、悪用の手がかりは何ひとつ得られませんでした。わたしがようやく糸口をつかめたのは、付属のセットアップツールのひとつを逆コンパイルしてからでした。しかし、わたしは結局何も見つけることができませんでした。このチャレンジのほかの参加者たちもそうです」

しかしハントによれば、マイクロソフトのチームは侵入テストの参加者がセキュリティに欠陥を見つけ出せなかったことにがっかりしたという。欠陥が発見されるなら、実際の環境より管理された環境で見つかったほうがマシだからだ。Project Soprisでは別のセキュリティチャレンジを計画しているが、今度は攻撃範囲をもう少し拡大し、クラウドサーヴィスへの接続経路など、攻撃者が利用できる侵入経路を増やす予定だ。

また、時期は決まっていないが将来的には、Soprisチップの全回路図を公開したいと考えているようだ。このようなセキュリティの強固な製品を無償で提供すれば、あらゆるIoT製品のセキュリティを低コストで強化する試みにかなりの影響を与えるだろう。

セキュリティを意識しなくていい世界

いまのところ、Soprisのチップは大量生産されていないが、これまでの取り組みから考えればおそらく可能だとハントは考えている。大量生産が実現すれば、安全性の高いマイクロコントローラーを、通常の製品と同じくらい安価に生産できるようになる。

これは、普及を図るうえできわめて重要なステップだ。IoTセキュリティを強化する取り組みが失敗する理由の多くは、セキュリティを無視するほうがコストがはるかに安くなるからである。

実際、このことは消費者にも当てはまる。スマートフォンやノートパソコンを常に最新で安全な状態に保つのは難しい。インターネットに接続していることさえ知らない製品では、なおさらだろう。

Project Soprisがもたらす可能性のある最も大きなメリットは、ユーザーがセキュリティをまったく意識しなくて済むようになることにある。セキュリティについて考える必要が一切なくなるのだ。