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

組込みシステムのセキュリティは、企業が構築するデバイスやこれらのデバイスが生成するデータが暴露される脅威を抑えるために採用する、設計手法、実装、取り組みです。組込みデバイスのセキュリティは、ライフサイクル全体に関わる責任です。それは、最初のコードが書かれるかなり前に始まり、デバイスが攻撃者の手に落ちた場合の保護を含み、デバイスが廃棄されるまで継続します。

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

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

すべての企業は、組込みプロジェクトが承認され開始される前に、セキュリティポリシーを策定しておく必要があります。セキュリティポリシーとは、設計、テスト、納品、メンテナンス、使用終了時の廃棄など、製品とそのデータのライフサイクル全般にわたるセキュリティニーズに対応するための、文書化され合意された戦略と計画です。プロジェクトチームは、製品に影響を及ぼすセキュリティ侵害に関連するリスクを完全に理解する必要があります。さらに、個々の機器、機器間の通信、ネットワーク、データのセキュリティ要件について合意しておく必要があります。

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

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

CIA Triad

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

機密性

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

完全性

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

可用性

可用性の実装は、組込みデバイスが意図された機能を実行することを保証します。つまり、攻撃者はデバイスの意図している機能の目的を変更することができません。これは、ライフタスク、クリティカルタスクやミッションクリティカルなタスクを実行するデバイスにとって最も重要なことです。

セキュリティアセスメントは、プロジェクトのさまざまな資産に対する保護を定義するための体系的なアプローチを提供します。ウインドリバープロフェッショナルサービスでは、新規プロジェクトを開始する組込み機器のお客様にセキュリティアセスメントを提供しており、これらのアセスメントにはさまざまなセキュリティ特性が含まれます。

  • ウインドリバーは、ソフトウェアの構築、テスト、リリースに、継続的インテグレーションとDevOpsのための業界のベストプラクティスを使用しています。
  • ウインドリバーは、Linuxのベンダーで唯一、OpenChainを使用してコンプライアンスを認証しています。OpenChainは、企業のディストリビューションで使用されているオープンソースライセンスのコンプライアンスを認証・検証するツールです。これは、監査の際に、サプライチェーンの整合性を証明することができるため重要です。
  • ウインドリバーは、ソフトウェアの構築、テスト、リリースに、継続的インテグレーションとDevOpsのための業界のベストプラクティスを使用しています。
  • ウインドリバーは、ISO 9001認証を取得した開発およびリリースプロセスを持つ唯一のエッジ向け Linuxです。

» 詳細はこちら

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

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

組込み業界では、企業がセキュリティ要件や機能に関する最新の規格を遵守し、実装していることに高い信頼性があります。ミッションクリティカルなアプリケーションやセーフティクリティカルなアプリケーションを持つ組込みシステムには、包括的でライフサイクル全体をカバーするセキュリティアーキテクチャが必要不可欠です。セキュリティ優先のポリシーがなければ、いかなるデバイスも真に安全で、ライフサイクルを通じて安全性を維持することはできません。

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

  1. ソフトウェア開発のためのセキュリティ

    コードの開発、テスト、コンパイルが行われるソフトウェア開発インフラストラクチャでは、内部および外部の悪意ある攻撃者に機会を与えないようにするために、特別なセキュリティ保護措置が必要です。多くの組込み開発者は、複数のソースから入手したDevOpsツールやビルディングブロックを使用しています。これらのツールやビルディングブロックは、信頼できるソースからのみ提供され、ソフトウェア部品表が含まれている必要があります。開発環境のコンポーネントは、CVEやシステムのセキュリティポリシーに違反するイベントがないか、積極的に監視されるべきです。さらに、開発インフラは厳密なID管理を行い、許可された個人のみへのアクセス保護を提供する必要があります。システム内の特権的な行動には、複数の関係者の承認と実行が必要です。

    software development

    安全な組込みシステムの設計は、最初の1行のコードが書かれる前から始まる、完全なライフサイクルプロセスです。

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

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

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

    Linux OSは、開発者がOSプラットフォーム構築の安全性を確保するために使用できるセキュリティパッケージも多数提供しています。商業的に提供されているYocto ProjectベースのビルドシステムであるWind River Linuxには、250以上の検証済みおよび妥当性確認済みのセキュリティパッケージが含まれています。また、Linux OSは、アンチタンパーやサイバーセキュリティの機能を提供するためにハード化することができます。

  3. 組込みアプリケーションとコンテナ型アプリケーションのセキュリティ

    組込みアプリケーションは、組込みシステムの機能や特定のタスクを実行するために設計されたソフトウェアです。組込みアプリケーションは、組込みOSの上で実行されます。たとえ基盤となるOSが安全であっても、アプリケーションには、セキュリティテスト、セキュリティ向上のためのコードスキャンツールの使用、セキュリティ問題の常時監視と迅速な修正など、さらなるセキュリティ機能が要求されることがあります。

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

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

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

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

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

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

組込み型セキュリティは、デバイスのコンポーネントとソフトウェアを保護するために設計されています。ハードウェア、オペレーティングシステム、アプリケーション、データを保護するための機能が含まれます。サイバーセキュリティは、ネットワークを介した攻撃からデバイスを保護するための追加のセキュリティ機能を指します。組込みシステム、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は、特定の技術に対するサイバーセキュリティの要件で構成される構成基準です。

ウインドリバーのアプローチ

ウインドリバーは、組込みデバイスのライフサイクル全体に対応する包括的なセキュリティフレームワークを提供します。このフレームワークには、セキュリティ技術とサービスの組み合わせが含まれており、開発環境、DevOpsパイプラインビルディングブロック、組込みOSセキュリティ機能、OSおよびアプリケーションのハードニング、データ暗号化、継続的な脆弱性監視と修正などのセキュリティ機能の強化が可能になっています。

VxWorks

市場をリードするリアルタイムオペレーティングシステムには、組込みデバイスの機密性、完全性、可用性を保護するための多数のセキュリティ機能が組み込まれています。これらの機能により、お客様は商用展開の承認に必要な、目的に応じた重要な安全認証や標準を達成することができます。

» 詳細はこちら 

comprehensive security

ウインドリバーは、組込み機器のライフサイクル全体に対応する包括的なセキュリティを提供します。

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® は、ハードウェアと複雑な電子システムのフルシステムシミュレータです。Wind River Simicsは、安全かつ制御された環境で、セキュリティの脆弱性やセキュリティ侵害シナリオをテストするために使用することができます。

» 詳細はこちら

ウインドリバー プロフェッショナルサービス

プロフェッショナルサービスは、組込みシステムのライフサイクル全体にセキュリティを計画・設計するための深い業界エクスペリエンスを提供します。

» 詳細はこちら

組込みシステムのセキュリティに関するFAQ

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