Design Considerations for Secure Embedded Systems

Embedded hardware is everywhere you look today from your vehicle’s infotainment system to refrigerator to medical devices and everything else in-between. With so much exposure one would think that such devices are secure against attack; however, sadly for many devices this is not the case. For proof, just look no further than your local news reports. They are full of reports on devices being hacked.

So, as engineers, how do we go about first identifying and mitigating (or capitalizing) the potential security vulnerabilities within these devices? The answer to this question, and the subject of this seminar, is through the reverse engineering of the hardware itself. This seminar is a combination of lecture and hands-on exercises which will conclude with the students attempting to reverse engineer both a vulnerable and a secured embedded device.

While the idea of taking apart a complicated piece of hardware may seem overwhelming, with both the technical background and reverse engineering techniques presented in this seminar you will soon find that you are not only up to the task but more comfortable doing so in the future. To expedite the learning process and remove some of the potential over complexities of embedded systems, the material presented in this seminar will focus on a widely-available Arduino-based development board, which has been designed with simplicity of understanding in mind. At the end of the seminar, students are free to take home with them the development board, a starter kit of physical exploitation tools, and the pre-built work environment that was used in the seminar.

What Will You Learn

By attending this seminar, you will be able to:
  • Identify key hardware components of embedded systems
  • Research and use datasheets
  • Interpret basic schematics
  • Locate and utilize hidden communication paths (i.e. debug ports)
  • Interface target hardware with a PC
  • Extract and analyze firmware from an embedded system

Is This Course For You

This seminar is intended for engineers who want to develop a basic understanding and the corresponding skill set needed for the hardware reverse engineering of embedded systems. The seminar assumes students have at least a basic understanding of both electronics and programming. Other prospective students who will benefit from this course include computer security researchers, digital forensic investigators, software engineers, and senior management.

Materials Provided

This data is not available at this time

Course Requirements

This data is not available at this time



  • Overview of Embedded Systems
    • Definitions
    • Examples
    • Purpose of Reverse Engineering
    • Legal Considerations
    • Ethical Considerations
    • Reverse Engineering Mindset
  • Basic Electronic Concepts
    • Electrical Component Symbols
    • Datasheets
    • Schematics
    • Continuity Checks with Multimeters
    • Resistance Calculations
  • Equipping Your Work Environment
    • Reverse Engineering Tools
  • Key Components in Embedded Systems


  • Review of Day One Material
  • Embedded Systems Communication Protocols
    • Embedded Systems Communications Protocols
    • Universal Asynchronous Receiver/Transmitter (UART)
    • Serial Peripheral Interface (SPI)
    • Joint Test Action Group (JTAG)
    • Inter-Integrated Circuit (I2C)
    • CAN Bus
  • Embedded Systems Reverse Engineering Process
    • Reconnaissance
    • Identification of Pins and Components
    • Finding Datasheets
    • Plan Formulation
    • Attack Vector Identification
    • Firmware Mod Kit
  • The Mission Debrief
  • Section Two Summary
  • Closing Discussion