組込みシステムのセキュリティとは?

組込みシステムのセキュリティとは、企業が自社で製造するデバイスや、それらのデバイスが生成するデータが脅威にさらされるリスクを最小限に抑えるために採用する、設計手法、実装、および取り組みのことです。組込みデバイスのセキュリティは、ライフサイクル全体にわたる責任です。それは、最初のコードが記述されるはるか前から始まり、デバイスが攻撃者の手に渡った場合の保護策を含み、デバイスが廃棄されるまで継続します。

IDCは、2025年までに50億台以上のコネクテッドデバイスが存在すると予測しています。

すべての組込みまたはIoTプロジェクトチームのための
最初のセキュリティ対策

すべての企業は、組込みプロジェクトが承認され、開始される前に、セキュリティポリシーを策定しておく必要があります。 セキュリティポリシーとは、製品とそのデータのライフサイクル全体(設計、テスト、提供、保守、およびライフサイクル終了時の廃棄を含む)におけるセキュリティ上のニーズに対応するための、文書化され、合意された戦略および計画のことです。プロジェクトチームは、自社製品に影響を及ぼすセキュリティ侵害に伴うリスクを十分に理解する必要があります。さらに、個々のデバイス、デバイス間の通信、ネットワーク、およびデータについて、セキュリティ要件を合意しておく必要があります。

CIAトライアドと組込み型セキュリティポリシーへの貢献

ITシステムと同様に、組込みセキュリティポリシーも、ポリシー策定のモデルとしてCIAトライアドを採用しています。CIAトライアドは、デバイスを不正なアクセス、使用、開示、妨害、改ざん、または破壊から保護するために必要な原則を定義しています。このモデルは、開発チームがプロジェクトのセキュリティに関するさまざまな側面について検討する上で支援します。CIAという頭字語は、機密性(Confidentiality)、完全性(Integrity)、可用性(Availability)を表しています。

CIA Triad

CIAトライアドは、組込みシステムに必要なセキュリティの定義に役立ちます。

機密性

機密性の実装は、組込みシステム内のデータのプライバシーを保護するために使用されます。これには、転送中のデータ、デバイス上に保存されているデータ、デバイスによって処理されているデータ、およびデバイスとの間で送受信されるデータが含まれます。

完全性

完全性の実装は、組込みデバイスのデータが攻撃者によって改ざんまたは削除されていないことを保証します。これには、組込みデバイスによって生成または消費されるデータに加え、そのプログラミングデータ(オペレーティングシステム、アプリケーション、設定データなど)も含まれます。

可用性

可用性の実装は、組込みデバイスが意図された機能を確実に実行できるようにします。つまり、攻撃者がデバイスの本来の機能目的を変更できないことを意味します。これは、生命やミッションクリティカルなタスクを実行するデバイスにとって極めて重要です。

セキュリティ評価は、プロジェクトのさまざまな資産/アセットに対する保護策を定義するための体系的なアプローチを提供します。Wind Riverプロフェショナルサービスは、新規プロジェクトを開始する組込みシステムのお客様向けにセキュリティ評価を提供しており、これらの評価には以下のさまざまなセキュリティ特性が含まれます:

  • Wind Riverは、ソフトウェアのビルド、テスト、リリースにおいて、継続的インテグレーションおよびDevOpsに関する業界のベストプラクティスを採用しています。
  • Wind Riverは、OpenChainを使用してコンプライアンスを認証している唯一のLinuxベンダーです。OpenChainは、企業のディストリビューションで使用されているオープンソースライセンスのコンプライアンスを認証および検証するツールです。これは、監査が発生した場合にサプライチェーンの完全性を証明できるという点で重要です。
  • Wind Riverは、Linuxベースの製品デプロイメントにおけるコンプライアンスを確保するための「保険」としての役割を果たします。
  • Wind Riverは、ISO 9001認証を取得した開発およびリリースプロセスを備えた唯一のエッジLinuxです。

