Secure coding in C++ (SECC-C) – Outline

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?