192.019 Introduction to Security
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2024S, VU, 4.0h, 6.0EC
TUWEL

Properties

  • Semester hours: 4.0
  • Credits: 6.0
  • Type: VU Lecture and Exercise
  • Format: Presence

Learning outcomes

After successful completion of the course, students are able to:

  • identify common vulnerabilities in applications and computer systems, and assess their security implications;
  • apply secure programming practices, analysis techniques, and defensive mechanisms during the development and deployment of secure software and systems;
  • select and effectively use cryptographic algorithms in systems and applications depending on the desired security properties.

Subject of course

  • Fundamental security principles (confidentiality, integrity, availability) and design principles for secure systems
  • Foundations of cryptography: symmetric and asymmetric encryption algorithms, modes of operations, padding schemes, hash functions, message authentication codes, digital signatures, key exchange protocols, authenticated encryption
  • Public key infrastructures (digital certificates, components of a PKI, certificate transparency) and the TLS protocol
  • Authentication (passwords, OTPs, challenge-response methods, biometrics) and access control mechanisms (access control matrix, ACL, capabilities)
  • Network security: reflection and amplification attacks, spoofing, firewall systems, VPN, Tor
  • Web security: background (languages, HTTP protocol, cookies, Same Origin Policy, framing), server-side attacks (SQL and NoSQL injections, command injections, path traversals, access control, and business logic vulnerabilities), client-side attacks (Cross-Site Request Forgeries, Cross-Site Scripting, DOM clobbering), countermeasures (tokenization, prepared statements, etc.), security policies (CSP, CORS), tools for testing and exploitation of web applications (Burp Suite)
  • System security: background (introduction to C and assembly x86-64, debugger, other tools for program analysis), basic memory corruption vulnerabilities (overwrite of variables and function pointers, shellcode, overwrite of the return address), return-oriented programming, GOT overwrite, mitigation and protection techniques (DEP, stack canaries, ASLR, PIE), basics of heap overflows, tools for the exploitation of memory corruption vulnerabilities

Analysis techniques for the verification of applications and computer systems

Teaching methods

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 answers some questions about, 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.

Mode of examination

Immanent

Additional information

ECTS Breakdown (6 ECTS = 150 hours)

Lectures (27 hours)
Homeworks (90 hours)
Preparation for the exam (30 hours)
Exam (3 hours)

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Mon14:00 - 16:0011.03.2024 - 10.06.2024Informatikhörsaal - ARCH-INF Lecture
Thu14:00 - 16:0014.03.2024 - 13.06.2024Informatikhörsaal - ARCH-INF Lecture
Introduction to Security - Single appointments
DayDateTimeLocationDescription
Mon11.03.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu14.03.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Mon18.03.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu21.03.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Mon08.04.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu11.04.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Mon15.04.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Mon22.04.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Mon29.04.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu02.05.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Mon06.05.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Mon13.05.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu16.05.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu23.05.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Mon27.05.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Mon03.06.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu06.06.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Mon10.06.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu13.06.202414:00 - 16:00Informatikhörsaal - ARCH-INF Lecture

Examination modalities

Grading is based on the homeworks and the result of written tests on the contents of the course.

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.

Exams

DayTimeDateRoomMode of examinationApplication timeApplication modeExam
Mon16:00 - 18:0017.06.2024EI 7 Hörsaal - ETIT written20.05.2024 00:00 - 13.06.2024 23:59TISS2. Test
Mon16:00 - 18:0017.06.2024GM 1 Audi. Max.- ARCH-INF written20.05.2024 00:00 - 13.06.2024 23:59TISS2. Test
Tue10:00 - 12:0017.09.2024GM 2 Radinger Hörsaal - TCH written01.08.2024 00:00 - 13.09.2024 23:59TISS1. Test - Retake
Tue10:00 - 12:0017.09.2024GM 5 Praktikum HS- TCH written01.08.2024 00:00 - 13.09.2024 23:59TISS1. Test - Retake
Tue10:00 - 12:0017.09.2024Informatikhörsaal - ARCH-INF written01.08.2024 00:00 - 13.09.2024 23:59TISS1. Test - Retake
Mon10:00 - 12:0030.09.2024FH Hörsaal 1 - MWB written01.08.2024 00:00 - 26.09.2024 23:59TISS2. Test - Retake
Mon10:00 - 12:0030.09.2024Informatikhörsaal - ARCH-INF written01.08.2024 00:00 - 26.09.2024 23:59TISS2. Test - Retake

Course registration

Begin End Deregistration end
12.02.2024 00:00 14.03.2024 23:59 14.03.2024 23:59

Curricula

Study CodeObligationSemesterPrecon.Info
033 521 Informatics Mandatory4. SemesterSTEOP
Course requires the completion of the introductory and orientation phase
033 526 Business Informatics Mandatory5. SemesterSTEOP
Course requires the completion of the introductory and orientation phase
033 532 Media Informatics and Visual Computing Mandatory electiveSTEOP
Course requires the completion of the introductory and orientation phase
033 533 Medical Informatics Mandatory5. SemesterSTEOP
Course requires the completion of the introductory and orientation phase
033 534 Software & Information Engineering Mandatory4. SemesterSTEOP
Course requires the completion of the introductory and orientation phase
033 535 Computer Engineering Mandatory electiveSTEOP
Course requires the completion of the introductory and orientation phase

Literature

No lecture notes are available.

Previous knowledge

None

Language

English