Skip to main content

脅威に満ちた世界でのエッジセキュリティ

あらゆる産業やテクノロジーの中で、モノのインターネット(IoT)ほど急成長を遂げたものはありません。2000年代初頭、IoTは、インターネット接続機能を備えたほんの一部の実験的マイクロコントローラから始まり、今では世界中で210億以上のデバイスにまで成長しました。イーサネットはデバイスのインターネット接続を可能にしましたが、IoT産業を飛躍的に成長させたのはWi-Fiでした。Wi-Fiならどこでも非常に小さいデバイスをインターネットに接続できるからです。

 

最初に登場したIoTデバイスは、無線温度計や湿度センサといった重要度が低いデバイスで、実用性はともかく、面白い試みとして受け止められました。こうしたデバイスは、一見するとリスクが低く、また使用用途が限定され、市場も極めて小さかったため、ほとんどセキュリティ対策は取られませんでした。ところが、マイクロコントローラが進歩するにつれ、シンプルだったIoT製品の可能性が広がり始め、ついに動画や音声のストリーミングに使われるまでになりました。こうしたデバイスがますます高度化しても、セキュリティ対策の遅れは深刻で、多くのIoTデバイスはパスワードを使用せず、安全性の低い接続を使用し、個人データを暗号化せずに保存する状況でした。

 

そして2022年を迎えた今、世界中の数十億というデバイスがサイバー攻撃に曝される可能性があり、ハッカーは個人情報を盗んだり、DoS攻撃を行うために、頻繁にIoTデバイスを標的にします。こうしたデバイスを強固なセキュリティで保護することが、かつてないほど重要になっています。

 

エッジコンピューティングとは?


第一世代のIoTデバイスは、機能が限定された極めてシンプルなマイクロコントローラをベースにしていたため、大量のデータ処理はリモートサーバー(クラウドコンピューティング)で行わなければなりませんでした。これはエネルギーの点では有利ですが、重大な課題もありました。データを送信してから応答があるまでに時間がかかること、そしてデータをインターネット上に流すため、個人情報を傍受される恐れがあることです。

 

しかし、エッジコンピューティングでは、大量の演算処理の一部または大部分をIoTデバイスもしくはIoTデバイス側のローカルコンピュータで行います。そのため、応答時間を短縮でき、リモートネットワークで個人データを送信する際のリスクも最小限に抑えられます。エッジコンピューティングは、データ(ビデオカメラの映像など)を前処理することもできるため、リモート接続に送信されるデータには、個人情報が隠蔽または削除されています。

 

デバイスはどのように攻撃されるのか?


エッジコンピューティングを行っても、IoTデバイスはあらゆる手口で攻撃される可能性があります。エンジニアはそうした攻撃方法を理解して、デバイスを防御しなければなりません。

 

データの脆弱性


最も重要なのは、データの3つの状態、すなわち「保存中」、「転送中」、「処理中」について理解することです。この3つのいずれの状態でも、データは攻撃される可能性がありますが、特に危険なのは、これらの状態から状態へと移行する時です。例えば、メモリに保存されているデータへのアクセス、CPUとメモリ間を転送中のデータの覗き見、サイドチャネル攻撃によるCPU内のデータへのアクセスなどが考えられます。

 

プロトコル実装の不備


プロトコル実装の不備はしばしば懸念を引き起こします。例えば、OpenSSLの理論はデータ保護に全く問題ないのですが、その実装にはHeartbleedという重大なバグがあり、バッファオーバーフロー攻撃でサーバーメモリ内の個人情報を返すことが明らかになりました。

 

危険に曝されるプログラミングポート


多くの市販デバイスには、製造工程でプログラム読み取り専用メモリをフラッシュするためのプログラミングポートが必要です。ハッカーはこのポートにアクセスして、メインマイクロコントローラへのアクセスを取得します(図1)。そしてそこからプログラムメモリをダンプして、IPを盗み、鍵を取得するのです。

 

オペレーティングシステムの不適切な使用


デバイスの中には、LinuxなどのOSを実行できる複雑なセキュリティオペレーションセンターを使用するものがあります。このため、設計者は複雑なアプリケーションを作成できますが、これらのOSはデフォルトで閉じられていないポートが公開されていた可能性があります。さらに、よく知られたルートパスワードを使用したり、不要なソフトウェアパッケージを統合し、それがバグを含んでいたり、最新の状態に保たれていない可能性もあります。

 

デバイス認証の欠如


データ保存と通信にリモートサーバーが必要なIoT設計では、IoTデバイスを認証するための証明書システムを搭載していることはほとんどありません。どんなデバイスでも認証済みIoTデバイスになりすまして、IoTサーバーにアクセスすることができます。さらに悪いことに、デバイスにマルウェアを組み込んでクローン化し、リモートサーバーを感染させることも可能です。

図1:マイクロコントローラのピンとプログラミングポートは、多くの場合、簡単にアクセスできます。

 

デバイスを保護するには?


残念ながら、攻撃経路が非常に多いため、デバイスを保護するための万能な解決策はありません。ただし、常識的な範囲でハードウェアセキュリティ対策を行えば、デバイスのセキュリティは劇的に向上します。

まず第一の防御策は、暗号化されたデータは鍵がなければ読めないため、可能な限り暗号化を行うことです。暗号化は、メモリにも、システムコンポーネント間を転送中のデータにも、インターネット経由で送信されるデータにも実行できます。第二の防御策は、実装が貧弱でない強固なセキュリティアルゴリズムとルーチン(真の乱数発生器や暗号化アルゴリズムなど)を使うことです。

もちろん、この2つの防御法では、暗号鍵をハッカーから安全に守り、アルゴリズムを変更不可能にする必要があります。幸いにも、まさにこの目的に対応するハードウェアセキュリティのコプロセッサがあります。その好例がNXPのEdgeLock SE050です。このコプロセッサは真の乱数発生器を統合し、AES、RSA、DESといった複数の暗号化アルゴリズムに対応しています。また、鍵の保管にも使用でき、トラステッドプラットフォームモジュール(TPM)機能をサポートしています(図2)。

図2:EdgeLock SE050は攻撃に対する多層的な保護を提供します。

 

 

まとめ


IoTデバイスへのサイバー攻撃が増加の一途をたどる中、強固なセキュリティ対策でデバイスを守ることがかつてないほど重要になっています。ソフトウェアによるセキュリティ対策には限界があり、ソフトウェアによる暗号化の実装を行っても、常に最新の状態に保たなければかえって災いを招きます。デバイスの保護には、NXP EdgeLock SE050のようなハードウェアセキュリティソリューションが理想的であるといえます。

 

 

 

About the Author

Robin Mitchell is an electronic engineer who has been involved in electronics since the age of 13. After completing a BEng at the University of Warwick, Robin moved into the field of online content creation developing articles, news pieces, and projects aimed at professionals and makers alike. Currently, Robin runs a small electronics business, MitchElectronics, which produces educational kits and resources.

Profile Photo of Robin Mitchell