CYB802 – Programming and Secure Software Development
This unit addresses fundamental programming errors that lead to common, dangerous and disruptive software vulnerabilities. It aims to provide students with an in-depth systems analysis of programming errors that have led to these vulnerabilities and mitigation strategies that can be effectively and practically applied to reduce or eliminate the risk of exploitation. The unit is aimed at programmers, software project managers, computer scientists and security analysts. It is organised around functional capabilities commonly implemented by software engineers. Each week focuses on a different insecure programming practice and common errors that can lead to vulnerabilities, how these programming flaws can be exploited, the potential consequences of exploitation, and secure alternatives.
Learning Outcomes:
- Critically reflect on the need and utility of secure programming practices in the contemporary context of organisations and society
- Identify, describe and illustrate how common programming errors result in software vulnerabilities
- Explain and demonstrate how programming errors are exploited from a cybersecurity perspective
- Demonstrate programming practices that avoid programming errors to enable development of secure programs
- Describe and demonstrate methods of detecting software vulnerabilities as well as practical avoidance strategies
Describe and demonstrate best practices in secure programming and justify their utility in professional practice