您希望搜索哪方面的内容?
Secure Coding Training
Learn to identify security vulnerabilities, secure crypto engines, and implement countermeasures.
Training at a Glance
Fundamentals of Secure Coding
In this training, embedded system developers will learn how to eliminate logical errors, harden critical code areas against fault attacks, and protect crypto algorithms against side-channel attacks. Most embedded security training focuses on attacks and building setups without addressing secure coding practices to protect your device and application from real-world attackers. This training emphasizes defensive coding techniques and available countermeasures that developers can apply immediately.
In programming, assumptions can lead to incorrectly validated input, and a device or application can be compromised when even a single vulnerability is identified by an attacker. Defense mechanisms come at a cost in execution time, required memory, or access to hardware components such as random number generators (RNGs). Participants will learn how to analyze these tradeoffs to make informed strategic decisions using tips, tricks, and best practices from our security analysts, who review large code bases and have years of experience performing side-channel analysis (SCA) and fault injection (FI) attacks.
Training Outline
- Introduction to side channel analysis (SCA)
- Simple power analysis (SPA)
- Understanding SPA
- Examples: PIN verification, RSA
- Differential power analysis (DPA)
- Performing DPA
- Examples: DES and AES encryption
- SCA countermeasures: Masking and hiding
- SCA in the presence of countermeasures
- Introduction to fault injection (FI)
- Characterization of faults
- Types of faults
- Instruction skipping, and data corruption
- Evaluating the complexity of FI attacks
- Software countermeasures
- Redundancy, control flow checks, and values checks
- Hardware countermeasures
- Glitch detectors, shields, and redundancy
- The cost versus effect of countermeasures
Related Trainings
Interested in this service? Reach out to learn more.