6 points, SCA Band 2, 0.125 EFTSL
Postgraduate - Unit
Refer to the specific census and withdrawal dates for the semester(s) in which this unit is offered.
Faculty
Unit guides
Synopsis
This unit aims to introduce the secure software development issues including secure software development life cycle, secure software design principles, secure coding practices, threat evaluation models, secure software testing, deployment and maintenance, software development and security policy integration. Students are provided with a range of practical exercises and tasks to reinforce their skills including: identification of security bugs in programs written in different programming languages, design, implementation, and testing of secure concurrent and networked applications, identification of vulnerabilities in networked and mobile/wireless applications. In addition, students will learn input validation techniques to minimise security risks, man-in-the-middle attack techniques to be able to build more secure networked applications, practical secure software testing techniques to be able to test applications for security bugs.
Outcomes
On successful completion of this unit, students should be able to:
- investigate methods that are appropriate for the realisation software security;
- investigate and model the possible vulnerabilities and threats for a given application system;
- design, implement and produce test procedures and perform evaluation of software security features of concurrent and networked applications.
Assessment
Examination (2 hours): 50%; In-semester assessment: 50%
Workload requirements
Minimum total expected workload equals 12 hours per week comprising:
- Contact hours for on-campus students:
- Two hours of lectures
- One 2-hour tutorial
- Additional requirements (all students):
- A minimum of 8 hours independent study per week for completing lab and project work, private study and revision.
See also Unit timetable information
Chief examiner(s)
This unit applies to the following area(s) of study
Prerequisites
FIT9131 or FIT9133 or equivalent
Prerequisite knowledge: Programming experience, preferably in C or C++