Embedded Cybersecurity for Developers
3 days · A refresher on EN 18031 and the Cyber Resilience Act
This training introduces the main hardware and software vulnerabilities of embedded systems and helps you prepare your defense, with an introduction to cybersecurity standards, cryptography and the Secure by Design approach.
Hands-on exercises cover the FOTA mechanism for remote software updates and advanced security with ARM TrustZone.

Program
Day 1: Introduction to embedded systems cybersecurity
Module 1: State of embedded systems cybersecurity
- Top 10 most common threats
- Why secure your embedded system: protecting the network infrastructure, the end customer's assets or physical safety, and intellectual property
- Maturity level of current embedded products regarding security
- Security of MCU-based vs MPU-based systems
- Technical constraints tied to securing embedded products
Module 2: Taxonomy of attacks against MCU-based embedded systems
- Preliminary analysis of a product: public vulnerability research, hardware and software reverse-engineering techniques and tools
- Vulnerability discovery: passive methods (network sniffing, probing, side-channel) and active methods (fuzzing interfaces and debug ports)
- Exploiting vulnerabilities: RF attacks with SDR (GPS spoofing, RF repeater, GSM security, etc.), network attacks, software attacks (buffer/int overflow), side-channel attacks with and without physical access, electrical glitch attacks
- Case study: security analysis of ANSSI's Wookey encryption key
Module 3 (part 1): Hands-on lab — setting up a FOTA mechanism and secure boot
- Introduction to MCUboot: update modes, anti-rollback, firmware encryption
- Configuring and deploying MCUboot with Zephyr OS
Lab: configuring and deploying MCUboot with Zephyr OS
Day 2: Preparing your defense
Module 4: Risk analysis and regulatory framework
- Regulatory framework (EN 18031, Cyber Resilience Act, CSPN certification…)
- Defining your security problem: assets, threats, attacker model, assumptions
- Analyzing risk in a simple way
- Assessing the severity of an attack (ANSSI CSPN method)
- Case study: drafting a security target outline for asset tracking, a smart meter or a connected camera
Module 5: Cryptography fundamentals
- Symmetric cryptography, authenticated or not: AES and its modes of operation
- Public-key cryptography and PKI: RSA and ECDSA, key negotiation, introduction to the PKI concept
- Hash and MAC algorithms: SHA, HMAC, CMAC
- Cryptographic key diversification and randomness generation
Module 3 (part 2): FOTA and secure boot lab
- Continuation and completion of the lab.
Continuation and completion of the FOTA mechanism and secure boot lab
Module 7 (part 1): Hands-on lab — setting up a TLS connection with MbedTLS and Zephyr OS
- Developing an unsecured echo server
- Generating a PKI infrastructure with OpenSSL
- Developing a TLS-secured echo server
Day 3: The Secure by Design approach
Module 8: Developing securely
- Best practices
- Development process
- Case studies: vulnerability research, code hardening
Module 9: Generic security mechanisms
- Security lifecycle
- Attestation
- Secure boot
- Secure update
- Secure communications
- Logical partitioning
- Binding
Module 10: Advanced security with ARM TrustZone
- Focus on the TrustZone security extension for Cortex M23 and M33
- General introduction to TF-M
- Security services offered by TF-M
- The challenge of provisioning keys at scale
Module 7 (part 2): TLS with MbedTLS and Zephyr OS lab
- Continuation and completion of the lab.
Continuation and completion of the TLS connection lab with MbedTLS and Zephyr OS
