Barr Group FacebookBarr Group TwitterBarr Group LinkedInBarr Group Vimeo

Course Overview

Course Length: 
4 Days
CEUs: 
3.0
Format: 
Lecture

 Download the Complete Course Syllabus

In today’s explosive growth of interconnectivity, the importance of developing of safe and security-hardened embedded systems has never been more critical. In this lecture series, attendees will learn the best design practices for developing both safe and secure embedded systems. This course will dive deep into critical security issues such as embedded crypto and retrofitting security and the use of coding standards, static analysis, and other best practices to increase reliability, safety, and security in embedded devices.

Series Prerequisites:  Attendees should have prior experience in the design of one or more embedded systems.

This course is split into two sections. Sections can also be taught as individual courses.

SECTION I: Best Practices for Designing Secure Embedded Systems

Vulnerabilities in products ranging from medical devices to industrial control systems and automobiles are being exploited by attackers. However, these systems can be hardened by following a variety of best practices. This two-day training gives you the skills to harden your embedded system to prevent vulnerabilities and defend against the most common attacks.

Topics covered in this section include:

  • Threat Assessment
  • Protecting Data at Rest
  • Protecting Data in Motion
  • Defenses in Software
  • Defenses in Hardware

SECTION 2: Best Practices for Designing Safe Embedded Systems

Embedded systems are pervasive: from implantable medical devices to self-driving cars. The risks of human injury are also rising as more embedded systems connect to the internet and each other - becoming open to hacking as well as malfunction.

In this 2-day section, attendees will learn "what, why and how" of approximately a dozen practical, lightweight techniques for designing safer and more reliable embedded systems. We will focus on minimizing hazards and malfunctions though a combination of lightweight, demonstrably-effective design techniques. Architectural, process and cultural aspects will also be covered.

Topics covered in this section include:

  • System Partitioning
  • Run-Time Monitoring
  • Design for Test
  • Managing Time
  • Run-time Logging
  • Safety Case
  • Managing Complexity
  • Requirements
  • Coding Standard
  • Static Analysis
  • Code Inspections
  • Issue Tracking
  • Post Mortems

Syllabus

SECTION I: Best Practices for Designing Secure Embedded Systems
Length: 2 Day
Format: Lecture

CEUs: 1.5

Vulnerabilities in products ranging from medical devices to industrial control systems and automobiles are being exploited by attackers. However, these systems can be hardened by following a variety of best practices. This two-day training gives you the skills to harden your embedded system to prevent vulnerabilities and defend against the most common attacks.

Topics covered in this section include:

  • Introduction
    • Embedded Systems Attacks
    • Uniquely Embedded Concerns
    • Reliability and Security
    • Obscurity and Security
    • Entropy and Random Numbers
  • Threat Assessment
    • Attackers and Assets
    • Attack Surface
    • Attack Trees
    • Security Policy
  • Protecting Data at Rest
    • Block Ciphers
    • Cipher Modes
    • Hashes
    • Message Authentication Codes
  • Protecting Data in Motion
    • Public-Key Cryptography
    • Secure Protocols
    • TLS/SSL
  • Defenses in Software
    • Common Firmware Vulnerabilities
    • Defensive Software Architectures
    • Defensive Hardware Interfaces
  • Defenses in Hardware
    • Securing External Memory
    • JTAG/Debug Port Considerations
    • Other Physical Attack Vectors
    • Tamper Detection and Logging
  • Wrap-up and Discussion

SECTION 2: Best Practices for Designing Safe Embedded Systems
Length: 2 Days
Format: Lecture

CEUs: 1.5

Embedded systems are pervasive: from implantable medical devices to self-driving cars. The risks of human injury are also rising as more embedded systems connect to the internet and each other - becoming open to hacking as well as malfunction.

This course explains several key design techniques that you can employ to develop safer and more reliable embedded systems. Through our consulting with many companies in a range of industries, we are continually surprised that such techniques -- including the techniques you will learn in this course -- are not more widely known and practiced.

In this 2-day section, attendees will learn "what, why and how" of approximately a dozen practical, lightweight techniques for designing safer and more reliable embedded systems. We will focus on minimizing hazards and malfunctions though a combination of lightweight, demonstrably-effective design techniques. Architectural, process and cultural aspects will also be covered.

Topics covered in this section include:

  • System Partitioning
  • Run-Time Monitoring
  • Design for Test
  • Managing Time
  • Run-time Logging
  • Safety Case
  • Managing Complexity
  • Requirements
  • Coding Standard
  • Static Analysis
  • Code Inspections
  • Issue Tracking
  • Post Mortems​

Related Courses

Find out More

To find out more about our upcoming public trainings, go to our Training Calendar.

Contact Us to find out more about this course or to enquire about an on-site training at your company.

Recording Policy

All Barr Group Training Public and On-site courses may not be audiotaped, videotaped or photographed without consent from Barr Group's executive team.  Barr Group reserves the right to record portions or all of a training course for instructional purposes.  As a result, attendees present may also appear on the recording.