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=yGénérer le SBOM
- Initialiser le répertoire de build SPDX :
west spdx --init -d build- Compiler votre application :
west build -b stm32h573i_dk .- Générer le SBOM SPDX :
west spdx -d buildLes fichiers SBOM générés se trouveront dans build/spdx/ et incluront :
app.spdx: SBOM pour votre code applicatifzephyr.spdx: SBOM pour les composants Zephyr RTOSbuild.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 updatePour les cibles de simulateur natif, ajoutez la cible Rust requise :
rustup target add x86_64-unknown-noneCMakeLists.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 hardenconfigGénération de SBOM
west spdx --init -d ./build
west build -b <board> -- -DCONFIG_BUILD_OUTPUT_META=y
west spdx -d ./build