IoTセキュリティに「セキュア・バイ・デザイン」アプローチが必要な理由
英国政府は、2018年、メーカやサービスプロバイダは勿論、消費者がなぜIoTデバイスのセキュリティを無視してはならないかについて、強く提言を行う文書を発行しました。
一連の提言をまとめたレポート「セキュア・バイ・デザイン:消費者向けモノのインターネットのサイバーセキュリティ改善(Secure by Design: Improving the cyber security of consumer Internet of Things Report)」では、IoTによって得られる利点と機会を認めた上で、多くのインターネット接続デバイスは、とりわけ消費者市場において、サイバーセキュリティに対して基本的な対策すら講じていないことが報告されています。このレポートは2つの主要なリスクを指摘しています。
- 個々のデバイスの脆弱性によって、消費者のセキュリティ、プライバシー、安全が脅かされている。
- セキュリティが確保されていない大量のIoTデバイスからの大規模なサイバー攻撃が増大する脅威に、より広範な経済活動が晒される。
レポートでは、消費者を保護するには、産業界でのサイバーリスク管理のアプローチを基本的にシフトさせる必要があるとしています。デバイスを安全に設定するという負担を消費者に課すのではなく、設計によって強力なセキュリティ機能をデバイスに組み込む必要があります。
その実現にあたり、レポートは実施基準の原案を示し、デバイスメーカに対して、以下を提言しています。
〇 脆弱性の開示ポリシーを実装する
インターネット接続デバイスとサービスを提供する企業はすべて、脆弱性の開示ポリシーの一部として、セキュリティ研究者やそれ以外の人が問題を報告できるように連絡窓口を設けなければならない。開示された脆弱性については、適切なタイミングで対処する必要がある。
セキュリティの脆弱性が分かれば、企業はそれに対応することができます。また、製品のセキュリティライフサイクルの一部として、製品やサービスのセキュリティ脆弱性を継続的に監視し、それを特定して修正する必要があります。また企業は、業界の競合他社とも情報を共有することが推奨されています。
〇 ソフトウェアを最新の状態に維持する
インターネット接続デバイス内のすべてのソフトウェアコンポーネントは、安全にアップデートできるようにする必要がある。アップデートは適切なタイミングで、デバイスの機能に影響を与えないように行う。また、エンドポイントデバイスについては、end-of-lifeポリシーを公開し、そのデバイスのソフトウェアアップデートを受け取れる最低保証期間とその理由を明示するものとする。制約上、物理的に更新できないデバイスについては、隔離または交換を可能にする。
〇 認証情報とセキュリティ上重要なデータを安全に保存する
あらゆる認証情報はサービス内およびデバイス上に安全に保存しなければならない。デバイスのソフトウェアにハードコードされた認証情報は使用してはならない。
ソフトウェアでハードコードされたユーザ名やパスワードなどの認証情報は、デバイスやアプリケーションのリバースエンジニアリングを行えば簡単に見つけることができます。このハードコードされた情報を分かり難くしたり暗号化するために、単純な難読化法を使用する場合もありますが、これを破るのは難しくありません。安全に保存しなくてはならないセキュリティ上、重要なデータには、暗号鍵や初期化ベクトルがありますが、このようなデータに対しては、TEE(Trusted Execution Environment - 信頼できる実行環境)によって提供されるストレージや、それに関連付けられた信頼できる安全なストレージなど、安全で信頼性の高いストレージ機構を採用する必要があります。また、サービス内に保存する認証情報については、ベストプラクティスに従う必要があります。
〇 安全な通信を確保する
リモートでの管理や制御など、セキュリティ上重要なデータをインターネットで送る場合は、その手法の性質と用途に適した方法で暗号化する必要がある。鍵はすべて安全に管理される必要がある。
〇 攻撃に対する露出を最小限にする
すべてのデバイスとサービスは「最小権限の原則」に基づいて動作するようにする。未使用ポートは閉じておく。ハードウェアは不必要なアクセスに晒されないようにする。サービスは使用しない場合は、使用不可の状態にしておき、コードはそのサービスの実行に必要な機能のみとなるよう最小にするといった対策が必要である。ソフトウェアはセキュリティと機能の両面を考慮して、適切な権限で動作するようにする。
〇 ソフトウェアの完全性を確保する
IoTデバイス上のソフトウェアは、セキュアブートメカニズムを使って検証する。不正な変更が検出された場合、デバイスは消費者/管理者に対して警報を発して問題を通知し、その警報機能に必要なネットワーク以外は接続させないようにする。
〇 システムに障害への耐性を持たせる
IoTサービスの使用上、障害への耐性が必要な場合、またはそのサービスが依存する他のシステムに耐性が必要な場合は、サービスの運用と機能を維持できるように、IoTサービスに耐障害性を組み込まなければならない。
〇 システムテレメトリデータを監視する
IoTデバイスやサービスの使用状況や測定データなどのテレメトリデータを収集する場合は、全てのテレメトリを監視してセキュリティ異常をチェックする。
安全設計のためにルート・オブ・トラストを実装する
ここで重要なことは、デバイスにはセキュリティを最初から組み込んでおく必要があるということです。セキュア・バイ・デザインを実施したIoTデバイスであれば、信頼のサプライチェーン全体を容易に構築することができます。このアプローチの基礎となるのは、最初からデバイス内にルート・オブ・トラストを確立しておくことです。これは以下を意味します。
- 固有のプロダクトキーや他のセキュアデータを製品内部に設定する。プロダクトキーやセキュアデータは、変更不能で保護されている。
- 暗号化手段を使って確認可能な固有の製品IDを作成する(通常は認証局を起点とする証明書チェーンを使用)。
- 製品を(公開鍵や秘密鍵のチャレンジ/レスポンス交換法を使用して)認証するための変更不能な暗号化手段を持っており、製品証明書内に保持されている公開鍵を検証する。
上記は、製品の開発、製造、および製品寿命の全期間中において影響を与えるものです。たとえば、安全なマイクロコントローラ実行環境や、ソフトウェアを実行前に検証する、信頼の基点となるブートマネージャ への変更不能なブートパスにも影響します。
このような形で信頼を組み込むことにより、製品の鍵と認証構造を管理することが可能になり、開発から生産までを保護することができます。また、製品のライフサイクル全体を通じてソフトウェアアップデートを確実に行うことが可能となります。
政府がセキュリティ強化の方法を勧告する文書を発行したという事実は、サイバーセキュリティが国家的規模の重要な課題となったことを示すものです。
また、産業界に対して、セキュリティ対策の明確な必要性を示すメッセージでもあります。ハッキング事件のニュースが増えるに伴い、パブリックドメインでもこれらの問題が増大しつつあります。
その結果出現したのが、安全な半導体や素子の設計を可能にする技術だけでなく、それらのデバイスを含む製品を安全に製造する技術です。Secure Deploy技術を所持するIARシステムズなどの企業は、最高レベルのセキュリティを確保する「ゼロトラスト」(何も信用せず必ず検証を行う)アプローチによって、安全なプログラミングと安全なアップデートを確実に行える機能を提供すべく、最先端で牽引役を果たしています。