Hoppa till huvudinnehållet
Till KTH:s startsida

DD2529 Project Course on Operating Systems and Compiler Support for Security 7.5 credits

Course memo Autumn 2026-11595

Version 1 – 06/30/2026, 12:53:38 PM

Course offering

oscsec26 (Start date 26 Oct 2026, English)

Language Of Instruction

English

Offered By

EECS/Theoretical Computer Science

Course memo Autumn 2026

Headings denoted with an asterisk ( * ) is retrieved from the course syllabus version Autumn 2026

Content and learning outcomes

Course contents

During the course the students work in groups to develop techniques for protecting system software. We focus on vulnerabilities such as buffer overflows, code injection, control flow manipulation, side-channel attacks, and fault injection. The project will use techniques based on memory isolation, runtime monitoring, static analysis, and diversification to prevent, detect, or mitigate illegal behavior. Our experiments are based on an existing operating system and existing compilers.

  • Part I. Introductions and tutorials on the operating system and compiler chosen by the teacher for this course.
  • Part II. Lectures on the latest defense mechanisms.

Intended learning outcomes

After passing the course, the student should be able to

  • identify vulnerability of systems, exploit them and evaluate their impact
  • compare the efficacy of different countermeasures
  • design and implement security mechanisms for computer systems
  • document their arguments and results

in order to be able to evaluate and improve the security of computer systems.

Learning activities

The project should focus on Operating System Security or Compiler extensions to support security. As a group (of four students) you can choose three platforms

  • s3k: if you are interested in developing run-time defences. s3k is a separation developed at KTH based on capability model and focuses on providing spatial and timing isolation. We offer 3 Lectures and tutorials s3k.
  • llvm: if you are interested in developing compile-time defences. We link few good source of examples on implementing llvm passes. We offer 1 Lecture and tutorials on LLVM.
  • Other systems (linux, qemu, hypervisors, etc). We do not offer learning material on other platforms. If you want to work on something different than s3k or llvm you must implement a state of the art project for a platform that you already know.

Detailed plan

  • 1 introduction lecture on system security. In this lecture we will discuss motivations and course structure. 
  • 3 lectures/tutorials on s3k. These lectures explain the internals of a small operating system. 
  • 1 lecture/tutorial on llvm. This lectures explain the how to implement analyses and code transofrmations in LLVM
  • 3 lectures on system security. In these lectures we will present state of the art solutions that have been published in security conferences. 
  • Supervision meetings (one per week per group, mandatory one every two weeks)

Preparations before course start

Specific preparations

  • General knowledge about computer security
  • Some experience with programming in C/C++/or Rust

Literature

  • For s3k (slides, lectures, recorded lectures, tutorials):
  • For llvm (slides, lectures, recorded lectures, tutorials):
    • llvm-tutor
    • clang-tutor
  • Research papers

Examination and completion

Grading scale

P, F

Examination

  • INL1 - Project Documentation, 1.0 credits, grading scale: P, F
  • PRO1 - Project Work, 6.5 credits, grading scale: P, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability. The examiner may apply another examination format when re-examining individual students. If the course is discontinued, students may request to be examined during the following two academic years.

The section below is not retrieved from the course syllabus:

INL1 - Project Documentation, 1.0 credits

PRO1 - Project Work, 6.5 credits

Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

No information inserted

Round Facts

Start date

26 Oct 2026

Course offering

  • oscsec26 Autumn 2026-11595

Language Of Instruction

English

Offered By

EECS/Theoretical Computer Science

Contacts

Course Coordinator

Teachers

Examiner