Detailed Course Outline
Day 1
- Cyber security basics- What is security?
- Threat and risk
- Cyber security threat types – the CIA triad
- Cyber security threat types – the STRIDE model
- Consequences of insecure software
 
- Memory management vulnerabilities- Assembly basics and calling conventions
- Buffer overflow
- Best practices and some typical mistakes
 
Day 2
- Memory management hardening- Securing the toolchain
- Runtime protections
- Non-executable memory areas
 
- Common software security weaknesses- Security features
- Code quality
 
Day 3
- Common software security weaknesses- Input validation
- Errors
 
- Wrap up- Secure coding principles
- And now what?
 
