Teaching Responsibility
LJMU Schools involved in Delivery:
LJMU Partner Taught
Learning Methods
Lecture
Practical
Tutorial
Module Offerings
5618YCOM-JAN-PAR
Aims
To familiarise students with common software security problems and vulnerabilities, and the methods, tools and techniques that can be used during software development to prevent them, including formal techniques.
To provide students with an understanding of techniques that should be applied throughout the software development lifecycle in order to improve software security.
Learning Outcomes
1.
Analyse software security vulnerabilities and apply best-practice practical techniques to prevent them.
2.
Apply wide-ranging technical and conceptual security skills to the software development lifecycle.
3.
Demonstrate awareness of the complexity of contemporary software vulnerabilities and the techniques to discover and mitigate them.
4.
Demonstrate a collaborative approach to problem solving
Module Content
Outline Syllabus:• Characteristics of large-scale software systems projects, team membership and activities.
• Common software vulnerabilities.
• Programming languages and security characteristics, decompilation and obfuscation.
• Integrating security into the software development lifecycle.
• Threat modelling.
• Formal techniques for vulnerability analysis.
• Testing, including practical experience of unit testing and fuzz testing.
• Networking vulnerabilities.
• Random number generation and cryptography.
• Secure deployment.
• General rules and guidelines; secure coding policies.
• Recent examples from computing are used throughout and practical exercises used to illustrate the applications of these concepts.
Additional Information:Students will undertake a software engineering task involving the application of secure software development lifecycles to a software development task. As part of this task, students will be expected to complete a report that demonstrates an understanding of how software should be designed, implemented, and tested to reduce the risk of security vulnerabilities. Students will also be expected to discover and mitigate vulnerabilities in software provided to them as part of this activity.