Software Defense is a broad topic requiring a multipronged approach including:
- the processes and tooling associated with secure development (that we try and encapsulate within the Microsoft SDL),
- core OS countermeasures that make exploitation of a given vulnerability more difficult for an attacker,
- steps to secure the hardware on which the software runs,