通信
インターフェイスやプロトコルへの攻撃は、多層的です。ですから、データセキュリティを含む、クラウドとの通信自体のセキュリティと、HTTPなどの1つまたは複数のプロトコルによるデバイスへのアクセスセキュリティについて考える必要があります。
TLS(トランスポート・レイヤー・セキュリティ)は、デバイスのすべての通信を保護します。この暗号化プロトコルには、通信相手を確認するための認証と、傍受攻撃を防ぐためのデータの暗号化が含まれています。インターネットのような公共ネットワークを利用してリモートクラウドと通信するエッジデバイスに最適です。
データがIPネットワークを介して送信される速度を考えると、認証やデータの暗号化・復号化を効率的に管理するには、ハードウェア・アクセラレーションが必須になります。テキサス・インスツルメンツ社の「EK-TM4C129EXL」のようにハードウェア暗号化アクセラレーションに対応したプロセッサには、TLS用のオンチップ暗号アクセラレーションが搭載されており、リモートシステムとの安全な通信を確保します。
また、ケルベロス認証などのプロトコルを使用することによって、クライアントとサーバ間の身元確認を行うことができます。ケルベロス認証は、共通鍵暗号または公開鍵暗号を用いており、どちらも暗号化エンジンを搭載したプロセッサを使用して高速化することができます。
プロトコルポート
ネットワークインターフェイスで使用されるプロトコルポートは、インターネットに接続されたデバイスの最大の攻撃ベクトルの1つになります。これらのポートによって、デバイスへのプロトコルアクセスが公開されるので(例えば、ウェブインターフェイスは、通常80番ポートを使って公開されます)、攻撃者には、どのようなエクスプロイトが利用できるのか情報を提供することになります。
プロトコルポートを保護する最も簡単な方法の1つは、ファイアウォールです。ファイアウォールは、ポートへのアクセス制限を設定してポートを保護できるデバイス上のアプリケーションです。例えば、ファイアウォールでは、事前定義された信頼できるホスト以外は、特定のポートへのアクセスを禁止するルールを設定できます。これにより、ポートへのアクセスが制限されるので、バッファオーバーフローなどのようなプロトコルエクスプロイトを利用したよくある攻撃を防ぐことができます。
ファームウェアアップデート
エッジデバイスは、ますます複雑になり、機械学習など、旧世代のデバイスよりも高度な機能を実行するようになりました。このような複雑化に伴い、問題を修正して、デバイスにアップデートをリリースする必要があります。ただし、このファームウェアの更新プロセスが、新たな攻撃ベクトルを生み出すことになります。エッジセキュリティプランにおいてファームウェアアップデートのセキュリティ対策を行うことで、攻撃者によるリスクを軽減できます。
悪意のあるコードのデバイスへの侵入を防ぐための一般的なセキュリティ手法にコード署名があります。これは、ファームウェアイメージを暗号ハッシュでデジタル署名するもので、ファームウェア更新プロセスの前にデバイスで使用することで、コードが本物であり、署名プロセス以降にデータが改ざんされていないことを証明します。
また、コード署名を起動時に使用して、ローカルストレージデバイスのファームウェアが改ざんされていないかを確認することもできます。これは、デバイスの更新プロセスで悪用されたイメージでデバイスが更新されることと、ローカルストレージデバイスに不正に挿入されたイメージからデバイスを守ることの2つの攻撃ベクトルに対応することができます。
デバイスで使用するプロセッサは、ハッシュ生成および確認用の安全な暗号エンジンが実装されているものが、特に有用です。その一例がマイクロチップ社の 「CEC1302」で、このプロセッサには、暗号化AES(高度暗号化標準)とハッシュエンジンが内蔵されています。
また、TPM(トラステッドプラットフォームモジュール)を使用するのも有効です。TPMは、セキュリティ機能を提供するセキュアな暗号プロセッサで、通常、ハッシュ生成、キーストレージ、ハッシュおよび暗号化アクセラレーションなど、さまざまな機能を備えています。マイクロチップ社の「AT97SC3205T」がその一例で、8ビットのマイクロコントローラの中にTPMを搭載しています。
物理的セキュリティ対策
耐タンパー性能を設計に盛り込むことで、デバイスが物理的に開けられたり、何らかの形でセキュリティが侵害された場合、それを検知することができます。また、可能な限り外部信号を小さくすることで、攻撃者が手に入れたデバイスを監視しても、エクスプロイトが見つけにくくなります。攻撃者はバス信号を監視して、セキュリティ情報を取得しようとしたり、極端なケースでは、デバイスに温度変化を与えたり、クロック信号を変化させたり、さらには放射線を使ってエラーを誘発することもあります。デバイスについて知るために、その気になれば攻撃者が取るかもしれない手口について理解しておくことは、より安全な製品を作る上で極めて重要です。
さらに詳しく知るには
サイバー戦争が熾烈化する今日、諸々の目的から個人も国家もデバイスを悪用しようと狙っており、エッジセキュリティでは厳しい戦いが続いています。しかし、最新のセキュリティ手法を実装し、製品開発の初期段階からセキュリティを考慮に入れておくことは、デバイスの安全性の確保に大いに役立ちます。デバイスの攻撃対象領域を早期に分析しておくことによって、より安全なデバイスを開発するにはどの点に注意するべきなのかが明らかになるはずです。さらに詳しくは、マウザーのセキュリティに関するブログをご覧になることをお勧めします。
著者
M・ティム・ジョーンズ
組み込みファームウェアアーキテクトとして30年以上のアーキテクチャ開発実績を持つ。ソフトウェア・ファームウェア開発関連の著書数冊、執筆記事多数。エンジニアとしての実績は、地球周回軌道宇宙船のカーネル開発から組込みシステムアーキテクチャ・プロトコル開発まで多岐にわたる。
0 件のコメント:
コメントを投稿