アプリケーションのセキュリティへの簡単でストレートなパス
IoTの普及に伴い、今後10年間で数十億のクラウド接続製品が設計、製造、展開されると予想されています。ハッキングや盗難が発生しやすい製品は誰も望まないため、セキュリティはこれまで以上に重要になっています。
高品質のコードを確実に作成することは、最終製品の安全性を確保する上で必須のステップです。
そして、コード解析ツールを開発プロセスの一部として統合的に使用することは、重要なステップです。製品の品質はソースコードの品質に依存します。さらに、開発、製造、更新のフローのすべての側面が連携して製品のセキュリティを確保できるように、初期段階からからセキュリティを確保する必要があります。すべての企業は、投資を保護したいと考えています。これは、ソフトウェアの設計とエンジニアリングに費やされたすべての努力が、数か月または数年の開発努力になった時に保護される必要があることを意味します。私たちは会社の中核と価値観について話しています。
法規制とコード・オブ・プラクティス
政府機関は、セキュアではない IoT 製品がもたらす脅威を認識するようになってきています。歴史的に、IoT製品には通常、十分なセキュリティが含まれていなかったため、業界は自己規制能力の欠如を認識しており、法律の導入が推進されています。世界的に、当局の目標は、IoT製品を製造する企業が実装し、サイバー犯罪者からエンドユーザーを保護するための新しいベースラインセキュリティ標準を作成することです。
そのため、政府や業界団体は、新しいIoT製品を作成する際に企業が何をすべきかを支援するためのコード・オブ・プラクティスやその他のアドバイスを積極的に発表しています。例えば、英国のデジタル・文化・メディア・スポーツ省(Department for Digital, Culture Media and Sport)が発行した「Code Of Practice for Consumer IoT Security」1 は、民生 IoT セキュリティのための 13 のガイドラインを提供しており、世界中で策定されている多くの法律の基礎として使用されています。
もう1つの例は、IoT Security Foundation(IoTSF)によってリリースされた「Consumer IoT Security Quick Guides」2 です。これらのガイドは、民生品のIoTセキュリティに関する様々な新しい国際基準、規制、および各国のガイダンスについて、グローバルな組織がよりよく理解し、遵守することを支援することを目的としています。
しかし、もはや「強力で効果的な」法律が制定される段階ではありません。それはすでに以下の地域で既に制定されていますいます。:米国のカリフォルニア州とオレゴン州、そしてEUと英国、多くのAPAC諸国はそれほど遅れていません。
「CEOの75%が2024年までにサイバーフィジカルセキュリティインシデントに対して個人的に責任を負う」というGartnerの最近の予測 3 は、多くの企業が自社のIoT製品に迅速に導入する必要があるセキュリティのレベルにさらに焦点を当てるのに役立つと思われます。
IP盗難が大きな懸念事項
そこで、ガイドラインや法律から一歩引いて、IoT製品のセキュリティレベルを向上させたいと考える他にもいくつかの重要な推進要因があります。2019年9月に、セキュリティに関する最大の懸念事項をお客様に尋ねました。お客様の声は次のとおりです。:
Figure 1: What is your number 1 security concern?
この中には、明らかに法律上の要件を満たすことが含まれています。しかし、お客様の最大の懸念事項は知的財産権(IP)の盗難であり、次にデバイスのハッキングとマルウェアのインストールが続いています。知的財産権の盗難をもう少し考えてみると、典型的なIoT製品の製造コストの大部分は、デバイスの機能を駆動するソフトウェアの設計、製造、テストに投資することになります。
したがって、製品にセキュリティを追加する際に重要なのは、何らかの形の「IP保護」を含めることです。これにより、ハッカーや競合他社による不正アクセスからソフトウェアを保護し、製造中やデバイスが現場に設置された後にソフトウェアが盗まれるのを防ぐことができます。例えば、競合他社があなたのソフトウェアをリバースエンジニアリングしようとしている場合など、あなたのIPが盗まれる理由はたくさんあります。また、不正な製造業者が貴社の IoT 製品のクローンをグレーマーケット向けに製造している場合もあります。
いつセキュリティを追加すべきか?
典型的な製造業への開発フローを考えてみると、次のようになります:
Figure 2: A traditional software development flow
理論的には、ソフトウェアをリリースしてデバイスを製造する直前に、ソースコードレベルでのコード解析とテストサイクルで、開発の最後にセキュリティを「ボルトオン」として残すことができます。しかし、このアプローチは良いアイデアではありません。多くの場合、フィールドに展開されるシステムのテストを行わないことになり、製品がリリースされた後に悪用される可能性のあるセキュリティホールが残される可能性が高くなります。
製品に組み込まれたセキュリティ
プロジェクトの初期段階からセキュリティを導入して、製品に組み込むことをお勧めします。理想的には、開発ツールとそのワークフローにセキュリティが完全に統合されていることが望ましいです。つまり、製品にすでに統合されているセキュリティ対策を使用して開発とテストを行うことができ、製品がエンドユーザーに届いた後のリスクを大幅に軽減できます。
セキュアなIoT製品の基本は、Root of Trust(RoT)の実装です。これは一般的に、信頼できるソフトウェア、ハードウェア、データの最小限のセットです。ハードウェア側では、使用される MCU は、デバッグを無効にする機能(製造時)、メモリをロックする機能、ユニークな ID を提供する機能を持っている必要があります。ソフトウェア側では、セキュアブートマネージャは、基礎となるMCUのハードウェア機能に基づいて構築され、デバイスの信頼の堅牢なルートを提供し、ブートプロセス全体を保護し、悪意のあるソフトウェアの注入からデバイスを保護し、セキュアなアップデートメカニズムを有効にして保護します。
公開鍵基盤(PKI)鍵や証明書などのセキュリティデータを追加することで、各デバイスにプロビジョニングすべきセキュリティコンテキストプロファイルをMCUシステムに提供します。これはすべて、対象となるMCUデバイスの機能に関する知識を使ってセキュリティコンテキストの要素を作成して構成することができる開発ツールを使用することで、簡単に行うことができます。
MCUにセキュリティコンテキストのプロビジョニングが行われると、メイン開発チームはメインのユーザーアプリケーションから信頼性の高い高品質なコードの開発に取り掛かることができます。もしセキュリティの知識が使用されている開発ツールに組み込まれているのであれば、この開発作業を行うエンジニアが従うワークフローは、主にセキュリティのないシステムに従うものとほとんど変わらないはずです。これは、開発とテストのタイムスケールが影響を受けないようにするのに役立つはずです。
Figure 3: Software development flow with security
将来のプルーフコードの開発とテストの完了後は、最終製品のセキュリティコンテキストと暗号化されたアプリケーショ ンは、セキュアなプログラミング設備に納品するか、あるいは小ロットの実行の場合はセキュアなデスクトッププログラミングシステムを使用する必要があります。ただし、ここでも使用されているツールと設備が、IoT 製品をセキュアに保つための鍵となります。
まとめ
接続されたデバイスのセキュリティはこれまで以上に重要です。脅威は現実のものであり、攻撃、偽造、クローニングのインシデントが増加しており、政府は法律やポリシーに関与するようになってきています。その影響は、準備が整っていない企業は打撃を受ける可能性があります。
コーディング標準の使用と組み合わせた高品質のコード分析ツールは、安全なコーディングプラクティスを促進するように設計されています。コード品質に基づいて構築することにより、コードベースの暗号化や製造制限の設定などの利用可能なセキュリティ対策により、セキュリティ法の遵守はさておき、製造時の偽造やクローニングのリスクが大幅に軽減されます。 IoTセキュリティは、ストレートでスケーラブルで持続可能なものである必要があり、開発プロセスの後半にセキュリティを追加してもうまくいくことはほとんどないため、セキュリティは初期段階から統合されている必要があります。