MSc Machine Learning

Year of entry: 2025

Course unit details:
Secure Computer Architecture and Systems

Course unit fact file
Unit code COMP60261
Credit rating 15
Unit level FHEQ level 7 – master's degree or fourth year of an integrated master's degree
Teaching period(s) Semester 1
Available as a free choice unit? No

Overview

Computer hardware, and the systems software that controls it (e.g. operating systems), are very important for modern computer security. Trusting the safety invariants maintained by computer architectures and systems software is crucial in almost all application domains. However, both computer hardware and systems software have been plagued by an increasing number of vulnerabilities that question their capacity for maintaining their security guarantees, often at a dire cost in terms of financial loss, business reputation/legal consequences, or even loss of life.


This unit will present the security aspects of modern computer hardware and systems software. It will introduce fundamentals about systems software and computer architecture, focusing on the key security guarantees computer systems aim to enforce: confidentiality, integrity, availability, identity and trust. The unit will describe how hardware and software work together to achieve these security goals. Additionally, the unit will discuss current security issues in both software and hardware, and the latest research efforts to address these problems.

Aims

The unit aims to present, from both the theoretical and practical points of view, the software and hardware aspects of engineering secure and resilient computer systems. More precisely, it aims to familiarise the students with the fundamentals of systems software and computer architecture. The focus is on the security aspects of both domains, including how software and hardware interact to provide the guarantees necessary for the integrity and resilience of computer systems, and to highlight the main modern trends in software/hardware systems security research.

Learning outcomes

1. Describe the basic aspects of computer systems security.

2. Discuss the fundamental security objectives of systems software, and how they interact with the hardware to achieve these goals.

3. List the main research trends in systems software and computer architecture security.

4. Describe the hardware constructs on which secured software depend.

5. Compare and contrast the different approaches at building computer systems that are resilient against modern threats.

6. Identify and analyse the risks stemming from vulnerabilities in systems software and computer architectures.

7. Reproduce existing attacks against computer systems.

8. Demonstrate the efficiency of modern countermeasures against the threats faced by computer systems.

Syllabus

This course unit will cover the following topics:

  • Basic Systems Software Security Concepts
  • Brief Introduction to Systems Software Programming Languages (C)
  • Memory Safety
  • Operating Systems Working Principles
  • Operating Systems Security Principles
  • Software Compartmentalisation
  • Working and Security Principles of Virtualised Environments
  • Fundamentals of Computer Architecture
  • Fundamentals of Hardware Security Constructs
  • Advanced Hardware Security Technologies
  • Hardware Side Channels

Teaching and learning methods

  • Lectures: 21h in total, 2 x 1 hour of lecture materials per week (part of it delivered asynchronously in video format), 1 x 1 hour revision session in the last week of teaching.
  • Laboratories: 4 to 5 lab exercises, to be completed at home.
  • Office hours: 1 x 1 hour of office hours per week.
  • Feedback: Formative feedback given through the completion of quizzes. Summative feedback provided with the lab exercises’ marks. Oral feedback provided during office hours.
  • Assessment: 4 to 5 summative lab exercises, one 2-hour exam at the end of the module.

Employability skills

Innovation/creativity
Problem solving
Research

Assessment methods

Method Weight
Other 70%
Practical skills assessment 30%
  • Other (70%) refers to Online exam

Feedback methods

Formative feedback given through the completion of quizzes. Summative feedback provided with the lab exercises’ marks. Oral feedback provided during office hours.

Recommended reading

  • Security Engineering: A Guide to Building Dependable Distributed Systems, Ross Anderson, Wiley, 2021.
  • Hacking: The Art of Exploitation, Jon Erickson, No Starch Press, 2008.
  • Linux Kernel Development, Robert Love, Addison-Wesley, 2003.
  • Hardware and Software Support for Virtualization, Edouard Bugnion, Jason Nieh, and Dan Tsafrir, Morgan and Claypool, 2017.
  • Computer Architecture: A Quantitative Approach, John L. Hennessy and David A. Patterson, Morgan Kaufmann, 2017.

Study hours

Scheduled activity hours
eAssessment 2
Lectures 15
Independent study hours
Independent study 133

Teaching staff

Staff member Role
Pierre Olivier Unit coordinator

Additional notes

Summative lab exercises should take about 20 hours of independent study to complete.


Part of the lecture materials will be delivered asynchronously in the form of videos: there should be around 3 hours of videos.


Office hours for this unit would be 10 hours.

Return to course details