» 詳細はこちら

今日の組込みシステムのセキュリティ

組込みシステム、IoTデバイス、インテリジェントエッジのデプロイメントや新たなユースケースが増えるにつれ、攻撃対象面やセキュリティ侵害の可能性も拡大しています。小型のIoT家庭用サーモスタットから、最も高度なシステム・オブ・システムズに至るまで、あらゆる接続デバイスには、サイバー攻撃によって悪用され得る1つ以上の潜在的な侵入経路が存在します。すでに数十億台のデバイスが接続されており、今後さらに数百億台が追加されることを踏まえると、デバイスを保護し、そこで生成されるデータを守ることは不可欠です。

組み込み業界では、企業がセキュリティ要件や機能に関する最新の標準を遵守し、実装していることに対して高い信頼が寄せられています。ミッションクリティカルおよび安全クリティカルなアプリケーションを備えた組込みシステムにおいては、包括的でライフサイクル全体を網羅したセキュリティアーキテクチャが不可欠です。「セキュリティファースト」の方針がなければ、いかなるデバイスも真に安全であるとは言えず、導入後の全ライフサイクルを通じて安全性を維持することもできません。

5つの明確なセキュリティライフサイクル・ワークフロー

  1. ソフトウェア開発におけるセキュリティ

    コードの開発、テスト、コンパイルが行われるソフトウェア開発インフラストラクチャには、内部または外部の悪意ある攻撃者に付け入る隙を与えないよう、追加のセキュリティ対策が必要です。 多くの組込み開発者は、複数のソースから提供されるDevOpsツールやビルディングブロックを使用しています。これらのツールやビルディングブロックは、信頼できるソースからのみ入手すべきであり、ソフトウェア部品表(SBOM)が含まれている必要があります。開発環境の要素については、CVEやシステムのセキュリティポリシーに違反するイベントがないか、積極的に監視する必要があります。さらに、開発インフラストラクチャは、厳格なID管理を実施し、権限のある個人のみにアクセスを制限する必要があります。システム内での特権操作については、複数の当事者による承認と実行を必須とする必要があります。

    software development

    セキュアな組込みシステムの設計は、最初のコードが記述される前から始まる、ライフサイクル全体にわたるプロセスです。

  2. デバイスのセキュリティ — ハードウェアおよびオペレーティングシステムソフトウェア

    組み込みデバイスに使用されるソフトウェアおよびハードウェアには、組み込まれたセキュリティ機能が含まれている場合があります。最も一般的に有効化されるハードウェアセキュリティ機能には、セキュアブート機能、アテステーション、暗号処理、乱数生成、セキュアな鍵の保存、物理的な改ざん監視、およびJTAG保護などがあります。これらのハードウェア機能を最大限に活用するには、オペレーティングシステムソフトウェアに、基盤となるプロセッサのアーキテクチャに特化したデバイスドライバが必要です。

    オペレーティングシステムソフトウェアにも、セキュリティ機能が組み込まれている場合があります。VxWorks® RTOSには、セキュアブート機能(デジタル署名付きイメージ)、デジタル署名付きアプリケーション用のセキュアELFローダー、暗号化コンテナおよびフルディスク暗号化のためのセキュアストレージ、カーネルのハードニングなど、組み込まれたセキュリティ機能が含まれています。(完全なリストについては、VxWorksのデータシートを参照してください。)

    Linux OSもまた、開発者がOSプラットフォームのビルドを保護するために利用できる多数のセキュリティパッケージを提供しています。Yocto Projectベースの商用ビルドシステムであるWind River Linuxには、検証および妥当性確認済みの250以上のセキュリティパッケージが含まれています。また、Linux OSは、改ざん防止およびサイバーセキュリティ機能を提供するように強化することも可能です。

  3. 組込みアプリケーションおよびコンテナベースのアプリケーションのセキュリティ

    組込みアプリケーションとは、組込みシステムの機能や特定のタスクを実行するように設計されたソフトウェアのことです。組込みアプリケーションは、組込みオペレーティングシステム上で動作します。基盤となるOSがセキュアな状態であっても、アプリケーションには、セキュリティテスト、セキュリティ向上のためのコードスキャンツールの使用、セキュリティ問題の継続的な監視と迅速な修正など、追加のセキュリティ機能が必要となる場合があります。

    コンテナベースのアプリケーションは、組込みシステムでも利用され始めています。これらのアプリケーションは、常にデータを処理し、ログファイルを生成し、ファイルをキャッシュしています。アプリケーションの動作が悪意のあるものではないことを保証するために、重要なセキュリティ対策が講じられています。

  4. データを保護するためのセキュリティ

    組込みシステム、IoTデバイス、インテリジェントエッジシステムはいずれも、データの処理、保存、転送を行います。ミッションクリティカルおよびセーフティクリティカルなアプリケーションは、意図した機能を果たすためにデータの完全性に依存しているため、データ漏洩を防ぐための適切なセキュリティ機能を組込みシステムに備えることが不可欠です。つまり、データが転送中、保存中、使用中のいずれの状態にあっても、完全に暗号化され、保護される必要があります。

  5. セキュリティサービス

    セキュリティは、組込みシステムにとって継続的な取り組みです。これは、設計から廃棄に至るまでのライフサイクル全体にわたる活動です。 多くの企業にとって、デバイスのライフサイクル全体にわたってセキュリティ態勢を監視・維持するには、サードパーティのサービスを活用するのが最善の策となる場合があります。マネージドサービスやセキュリティ・アズ・ア・サービス(SaaS)は、リソースに制約のあるチームにとって、脅威の検知と対応、デプロイメント運用の継続的な監視と分析、そして攻撃の防御のためのデータに基づく意思決定を行うために必要な支援を得るための、現実的な選択肢として急速に普及しつつあります。

