logo


slogan

4
About Us
Training
Calendar
Registration
Contact Us
10

 

Software Security for Embedded
 
   

*  An Introductory Course for Embedded Software Developers, Designers, Quality and Security Engineers

*  How to Design and Develop Embedded Software Systems that will Continue to Operate Correctly while Under Attack

*  2 Day Intensive Class        (lectures, discussions, example software threat scenarios, classroom exercises)




Course Highlights:
This course examines the activities and methods involved in systematically preventing security vulnerabilities in embedded and real-time software as it undergoes development.

While areas such as secure network communication and data encryption are touched upon, the main focus of this course is on security vulnerabilities within application software.  Most attacks on embedded devices exploit such application software vulnerabilities.  The course begins with a discussion of the main concepts for secure coding of embedded systems software. Common security defects are studied in detail, including incomplete input validation, missing exception handling, buffer overflows and race conditions.  Mitigation ideas are presented for many kinds of software vulnerabilities.  Emphasis is placed on uniquely embedded security issues such as weaknesses in interfacing, multitasking and timing, rather than on general data processing security issues.

The class continues with an examination of  principles and approaches important in embedded software security, such as threat analysis, security requirements engineering, attack patterns, architectural design patterns for security, and secure coding reviews.  Disciplined techniques and tools are presented to support these approaches.

Participants are asked to do detailed exercises on many of the security issues presented, so that the concepts and methods taught are reinforced and absorbed into the participant's arsenal of embedded software development skills.

This course is not a general course about software security, but rather it is highly focused on the security  of embedded, time-constrained, resource-constrained software. Multitasking and real-time operating system ("RTOS") security issues will be emphasized if relevant for course participants.



Objective of the course
The primary goal of this course is to give the participant the skills necessary to systematically design, develop and implement secure software for embedded and real-time computer systems.  This is a very practical, results-oriented course that will provide knowledge and skills that can be applied immediately.


Who Should Attend:
This course is intended for practicing real-time and embedded systems software designers, developers, quality and security engineers who have responsibility for designing and implementing the software for secure embedded and real-time computer systems.

Course participants are expected to have some background in software development for real-time and embedded systems. It would be helpful, although it is not required, for course participants to have some familiarity with at least one RTOS.  This knowledge can also be gained by attending one of the prerequisite introductory courses "Introduction to Embedded Systems and Software" or "Introduction to Real-Time Operating Systems".]



Course Outline:

Day 1 Morning:  Fundamentals of Embedded Software Security

Definitions and Overview
Application Software Vulnerabilities
Security Practices for Embedded Software
Taxonomy of Embedded Code Vulnerabilities
Concurrency and Multi-Tasking Issues
Exercise: Buffer Overflow can Hijack a System

Day 1 Afternoon:  Plethora of Embedded Code Security Vulnerabilities

Stack Smashing
Code Injection
Arc Injection
Exercise: Function Pointer Shenanigans
Tainted Inputs
Exercise: Dynamic Memory Attack
Mitigation Approaches
Data Sanitization
Exercise: JPEG Vulnerability
Concurrency Vulnerabilities
"TOCTOU" in Embedded Software

Day 2 Morning:  Embedded Software Security Principles and Patterns

Software Security Principles
Threat Modeling
Attack Patterns
Architectural Design Patterns for Embedded Software Security
Exercise: Threat Modeling and Attack Modeling for an Automated Train

Day 2 Afternoon:  Practical Methods for Embedded Software Security

Overview of Cryptography for Embedded Software
Embedded System-Level Security: How-To's
Update on Static Code Analysis for Embedded Software Security
Metrics for Software Defects and Vulnerabilities
Exercise: Cyclomatic Complexity


INSTRUCTOR:  Dr. David Kalinsky
Dr David Kalinsky has more than thirty years of experience in the design and construction of real-time and embedded computer systems software.  He is a popular lecturer and seminar leader on technologies for embedded software development, appearing before audiences of professional engineers in North America, Europe and Israel.  David regularly presents classes at the Embedded Systems Conferences on topics such as "Architectural Design of Device Drivers" and "Principles of High Availability Embedded Systems Design".

He has built and managed high-tech training programs on aspects of software engineering for the development of real-time and embedded systems for a number of Silicon Valley companies.  He has also been involved in the design of many embedded medical and aerospace systems.  In addition, he has in the past developed and taught training courses on a number of major real-time operating systems (RTOSs), including VRTX, pSOS, VxWorks, OSEK / VDX, Nucleus, OSE and others.  With his broad experience, he has trained thousands of embedded systems software engineers and architectural designers throughout the world.



Who We Are
We are a professional organisation providing training services to companies.  We offer a comprehensive range of training courses, workshops and seminars covering every aspects relating to engineering. 

We provide various training programs that meet the immediate and future needs of engineers. The training is organised through seminar style, hands-on workshop, project-based tutorial or a mixture to bring the maximum learning benefits to the enginners.
Our Trainers
We have a quality pool of leading authorities, worldwide experts and fully trained up professionals who are constantly striving to uncover the pitfalls and best practices of modern technology development.
     
All rights reserved by
Omniscient International
     About Us      Training       Calendar      Registration      Contact Us