Course Outline


  • Security vs embedded systems security

Characteristics of Embedded Application Security

  • Embedded network transactions
  • Automotive security
  • Android devices
  • Next-generation software-defined radio

Critical Aspects of an Embedded System

  • Microkernel vs monolith
  • Independent security levels
  • Core security requirements
  • Access control
  • I/O virtualization

Performing Threat Modeling and Assessment  

  • Attackers and assets
  • Attack surface
  • Attack trees
  • Establishsing a security policy

Developing Secure Embedded Software

  • Secure coding principles
  • Secure program design
  • Minimal Implementation
  • Component architecture
  • Least privilege
  • Secure development process
  • Independent expert validation
  • Model-driven design
  • Code review and static analysis
  • Security testing
  • Peer code reviews

Understanding and Implementing Cryptography

  • Cryptographic modes
  • Cryptographic hashes
  • Cryptographic certifications
  • Managing keys
  • Block ciphers
  • Message Authentication Codes
  • Random Number Generation

Data Protection

  • Data-in-motion protocols
  • Securing data in motion
  • Data-at-rest protocols
  • Securing data at rest

Mitigating Attacks

  • Common software attacks
  • Preventing side-channel attacks

Retrofitting Security in Existing Projects

  • Securing bootloaders and firmware updates

Summary and Conclusion


  • Experience with embedded systems development.


  • Embedded systems professionals
  • Security professionals
  21 Hours


Related Courses

Advanced Embedded Systems Development

  35 hours

Embedded C Application Design Principles

  14 hours

Arduino Programming for Beginners

  21 hours

Microcontroller Design

  35 hours

Raspberry Pi for Beginners

  14 hours

Building A Robot from the Ground Up

  28 hours

Introduction to IoT Using Arduino

  14 hours

Circuits and Electronics Fundamentals

  14 hours

Digital Signal Processing (DSP) Fundamentals

  21 hours

Embedded C Application Design Principles for Automotive Professionals

  14 hours

FreeRTOS: Programming for Real Time Operating Systems

  7 hours

Learning Vivado

  14 hours

Tensorflow Lite for Microcontrollers

  21 hours