V3: ソフトウェアプラットフォーム要件
管理目標
ブートローダーはデバイスのブートプロセス時に実行される最初のコードです。ファームウェアの製造元はブートローダーを正しく構成する責任があります。そうしないと、その脆弱性がデバイス全体のセキュリティを損ない、侵害やデバイスハイジャックにつながる可能性があります。この章のコントロールは、ロードされたコードの暗号署名を検証し、外部の場所からのイメージのロードを許可せず、ブート時のメモリ、シェル、その他のデバッグアクセスを禁止することにより、ブートの信頼性を確保します。
オペレーティングシステムとそのカーネルは特に、特権モードで実行され、多くのセキュリティプリミティブを含む重要なデバイス機能を実装するため、デバイスセキュリティの中心となります。これにはオペレーティングシステム、カーネル構成、および堅牢化のための最善のセキュリティプラクティスが必要です。
Linux オペレーティングシステムは IoT で最も人気のあるものの一つです。名前空間と cgroup によりサポートされる分離メカニズムや、アクセス制御用の追加のカーネルセキュリティモジュールなど、一次セキュリティから多層防御まで多くの機能があります。コンテナ内で実行するサードパーティアプリケーションを構成および展開する場合は、これらの分離メカニズムを活用します。
デバイスソフトウェアの更新と保守は製品のセキュリティにとって非常に重要です。アップデートシステムは設計と実装の一環としてセキュリティのベストプラクティスを採用する必要があり、デバイスが既知の脆弱性のない暗号署名されたソフトウェアのみを実行するようにします。パッチと脆弱性の管理プロセスでは、エンドユーザーを侵害から守るため、アップストリームセキュリティパッチが適用された新しいビルドを利用可能な最新バージョンとしてデプロイします。
ハードウェアセキュリティチップをソフトウェアプラットフォーム内にセキュアに構成および統合することで、デバイスは製造時にチップ内に書き込まれた暗号でアサートされた ID を使用できます。セキュリティチップには保存時に暗号化された鍵やシークレットを格納するための特権ストレージを提供する機能もあります。
セキュリティ検証要件
ブートローダー
OS コンフィグレーション
Linux
ソフトウェアアップデート
セキュリティチップ統合
カーネル空間アプリケーション要件
参考情報
詳細については、以下も参照してください。
ENISA - Baseline Security Recommendations for IoT: https://www.enisa.europa.eu/publications/baseline-security-recommendations-for-iot/at_download/fullReport
CIS Benchmarks: https://www.cisecurity.org/cis-benchmarks/
TGC Guidance for Secure Update of Software and Firmware on Embedded Systems: https://trustedcomputinggroup.org/wp-content/uploads/TCG-Secure-Update-of-SW-and-FW-on-Devices-v1r72_pub.pdf
U-Boot FIT Signature Verification: https://github.com/u-boot/u-boot/blob/master/doc/uImage.FIT/signature.txt
GSMA - IoT Security Guidelines for Endpoint Systems: https://www.gsma.com/iot/wp-content/uploads/2017/10/CLP.13-v2.0.pdf
OWASP Docker Top 10: https://owasp.org/www-project-docker-top-10/
Linux Containers Security (LXC): https://linuxcontainers.org/lxc/security/
Linux Containers Security (LXD): https://linuxcontainers.org/lxd/docs/master/security
Last updated