Secure application development studies how software is written to resist exploitation, spanning the operating system’s process model, access control, and defensive coding practices.
A program’s vulnerabilities exist at 2 levels.
- Source level
Logic errors, unsafe library calls, missing input validation. - Execution level
Memory layout, access control, privilege boundaries enforced by the OS.
This module assumes familiarity with the OS process model. Revise process context, process control block, and process states before continuing.