Cybersécurité Zephyr

Génération de SBOM (Software Bill of Materials)

Zephyr supporte la génération de Software Bill of Materials (SBOM) conformes au standard SPDX. C’est essentiel pour la supply chain security et le suivi des vulnérabilités.

Prérequis

Ajoutez l’option suivante à votre prj.conf :

CONFIG_BUILD_OUTPUT_META=y

Générer le SBOM

  1. Initialiser le répertoire de build SPDX :
west spdx --init -d build
  1. Compiler votre application :
west build -b stm32h573i_dk .
  1. Générer le SBOM SPDX :
west spdx -d build

Les fichiers SBOM générés se trouveront dans build/spdx/ et incluront :

  • app.spdx : SBOM pour votre code applicatif
  • zephyr.spdx : SBOM pour les composants Zephyr RTOS
  • build.spdx : SBOM combiné pour l’ensemble du build

Pour plus d’informations, voir la documentation SPDX de Zephyr.

Support Rust

Rust fournit des garanties de memory safety qui permettent d’éviter les vulnérabilités courantes telles que les buffer overflows, les use-after-free et les data races.

Activer Rust dans Zephyr

Pour ajouter le support Rust à votre workspace Zephyr :

west config manifest.project-filter +zephyr-lang-rust
west update

Pour les cibles de simulateur natif, ajoutez la cible Rust requise :

rustup target add x86_64-unknown-none

CMakeLists.txt

cmake_minimum_required(VERSION 3.20.0)

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})

project(my_app)
rust_cargo_application()

Cargo.toml

[package]
# Doit être rustapp pour l'instant.
name = "rustapp"
version = "0.1.0"
edition = "2021"
description = "Description de mon application"
license = "Apache-2.0 or MIT"

[lib]
crate-type = ["staticlib"]

[dependencies]
zephyr = "0.1.0"
log = "0.4.22"

Plateformes supportées

Voir la liste des plateformes supportées.

Pour plus d’informations, voir la documentation Rust de Zephyr.

Commandes de sécurité utiles

Configuration de hardening

Analysez votre configuration par rapport aux recommandations du Security Working Group :

west build -t hardenconfig

Génération de SBOM

west spdx --init -d ./build
west build -b <board> -- -DCONFIG_BUILD_OUTPUT_META=y
west spdx -d ./build