組込みセキュリティとサイバーセキュリティの違い

組み込みセキュリティは、デバイスの要素やソフトウェアを保護するように設計されています。これには、ハードウェア、オペレーティングシステム、アプリケーション、およびデータを保護する機能が含まれます。一方、サイバーセキュリティとは、ネットワークを介した攻撃からデバイスを保護するための追加のセキュリティ機能を指します。組込みシステム、IoT製品、およびインテリジェントエッジデバイスにおいては、これら両方のセキュリティが不可欠です。

組込みシステムセキュリティの規格および要件のソース

embedded security

組込みセキュリティとサイバーセキュリティの両方は、さまざまな業界において、信頼性の高い組込みデバイスの性能を確保するために不可欠です。

米国防総省(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には、組込みデバイスの機密性、完全性、可用性を保護するための数多くの組み込まれたセキュリティ機能が備わっています。これらの機能により、お客様は、商用展開の承認に必要な、目的指向の重要な安全認証や規格の取得を実現できます。

» 詳細はこちら

comprehensive security

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

組込みシステムのセキュリティとは、組込みシステムを不正アクセス、改ざん、または破壊から保護するために講じられる対策を指します。
組込みシステムに関連するセキュリティリスクには、マルウェア、ハッキング、物理的攻撃、ソフトウェアの脆弱性などがあります。
暗号化や認証対策の導入、重要な機能へのアクセス制限、セキュアブート機能の実装、およびソフトウェアの定期的な更新やパッチ適用を行うことで、組込みシステムのセキュリティを確保できます。
組込みシステムは私たちの日常生活にますます深く浸透しており、医療、輸送、エネルギーなどの業界において重要な機能を制御しています。組込みシステムでのセキュリティ侵害は、金銭的損失、プライバシーの侵害、さらには身体的な危害に至るなど、深刻な結果を招く可能性があります。組込みシステムのセキュリティ確保は、個人、組織、そして社会全体を守るために不可欠です。
組み込みデバイスがセキュアであるかどうかの判断は、使用されているテクノロジーと運用環境に基づきます。セキュリティ評価では、システムの資産/アセット、それらのシステムの脆弱性や脅威、そして脆弱性から資産を保護するために必要な対策が特定されます。
コモン・クライテリア(CC)は、「情報技術セキュリティ評価のためのコモン・クライテリア」とも呼ばれます。これは、コンピュータまたは組込みシステムに関する国際規格(ISO/IEC 15408)です。コモン・クライテリア評価はテクノロジーごとに異なり、14の異なるカテゴリーが含まれます。評価プロセスでは、評価対象(TOE)に対するセキュリティ機能要件とセキュリティ保証要件の両方が検証されます。
連邦情報処理規格(FIPS)は、暗号モジュールを認定するためのセキュリティ規格を定義しています。現在のバージョンはFIPS 140-3です。 企業が暗号モジュールを内製で開発した場合、またはコードが変更された場合、FIPS 140-3規格は、モジュール全体の認証を開始するために使用されます。暗号モジュールが変更なしで使用される場合、FIPS 140-3の検証プロセスでは、新しい動作環境がモジュールのセキュリティポリシーを満たしていることのみが求められます。
セキュリティ計画は、設計から導入、そして廃棄に至るまでの製品のライフサイクル全体にわたって策定されるべきです。セキュリティ計画は、企業のリスク許容度とデバイスの運用目標に基づいて策定される必要があります。計画には、新たに発生するセキュリティ上の懸念に対応するための、継続的な監視と更新のプロセスを含める必要があります。
組込みシステムのセキュリティ要件は、運用機能やリスク許容度によって異なります。デバイスがミッションクリティカルまたは安全上重要な機能を果たす場合、セキュリティ要件はより包括的なものとなります。たとえデバイスが人命に危険を及ぼさないとしても、データの窃取や操作を目的としたハッキングの標的となる可能性があります。すべての組込みプロジェクトにおいて、セキュリティ評価と計画を策定すべきです。
OpenSSLはソフトウェアベースの暗号ツールキットであり、組込み設計の第一歩として適しています。しかし、組込み開発者は、アーキテクチャ、特定された脅威、および組込みデバイスに関連する資産/アセットを考慮し、どのセキュリティ機能が必要か、またシステムのセキュリティを確保するために脆弱性をどのように軽減するかを決定する必要があります。
多くの場合、ハードウェアに組み込まれたセキュリティ機能を有効にするには、オペレーティングシステム上のソフトウェア機能が必要です。セキュアブート機能や暗号処理の高速化がその例です。プロジェクト開始前にセキュリティ評価と計画を立てることで、ハードウェアのどの機能を有効にするべきかを判断するのに支援します。オペレーティングシステムや、ハードウェアセキュリティドライバのサポートが必要となる場合があります。
これを測定する1つの方法は、特定のメモリ領域やセグメントの暗号チェックサムを算出することです。これは初期設定フェーズの最終段階で実行されます。その後、デバイスの運用中に定期的に再計算を行い、暗号チェックサムを比較します。2つの計算結果に差異がある場合は、潜在的な攻撃を軽減するための措置を講じる必要があります。
AAAは、組込みデバイスのリソースへのアクセスを制御するセキュリティフレームワークです。また、ポリシーの適用、監査の実施、およびシステムの完全性の維持を支援します。
  • 認証(Authentication):対象(デバイス)の身元を確認または検証すること。このステップは、あるデバイスが別のデバイスにネットワーク化され、双方の身元が検証される状況と捉えることができます。
  • 認可(Authorization):認証済みの対象(デバイス)がシステムリソースにアクセスし、活用するための定義済みの権限セット
  • アカウンティング:システムの運用中に発生するセキュリティ関連のイベントを収集し、必要に応じて監査やフォレンジック分析に活用すること