Course overview
The purpose of the course is to learn about secure software, including its design, implementation and maintenance. During the course students will be exposed to a selection of topics from the following: performing threat modelling, issues in authentication and authorisation, auditing for security, input sanitising, TOCTOU vulnerabilities, memory management issues, fixing vulnerabilities and patch distribution. The course requires previous programming experience and some understanding of computer systems.
Course learning outcomes
- Gain knowledge on how to develop secure software
- Understand the causes of security vulnerabilities and how they are exploited
- Develop skills in using security-oriented software techniques
- Read and analyse scientific papers and synthesize the contents across a subdoamain