252-1414-00L System Security
Semester | Autumn Semester 2022 |
Lecturers | S. Capkun, S. Shinde |
Periodicity | yearly recurring course |
Language of instruction | English |
Abstract | The first part of the course covers general security concepts and hardware-based support for security. In the second part, the focus is on system design and methodologies for building secure systems. |
Learning objective | In this lecture, students learn about the security requirements and capabilities that are expected from modern hardware, operating systems, and other software environments. An overview of available technologies, algorithms and standards is given, with which these requirements can be met. |
Content | The first part of the lecture covers hardware-based security concepts. Topics include the concept of physical and software-based side channel attacks on hardware resources, architectural support for security (e.g., memory management and permissions, disk encryption), and trusted execution environments (Intel SGX, ARM TrustZone, AMD SEV, and RISC-V Keystone). In the second part, the focus is on system design and methodologies for building secure systems. Topics include: common software faults (e.g., buffer overflows, etc.), bug-detection, writing secure software (design, architecture, QA, testing), compiler-supported security (e.g., control-flow integrity), and language-supported security (e.g., memory safety). Along the lectures, model cases will be elaborated and evaluated in the exercises. |