組込みシステムのセキュリティとは?
組込みシステムのセキュリティとは、企業が自社で製造するデバイスや、それらのデバイスが生成するデータが脅威にさらされるリスクを最小限に抑えるために採用する、設計手法、実装、および取り組みのことです。組込みデバイスのセキュリティは、ライフサイクル全体にわたる責任です。それは、最初のコードが記述されるはるか前から始まり、デバイスが攻撃者の手に渡った場合の保護策を含み、デバイスが廃棄されるまで継続します。
IDCは、2025年までに50億台以上のコネクテッドデバイスが存在すると予測しています。
すべての組込みまたはIoTプロジェクトチームのための
最初のセキュリティ対策
すべての企業は、組込みプロジェクトが承認され、開始される前に、セキュリティポリシーを策定しておく必要があります。 セキュリティポリシーとは、製品とそのデータのライフサイクル全体(設計、テスト、提供、保守、およびライフサイクル終了時の廃棄を含む)におけるセキュリティ上のニーズに対応するための、文書化され、合意された戦略および計画のことです。プロジェクトチームは、自社製品に影響を及ぼすセキュリティ侵害に伴うリスクを十分に理解する必要があります。さらに、個々のデバイス、デバイス間の通信、ネットワーク、およびデータについて、セキュリティ要件を合意しておく必要があります。
CIAトライアドと組込み型セキュリティポリシーへの貢献
ITシステムと同様に、組込みセキュリティポリシーも、ポリシー策定のモデルとしてCIAトライアドを採用しています。CIAトライアドは、デバイスを不正なアクセス、使用、開示、妨害、改ざん、または破壊から保護するために必要な原則を定義しています。このモデルは、開発チームがプロジェクトのセキュリティに関するさまざまな側面について検討する上で支援します。CIAという頭字語は、機密性(Confidentiality)、完全性(Integrity)、可用性(Availability)を表しています。
機密性
機密性の実装は、組込みシステム内のデータのプライバシーを保護するために使用されます。これには、転送中のデータ、デバイス上に保存されているデータ、デバイスによって処理されているデータ、およびデバイスとの間で送受信されるデータが含まれます。
完全性
完全性の実装は、組込みデバイスのデータが攻撃者によって改ざんまたは削除されていないことを保証します。これには、組込みデバイスによって生成または消費されるデータに加え、そのプログラミングデータ(オペレーティングシステム、アプリケーション、設定データなど)も含まれます。
可用性
可用性の実装は、組込みデバイスが意図された機能を確実に実行できるようにします。つまり、攻撃者がデバイスの本来の機能目的を変更できないことを意味します。これは、生命やミッションクリティカルなタスクを実行するデバイスにとって極めて重要です。
セキュリティ評価は、プロジェクトのさまざまな資産/アセットに対する保護策を定義するための体系的なアプローチを提供します。Wind Riverプロフェショナルサービスは、新規プロジェクトを開始する組込みシステムのお客様向けにセキュリティ評価を提供しており、これらの評価には以下のさまざまなセキュリティ特性が含まれます:
- Wind Riverは、ソフトウェアのビルド、テスト、リリースにおいて、継続的インテグレーションおよびDevOpsに関する業界のベストプラクティスを採用しています。
- Wind Riverは、OpenChainを使用してコンプライアンスを認証している唯一のLinuxベンダーです。OpenChainは、企業のディストリビューションで使用されているオープンソースライセンスのコンプライアンスを認証および検証するツールです。これは、監査が発生した場合にサプライチェーンの完全性を証明できるという点で重要です。
- Wind Riverは、Linuxベースの製品デプロイメントにおけるコンプライアンスを確保するための「保険」としての役割を果たします。
- Wind Riverは、ISO 9001認証を取得した開発およびリリースプロセスを備えた唯一のエッジLinuxです。
今日の組込みシステムのセキュリティ
組込みシステム、IoTデバイス、インテリジェントエッジのデプロイメントや新たなユースケースが増えるにつれ、攻撃対象面やセキュリティ侵害の可能性も拡大しています。小型のIoT家庭用サーモスタットから、最も高度なシステム・オブ・システムズに至るまで、あらゆる接続デバイスには、サイバー攻撃によって悪用され得る1つ以上の潜在的な侵入経路が存在します。すでに数十億台のデバイスが接続されており、今後さらに数百億台が追加されることを踏まえると、デバイスを保護し、そこで生成されるデータを守ることは不可欠です。
組み込み業界では、企業がセキュリティ要件や機能に関する最新の標準を遵守し、実装していることに対して高い信頼が寄せられています。ミッションクリティカルおよび安全クリティカルなアプリケーションを備えた組込みシステムにおいては、包括的でライフサイクル全体を網羅したセキュリティアーキテクチャが不可欠です。「セキュリティファースト」の方針がなければ、いかなるデバイスも真に安全であるとは言えず、導入後の全ライフサイクルを通じて安全性を維持することもできません。
5つの明確なセキュリティライフサイクル・ワークフロー
-
ソフトウェア開発におけるセキュリティ
コードの開発、テスト、コンパイルが行われるソフトウェア開発インフラストラクチャには、内部または外部の悪意ある攻撃者に付け入る隙を与えないよう、追加のセキュリティ対策が必要です。 多くの組込み開発者は、複数のソースから提供されるDevOpsツールやビルディングブロックを使用しています。これらのツールやビルディングブロックは、信頼できるソースからのみ入手すべきであり、ソフトウェア部品表(SBOM)が含まれている必要があります。開発環境の要素については、CVEやシステムのセキュリティポリシーに違反するイベントがないか、積極的に監視する必要があります。さらに、開発インフラストラクチャは、厳格なID管理を実施し、権限のある個人のみにアクセスを制限する必要があります。システム内での特権操作については、複数の当事者による承認と実行を必須とする必要があります。
セキュアな組込みシステムの設計は、最初のコードが記述される前から始まる、ライフサイクル全体にわたるプロセスです。
-
デバイスのセキュリティ — ハードウェアおよびオペレーティングシステムソフトウェア
組み込みデバイスに使用されるソフトウェアおよびハードウェアには、組み込まれたセキュリティ機能が含まれている場合があります。最も一般的に有効化されるハードウェアセキュリティ機能には、セキュアブート機能、アテステーション、暗号処理、乱数生成、セキュアな鍵の保存、物理的な改ざん監視、およびJTAG保護などがあります。これらのハードウェア機能を最大限に活用するには、オペレーティングシステムソフトウェアに、基盤となるプロセッサのアーキテクチャに特化したデバイスドライバが必要です。
オペレーティングシステムソフトウェアにも、セキュリティ機能が組み込まれている場合があります。VxWorks® RTOSには、セキュアブート機能(デジタル署名付きイメージ)、デジタル署名付きアプリケーション用のセキュアELFローダー、暗号化コンテナおよびフルディスク暗号化のためのセキュアストレージ、カーネルのハードニングなど、組み込まれたセキュリティ機能が含まれています。(完全なリストについては、VxWorksのデータシートを参照してください。)
Linux OSもまた、開発者がOSプラットフォームのビルドを保護するために利用できる多数のセキュリティパッケージを提供しています。Yocto Projectベースの商用ビルドシステムであるWind River Linuxには、検証および妥当性確認済みの250以上のセキュリティパッケージが含まれています。また、Linux OSは、改ざん防止およびサイバーセキュリティ機能を提供するように強化することも可能です。
-
組込みアプリケーションおよびコンテナベースのアプリケーションのセキュリティ
組込みアプリケーションとは、組込みシステムの機能や特定のタスクを実行するように設計されたソフトウェアのことです。組込みアプリケーションは、組込みオペレーティングシステム上で動作します。基盤となるOSがセキュアな状態であっても、アプリケーションには、セキュリティテスト、セキュリティ向上のためのコードスキャンツールの使用、セキュリティ問題の継続的な監視と迅速な修正など、追加のセキュリティ機能が必要となる場合があります。
コンテナベースのアプリケーションは、組込みシステムでも利用され始めています。これらのアプリケーションは、常にデータを処理し、ログファイルを生成し、ファイルをキャッシュしています。アプリケーションの動作が悪意のあるものではないことを保証するために、重要なセキュリティ対策が講じられています。
-
データを保護するためのセキュリティ
組込みシステム、IoTデバイス、インテリジェントエッジシステムはいずれも、データの処理、保存、転送を行います。ミッションクリティカルおよびセーフティクリティカルなアプリケーションは、意図した機能を果たすためにデータの完全性に依存しているため、データ漏洩を防ぐための適切なセキュリティ機能を組込みシステムに備えることが不可欠です。つまり、データが転送中、保存中、使用中のいずれの状態にあっても、完全に暗号化され、保護される必要があります。
-
セキュリティサービス
セキュリティは、組込みシステムにとって継続的な取り組みです。これは、設計から廃棄に至るまでのライフサイクル全体にわたる活動です。 多くの企業にとって、デバイスのライフサイクル全体にわたってセキュリティ態勢を監視・維持するには、サードパーティのサービスを活用するのが最善の策となる場合があります。マネージドサービスやセキュリティ・アズ・ア・サービス(SaaS)は、リソースに制約のあるチームにとって、脅威の検知と対応、デプロイメント運用の継続的な監視と分析、そして攻撃の防御のためのデータに基づく意思決定を行うために必要な支援を得るための、現実的な選択肢として急速に普及しつつあります。
組込みセキュリティとサイバーセキュリティの違い
組み込みセキュリティは、デバイスの要素やソフトウェアを保護するように設計されています。これには、ハードウェア、オペレーティングシステム、アプリケーション、およびデータを保護する機能が含まれます。一方、サイバーセキュリティとは、ネットワークを介した攻撃からデバイスを保護するための追加のセキュリティ機能を指します。組込みシステム、IoT製品、およびインテリジェントエッジデバイスにおいては、これら両方のセキュリティが不可欠です。
組込みシステムセキュリティの規格および要件のソース
組込みセキュリティとサイバーセキュリティの両方は、さまざまな業界において、信頼性の高い組込みデバイスの性能を確保するために不可欠です。
米国防総省(DOD)
米国防総省(DOD)は、デバイスセキュリティとサイバーセキュリティの両方に関するガイドラインを提供しています。
食品医薬品局(FDA)
FDAは、www.fda.gov/medical-devices/digital-health-center-excellence/cybersecurityにて、医療機器メーカ向けのサイバーセキュリティのベストプラクティスを提供しています。ネットワーク化された医療機器のFDA承認を得るには、セキュリティ要件を満たしていることの証明が求められる場合があります。
米国国立標準技術研究所(NIST)
NISTは、エレクトロニクス、エネルギー、製造業、輸送など、さまざまな組込み分野向けのセキュリティ基準およびガイドラインを提供しています。
連邦情報処理標準規格(FIPS)
FIPSは、暗号アルゴリズムの要件を規定する米国政府のコンピュータセキュリティ規格です。組込み業界では、FIPS 140-3が一般的に採用されています。
セキュリティ技術実装ガイド(STIG)
STIGは、特定のテクノロジーに対するサイバーセキュリティ要件から構成される構成基準です。
Wind Riverのアプローチ
Wind Riverは、組み込みデバイスのライフサイクル全体にわたる包括的なセキュリティフレームワークを提供します。このフレームワークは、セキュリティ技術とサービスを組み合わせたものであり、開発環境向けの強化されたセキュリティ機能、DevOpsパイプラインのビルディングブロック、OSに組み込まれたセキュリティ機能、OSおよびアプリケーションのハードニング、データ暗号化、そして継続的な脆弱性の監視と修正を提供します。
VxWorks
市場をリードするこのリアルタイムOSには、組込みデバイスの機密性、完全性、可用性を保護するための数多くの組み込まれたセキュリティ機能が備わっています。これらの機能により、お客様は、商用展開の承認に必要な、目的指向の重要な安全認証や規格の取得を実現できます。
Wind Riverは、組込みデバイスのライフサイクル全体にわたる包括的なセキュリティを提供します。
Wind River Linux
組込みシステム向けの主要な商用LinuxビルドシステムであるWind River Linuxには、検証および確認済みのセキュリティパッケージが数百種類含まれています。Wind River Linuxは完全なサポートが提供されており、CVEに対する積極的な監視と修正プログラムが提供されます。
Wind River Helix Virtualization Platform
Wind River Helix™ Virtualization Platformは、マルチOSおよび重要度混在のアプリケーションを単一のエッジコンピューティングソフトウェアプラットフォームに統合し、航空宇宙・防衛、産業機器、医療、オートモーティブ市場における重要インフラソリューションの簡素化、セキュリティ強化、将来にわたり利用可能な状態を実現します。
Wind River simics
Wind River Simics® は、ハードウェアおよび複雑な電子システムのフルシステムシミュレータです。Simics を使用することで、安全かつ管理された環境下で、脆弱性やセキュリティ侵害のシナリオをテストすることができます。
Wind Riverプロフェショナルサービス
プロフェッショナル・サービスは、組込みシステムのライフサイクル全体にわたり、セキュリティを計画・設計するための豊富な業界経験を提供します。
組込みシステムのセキュリティに関するFAQ
- 認証(Authentication):対象(デバイス)の身元を確認または検証すること。このステップは、あるデバイスが別のデバイスにネットワーク化され、双方の身元が検証される状況と捉えることができます。
- 認可(Authorization):認証済みの対象(デバイス)がシステムリソースにアクセスし、活用するための定義済みの権限セット
- アカウンティング:システムの運用中に発生するセキュリティ関連のイベントを収集し、必要に応じて監査やフォレンジック分析に活用すること
