Security Architecture and Engineering

Secure Programming

Challenge

  • Most penetrations are due to buggy software.
  • Good software design leads to good security.

Goals

  • Avoid bugs
  • Enforce security
  • Proper components & proper composition

Avoid Bugs

  • C language is a big problem
    • Buffer overflow
      • Character strings in C = arrays of chars
      • No array bounds checking in C
      • Attacker's goal: overflow array in a controlled fashion.