Language-based Security
News
- The course will be held at TUM in presence again!
- The first lecture will be on 18.04.2023 - 16:00 - 18:00
Contents
Lecture Topics
- Run-time Organization of Programs
- Code Injection Attacks and Defenses
- Buffer overflows and Stack Canaries
- Control-flow hijacking and Control-Flow Integrity
- Code Re-use Attacks and Defenses
- Return-oriented Programming and Software Diversity
- Counterfeit object-oriented programming (COOP)
- Just-in-time Return-oriented Programming (JIT-ROP)
- Address-Oblivious Code Reuse (AOCR)
- Data Attacks
- Non-control Data Attacks and Data-Flow Integrity/Randomization
- Transient Execution Attacks
- Overview of Spectre attacks and defenses
- Information Flow Tracking in JavaScript
Lab Assignments
The lab assignments are designed to reinforce understanding the contents described in the lectures.
There is a total of five lab assignments with the following contents:
- Buffer overflows and stack canaries.
- Code-reuse attacks and software diversity: Instruction Granularity
- Code-reuse attacks and software diversity: Super-Instruction Granularity
- Timing-based Side Channel Attacks and Defenses
- Comprehension of Language-based Security through system analysis
Lecture Slides & Lab Assignments
The lecture slides will be made available via the ILIAS course management software.
Exam
The examination is an oral examination (60 minutes) in two parts (weighting 50/50).
The first part consists in a presentation of the executable implementations
of simple techniques of the four exsheets on the laptop or projector and the
answering of specific questions. Through this first part, students
demonstrate the ability to use theoretical content to solve concrete,
application-related problems and to implement these solutions.
The second part of the oral examination consists of three questions
on the subject matter of the lecture and topics covered here.
This second part of the oral test demonstrates the extent to which understanding basic
language-based security procedures can be obtained.
Thus, as a whole, it should be demonstrated that in a limited time,
for example, types of current attacks and/security issues can be correctly identified
and effective defense techniques and/or answers can be found.
Possibility of re-taking:
- At the end of the semester: Yes
- In the next semester: No
Recommended Requirements
- IN2227 - Compiler Construction I
- IN2040 - Virtual Machines
- IN2209 - IT Security