Skip to main content

Unit information: Systems and Software Security (Teaching Unit) in 2023/24

Unit name Systems and Software Security (Teaching Unit)
Unit code COMSM0049
Credit points 0
Level of study M/7
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Dr. Belguith
Open unit status Not open
Units you must take before you take this one (pre-requisite units)

COMS10016 Imperative and Functional Programming and COMS10017 Object Oriented Programming and Algorithms I or equivalent

COMS10015 Computer Architecture and COMS10012 Software Tools or equivalent.

COMS20008 Computer Systems A and COMS20012 Computer Systems B or equivalent.

Understanding and ability to work with:

  • C Programming
  • Computer Architecture
  • Software Development Tools
  • Compiler
  • Operating Systems
  • Networking
Units you must take alongside this one (co-requisite units)

EITHER COMSM0050 Systems and Software Security (Exam assessment, 10 credits)

OR COMSM0141 Systems and Software Security (Coursework and Exam assessment, 20 credits).

Please note:

COMSM0049 is the Teaching Unit for the Systems and Software Security option.

Single Honours Computer Science and some Joint Honours students can choose to be assessed by either examination (10 credits, COMSM0050) or coursework (20 credits, COMSM0141) by selecting the appropriate co-requisite assessment unit.

Any other students that are permitted to take the Systems and Software Security option are assessed by examination (10 credits) and should be enrolled on the co-requisite exam assessment unit (COMSM0050).

Units you may not take alongside this one

None.

School/department School of Computer Science
Faculty Faculty of Engineering

Unit Information

Modern computer systems are large and complex and built over decades of technology and innovation. Vulnerabilities emerges from a combination of those properties. In this unit, we study how to identify such vulnerabilities and how to protect computer systems & software. This unit is intended for students with a strong computer science background and build on knowledge about computer architecture, networking, operating systems design, programming and compilation.

We explore Systems & Software Security from two complementary perspective: defensive and offensive techniques. Firstly, we will study the following defensive techniques:

- Automated vulnerability detection/analysis; - Advanced Mitigation Techniques; - Operating Systems Hardening; - Hardware-based Security.

Understanding an attacker and methods is important to design secure software and systems. Secondly, we will study the following topics:

- Advanced Software Exploitation Techniques; - Hardware Exploitation;

Your learning on this unit

Learning Outcomes

On successful completion of this unit, students will be able to:

  1. Recognise and describe offensive techniques used in the wild.
  2. Be able to describe, identify and relate key principles and approaches of how systems and software can be engineered to protect against offensive techniques.
  3. Critically analyse software and systems design from a security perspective and thereby become a better system and software engineer.
  4. Be able to describe and relate aspects of modern computer systems that together form structures of significant complexity.
  5. Communicate about complex technical topics.

When the unit is taken with the associated 20 credit option that includes coursework, students will also be able to:

6. Apply techniques for exploiting software/systems vulnerabilities in practice.

How you will learn

Teaching will be delivered through a combination of synchronous and asynchronous sessions, including lectures, practical activities and labs, supported by problem sheets and self-directed exercises.

Teaching will take place over Weeks 1-7, with coursework support in weeks 9-11 and for students assessed by examination, consolidation and revision sessions in Weeks 12. If taken with coursework, the unit also provides weekly coursework support sessions.

How you will be assessed

Examination details:

2 hour examination (10 credits: COMSM0050 - 100%; COMSM0141 – 50%).

For students taking COMSM0141: Coursework (50%, equiv to 10 credits) - to be completed during Weeks 9-11.

When assessment does not go to plan

Students will retake relevant assessments in a like-for-like fashion in accordance with the University rules and regulations

Resources

If this unit has a Resource List, you will normally find a link to it in the Blackboard area for the unit. Sometimes there will be a separate link for each weekly topic.

If you are unable to access a list through Blackboard, you can also find it via the Resource Lists homepage. Search for the list by the unit name or code (e.g. COMSM0049).

How much time the unit requires
Each credit equates to 10 hours of total student input. For example a 20 credit unit will take you 200 hours of study to complete. Your total learning time is made up of contact time, directed learning tasks, independent learning and assessment activity.

See the University Workload statement relating to this unit for more information.

Assessment
The Board of Examiners will consider all cases where students have failed or not completed the assessments required for credit. The Board considers each student's outcomes across all the units which contribute to each year's programme of study. For appropriate assessments, if you have self-certificated your absence, you will normally be required to complete it the next time it runs (for assessments at the end of TB1 and TB2 this is usually in the next re-assessment period).
The Board of Examiners will take into account any exceptional circumstances and operates within the Regulations and Code of Practice for Taught Programmes.

Feedback