ソフトウェア技術により、開発者はますます巧妙化するハッキングからIoTデバイスを保護できるようになりました。しかし、脆弱性は依然として残っています。現在、チップメーカーはMCUハードウェア保護機能を組み込むことで、これらの課題に取り組んでいます。
(出典:sizsus / stock.adobe.com; AIで生成)
近年のセキュリティ強化にもかかわらず、モノのインターネット(IoT)に接続されたデバイスは、依然として多くのネットワークにおける弱点があり、比較的強固なセキュリティで保護されているコンピュータにバックドアを提供しています。IoTデバイスがもたらす「攻撃対象領域」の規模は、4つの要因によって4倍に膨れ上がる可能性があります。接続デバイスの数が非常に多いこと、保護リソースが比較的限られていること、セキュリティ問題を解決するためのソフトウェアパッチが頻繁に適用されないこと、強力なパスワードや暗号化キーなどの安全機能への配慮が不十分であることなどが要因です。
悪意のあるユーザーは、IoT デバイスを乗っ取り、ボットネットとして利用し、分散型サービス拒否(DDoS)攻撃などの活動によりインターネット全体に混乱をもたらしたり、サイバーセキュリティの弱点から企業のシステムに侵入し、機密情報などのデータにアクセスしたりすることが可能です。
ソフトウェア(通常はパスワード、暗号化、認証などの形態をとります)は、ボットネット攻撃やネットワーク侵害からIoTデバイスを保護する上で、ますます重要な役割を果たすようになっています。しかし、ソフトウェアのセキュリティを保護し続けるためには、熟練したプログラマーと定期的なメンテナンスが必要であり、多くの企業が人材不足に直面しています。しかし、急速に信頼性を高めている代替策は、新しいマイクロコントローラユニット(MCU)のハードウェア機能を使用して、セキュリティを一から設計するというものです。この機能は、セキュリティを重視するチップベンダーが提供しています。この新しいアプローチがIoTデバイスのセキュリティをどのように強化しているか、さらに詳しく見ていきましょう。
2016年にマルウェア「Mirai」がIoT機器をスキャンし、ARCプロセッサを使用するデバイスを検出するようになったことがあり、IoTが大規模DDoS攻撃に使用された最も深刻な例として知られています。これらのプロセッサは通常、Linuxオペレーティングシステム(OS)の簡易版を実行し、デフォルトのユーザー名とパスワードの組み合わせが変更されていない場合、Miraiがログインしてデバイスに侵入します。約10万台の乗っ取られたIoTデバイスを使用して、Miraiボットネットは大量のDDoS攻撃により、ドメイン登録サービスプロバイダーのDynをダウンさせました。
Miraiの加害者は起訴されましたが、ソースコードが野に放たれ、現在も複数の変異型が生き続けています。そして、それだけではありません。例えば、その名も「Reaper(死神)」と呼ばれるものは、Miraiの亜種よりも多くのプロセッサを標的にすることができ、ボットの制御もはるかに優れています。
IoTチップメーカーは、安心しきっている余裕はなく、ハッカーとの戦いにおいて主導権を握り、設計・開発プロセスの基本的な部分にセキュリティを組み込むことで、顧客にセキュリティに対する根本的なアプローチを取るよう促しています。これによりプロジェクトスケジュールにコストと時間が追加されますが、セキュリティ侵害に伴う金銭的損害と比較すれば、これは有益な出費です。セキュリティ上の課題に取り組む業界パートナーシップであるPlatform Security Architecture (PSA) Certifiedによると、IoTデバイスの攻撃が成功した場合の平均コストは33万ドル以上であると報告されています[1]。また、評判の低下による金銭的損害は考慮されていません。
PSA認証は、チップ業界に対してMCUに高度なセキュリティ機能を提供することを奨励するだけでなく、その枠組みを通じて独立したIoTセキュリティ認証の取得も求めています。これにより、顧客は選択した半導体によって提供される保護を評価するためのベンチマークを持つことができます。
MCUの保護は、チップがシリコンメーカーまたは信頼できるサードパーティからのソフトウェアのみを実行できるようにすることから始まります。これは、ファームウェアを実行する前に暗号化による検証を行う「セキュアブート」を使用することで実現されます。その後、ファームウェアは、続いてアップロードされるソフトウェアも本物であることを確認します。
また、首尾よく保護されているMCUには、アンチロールバックメカニズムも搭載が必要です。これは、認証済みではあるものの、1つあるいは複数のセキュリティ上の欠陥にさらされるかもしれない、つまりハッカーに付け入られる可能性がある古いファームウェアでのアップデートを阻止するものです。アンチロールバックメカニズムの効果的な機能のひとつに、インクリメンタルカウンタの機能を利用できます。安全なストレージにて、受け入れ可能なファームウェアの最も古いバージョンを表します。
セキュリティ設計におけるもう一つのベストプラクティスは、メモリ管理ユニット(MMU)またはメモリ保護ユニット(MPU)のいずれかを備えたMCUを選択することです。MMUは現在、一部のハイエンドIoT MCUでのみ利用可能です。MMUは、プログラムによって生成された仮想アドレスをコンピュータのメモリの物理アドレスに変換し、ソフトウェアが保護されたメモリにアクセスできないようにすることでメモリセキュリティを強化し、あるプロセスが別のプロセスに干渉できないようにします。一方、MPUはより一般的であり、異なる権限状態に対するアクセス許可を定義することでメモリ領域を保護します。MPUは、アクセス違反が検出された際にフォールト例外をフェッチし、トリガーします。
セキュリティをさらに強化するために、暗号化メモリは、MMUまたはMPUによって提供される保護を上回る保護を提供します。悪意のある行為者がユーザーデータや認証情報を抽出する難易度を上げることで、保護を強化します。 暗号化キーは各チップごとに固有であるべきであり、1つのチップが破られても他のチップに影響が及ばないようにすべきです。暗号化キーの作成と保存方法には十分注意してください。
MCUは暗号鍵の生成に使用できますが、注意が必要です。暗号化のソースは通常、ランダム・ナンバー・ジェネレーター(RNG)から生成されます。以前は、開発者が疑似乱数生成器(PRNG)の「種」として現在の日付や時刻を使用することが一般的でした。問題は、PRNGは予測不可能ではなく、その生成パターンがハッカーに悪用される可能性があることです。
PRNGの潜在的な弱点を克服するために、MCUメーカーは、熱雑音やオーディオノイズ、リング発振器によって生成されたジッターに基づくエントロピー源を使用したハードウェア乱数生成器(HWRNG)の実装を開始しました。その結果、ハッキングがほぼ不可能な暗号化キーとして使用できる真のRNGが得られます。HWRNGの実装を認証しているチップベンダーを探すのが最善です。これは、PSA認証などの標準規格に製品を認証してもらいたい場合に役立ちます。
セキュアブート、セキュアファームウェアアップデート、メモリ保護、暗号化メモリは、MCUのソフトウェアアーキテクチャに対する開発者とユーザーの信頼を支える信頼の基点(RoT)を形成します。
RoTを確立することで、MCUの活動に信頼性の高いソフトウェア基盤を提供することができます。ハッカーにとっては厄介なことですが、彼らが諦めるというわけではありません。セキュアなソフトウェアによってMCUがボットネットに強制的に組み込まれることを防ぐことはできるかもしれませんが、そのデータや、その一部を構成するネットワーク内のデータにアクセスするためにハックされる可能性は依然として残ります。
このようなハッキングに対する主な保護策は、セキュアな処理環境(SPE)です。これにより、MCUの一部または全部を外部から隔離します。接続性がなければ、悪意のあるユーザーは侵入できません。また、追加のセキュリティ対策として、SPEに保存されたデータを暗号化することも推奨されます。
さらに、このチップは、リスクの低い演算処理や日常的なデータの保存を行う非セキュアな処理環境(NSPE)を利用する可能性が高いでしょう。NSPEの利点は、待ち時間が短く、消費電力が少ないことです。MCUに複数のコアがある場合、1つまたは複数のコアをSPEとして使用し、残りのコアをNSPEに割り当てることができます。MCUがシングルコアのみの場合は、ArmのTrustZoneなどの技術を使用してプロセッサの一部をSPEとして専用化することができます。
SPEとNSPEは互いに隔離されており、直接通信することはありません。代わりに、どちらもRAMやプロセス間通信などの共有リソースを使用します。そのため、万が一NSPEがハッキングされたとしても、そこからSPEにアクセスする方法はありません。
また、RoTが侵害される別のシナリオとして、フォールトインジェクション攻撃があります。電圧やクロックのグリッチを繰り返すことで、攻撃者はMCUにセキュアブート認証などの重要な命令をスキップさせ、その保護機能を侵害することができます。この種の攻撃は、ハッカーがMCUに物理的にアクセスする必要があるため、リモート攻撃と比較すると実行が困難です。しかし、IoTデバイスに格納されたデータが高価値である場合、この種の攻撃はこれまでにも何度も試みられてきました。
IoTのセキュリティ脅威が進化するにつれ、それに対抗するための複雑性により、MCUメーカーは設計技術の向上を余儀なくされました。現在では、専用保護ハードウェアコンポーネントやソフトウェア対策などの不正操作対策が保護の形となっています。これは多くのエンジニアにとって新しい分野であるため、MCUの選択に最適なアプローチは、チップメーカーに、フォールトインジェクション攻撃からソリューションを保護するためにどのような対策を講じているかを尋ねることです。
IoT デバイスはソフトウェアのセキュリティが強化されていますが、ハッカーもますます巧妙化しており、保護を回避する新たな方法を見つけ出すのが早くなっています。真正なソフトウェアをアップロードするものの欠陥があるもの、暗号化キーの破損、電圧やクロックの不具合などの手法により、防御を突破することが可能です。
こうした新たな脅威に直面する中、チップメーカーは、ソフトウェアのセキュリティを補完するMCUハードウェア機能を追加することで、この課題に取り組んでいます。開発者は、RoT、セキュアな処理環境、フォールトインジェクション保護などの技術を活用し、悪意のある攻撃に対する製品の強化を図ることができます。さらに、PSA認証のような組織が業界標準を定義することで、開発者は各自のIoTデバイスのセキュリティ状況を独自に評価できるようになります。戦いは決して終わることはありませんが、これらの最新動向により、チップ業界は一歩先を行くことができます。
[1]https://www.psacertified.org/what-is-psa-certified/why-choose-psa-certified/#:~:text=The%20Cost%20of%20Inaction%20is,damages%20will%20total%20%2410%20trillion.
スティーヴン・キーピングは、英国ブライトン大学で工学士(優等学位)を取得後、Eurotherm社とBOC社のエレクトロニクス部門に7年間勤務。その後、Electronic Production誌社を経て、13年間、英国、オーストラリアのTrinity Mirror、CMP、RBIにて「What's New in Electronics」、「Australian Electronics Engineerin」誌を含む、エレクトロニクス製造・テスト・設計関連記事の上級編集者・出版者として活躍。2006年、エレクトロニクス専門のフリージャーナリストに転身。現在、シドニーを拠点に活動。