After successful completion of the course, students are able to master the basic concepts of system security, web security, and communications security, becoming familiar with the main security threats and best practices for secure programming.
In this semester the course will be offered in presence. During the lectures, the contents of the course are explained, together with practical examples.
Students are required to complete practical assignments, through which they can assimilate the concepts learned during the course. Every assignment typically consists of a vulnerable application that students must exploit, using the techniques shown in the course, in order to get access to sensitive data (a so-called flag), which is a proof of successful hacking attempt. Additionally, students must submit a report, in which they describe, among others, how they solved the problem and how the exploited vulnerability can be fixed to prevent further attacks.
We will offer periodically tutor hours to support students during the resolution of the homeworks. Tutor hours are offered both in place and online.
ECTS Breakdown (3 ECTS = 75 hours)
Lectures (16 hours)
Homeworks (42 hours)
Preparation to the exam (15 hours)
Exam (2 hours)
The (optional) complementary course Introduction to Security (UE, 192.082) offers additional practical assignments and guided discussions on the topics presented during this course.
Grading is based on the scores obtained in the submitted reports, where students describe how they solved the respective homeworks, and the result of written tests on the contents of the lecture.
The tests will take place in the lecture hall: if this is not possible (e.g., because of a lockdown or restrictions concerning the attendance at the university), tests will take place online over Zoom meetings and a camera (either on the laptop or on an additional device like a smartphone) must be active for the entire duration of the exam.