Goal of this Proseminar is to give students a deep understanding of the typical security problems and weaknesses that pervade all kinds of IT systems today. The participants should be enabled to analyze IT systems for security vulnerabilities and hence to optimally secure such systems.
To this end, this seminar deals primarily with offensive aspects and techniques of IT security, for example, as used to compromise and infiltrate computer systems. A particular focus lies on the exploitation of vulnerabilities in security protocols and of software implementations. To provide a more solid understanding of the discussed attack techniques, this seminar strongly mixes theoretical and practical aspects. On the one hand, participants are conveyed the typical Proseminar learning contents (e.g., presentation techniques, autonomous work on the assigned topic, etc.). On the other hand, the participants are required to also introduce and apply established tools for exploiting and attacking IT systems in the context of capture-the-flag styled exercises as well as to consider defensive mechanisms to mitigate and prevent those attacks. Solely the topic “Social Engineering” is an exception from this approach and is discussed only theoretically.
Students are organised in teams of two. Every team has to deal in depth with one topic and give one presentation on their assigned topic. The practical exercises have to be worked on by every team. In contrast to the presentation sessions, there are no fixed dates for the practical exercises, but instead these tasks have to be solved in between the presentation session dates.
The exercise topic list includes:
Registration is closed!
Final registration is done at the kick-off meeting and physical presence at this meeting is required for participation in the seminar.
There are no formal requirements for participation.
However, basics in the area of computer networks as well as basics in programming/scripting are expected to be able to solve the practical exercises! In the practical exercises you are required to, e.g., perform SQL Injection attacks which require basic knowledge about SQL, to exploit buffer overflows vulnerabilities which requires basic understanding of memory organization and CPU architectures, or to scan networks which requires basic understanding of network addressing (or the ability to acquire such necessary knowledge when required). If you feel unsure about your capability to quickly acquire such knowledge, please reconsider registering for this course. Also, many of the attacks are performed with dedicated Linux distributions, thus you should be familiar with working with Linux.
1) Proseminar Talk and Summary
Each team gives one presentation in English (20 minutes plus 10 minutes discussion) and provides a written summary in English (2-3 pages) about their assigned topic. Templates for common presentation programs are provided . The summary must be written in LaTeX (you can use our template with example bibliography file). The summary should include a short overview of the topic including necessary technical background information as well as a thorough description of the assigned attack/vulnerability. Each team must submit a draft version of their report at latest two weeks before the end of the seminar to receive feedback from their assigned TA. The final reports are due at the end of the seminar!
Each team will be supervised by the TA responsible for the assigned topic. There will be a discussion session where each team meets with their advisor and discusses the topic. Before giving the presentation, each team will have to give a practice talk in a separate session with their advisor before the presentation.
We have very strict rules about submitting draft and final presentations/reports:
- Submitting a draft report and giving a practice talk are mandatory to successfully pass this seminar!
Deadlines for talks and reports:
- Practice talk: At latest the Friday before your presentation date! Contact your assigned TA to schedule a meeting!
- Draft report: July 10, 2016
- Final report: July 29, 2016
- Every team must submit their final presentation slides on the day of their presentation, since those slides act as a reference for the other teams.
Here is a list of recommended literature on how to prepare a good presentation and a good report:
- Educate and Entertain – A Guide for a Good Talk by Prof. Matteo Maffei
- Presentations by Prof. Andreas Zeller
- How to give a good research talk by Prof. Andreas Zeller
- How To Make an Oral Presentation of Your Research
- how to give a good presentation
- Hints for Writing a Seminar Report, a Paper, or a Thesis by Prof. Philipp Slusallek
- A TED speaker coach shares 11 tips for right before you go on stage by Gina Barnett
- Additionally some books on scientific writing and presentations can be borrowed from Sven Bugiel
2) Practical Exercises and Exercise Reports
Additionally, between two presentation sessions, the participants have to solve a practical exercise. Each exercise deals with the topic of the last presentation session, i.e., after the first teams presented WLAN/Network security, the practical exercise deals with, for instance, breaking wireless WLAN encryption. A list of recommended tools to perform the practical exercise is provided further down on this site. Prior to the subsequent presentation session, each team has to submit a short report on how they solved the exercise. In contrast to the assigned Proseminar summary (see above), these exercise reports are not evaluated by their form and layout, but purely by their content. Thus, although we encourage the use of LaTex to practice writing scientific documents, these reports can be authored in any other program (e.g., MS Word, OpenOffice, nano,…) as long as they remain readable.
Presentation session schedule
All presentation sessions take place between
10:00-12:00 (c.t.) in E9.1 Room 0.06 at the following dates
. Participation in the organizational meeting and all the presentation sessions is mandatory!
We encourage all students to present in English (see below for an explanation), but we allow presentations in German when requested.
2016-Apr-25 (14:00 s.t.)
|Password security||Frederik Möllers||Mehdi Hermi, Jan Pacovsky|
|Legal aspects||Prof. Christoph Sorge||Julian Hähnel, Lukas Kursatz|
|File system forensic||Frederik Möllers||Tobias Kirsch, Jannik Pfeifer|
|Coldboot attacks||Frederik Möllers||Alexander Rassier, Matthias Stockmayer|
|WLAN Security||Sven Bugiel||Mark Martinussen, Matthias Riegler|
|Network Layer 2||Sven Bugiel||Rudy Khalil, Jens Kreber|
|Buffer Overflow||Sven Bugiel||Sebastian Bodi, Sven Tangermann|
|Return-Oriented Programming||Sven Bugiel||Tobias Faber, Daniel Tabellion|
|SQL Injection||Ben Stock||Alexander Fink|
|XSS||Ben Stock||Jean-Luc Himbert, Matthias Kraus|
|Side-Channel Attacks||Sven Bugiel||Arne Mönnich, Florian Nawrath|
|Hardware Attacks / Embedded Systems||Stefan Nürnberger||Simeon Hoffmann, Sebastian Roth|
|TBA||Social Event / Hacker Jeopardy|
List of tools
The following list provides an overview of the suggested tools to be used in the practical exercises. In general, most of these tools are already available in the software repositories of the major Linux distributions and are included in dedicated Linux distributions for security testing such as Kali .
|nmap||nmap.org||Open source for network discovery; additions are available like GUI or tools for results analysis|
|Ettercap||ettercap.github.io||Network monitor and tool for man-in-the-middle attacks|
|Netcat||netcat.sourceforge.net||Network “swiss army knife”|
|OpenVAS||openvas.org||Open source vulnerability scanner|
|Metasploit||metasploit.com||Penetration test suite|
|John the ripper||openwall.com/john/||Password cracker|
|Cain and Abel||oxid.it/cain.html||Password recovery tool|
|Rainbow tables||project-rainbowcrack.com||General purpose cracking of hashes|
|Aircrack-ng||aircrack-ng.org||WEP and WPA-PSK key cracker|
|Kismet||kismetwireless.net||WLAN detector and sniffer|
Like other groups, we decided to hold this Proseminar in English for several reasons:
- The research papers, books, and other literature that is provided to you is written in English.
- For most notions that occur in the security and computer science literature the English notion has been commonly adopted in German (e.g., “stack” instead of “Kellerspeicher”) or are sometimes ambiguous in German. For instance, both “security” and “safety’ translate to “Sicherheit”, but have a different meaning in the literature. So for a German talk you would most likely resort to a presentation in “Denglisch”.
- The proseminar provides you with a safe space to practice your English. Speaking and writing in English will be required of you in most of your follow-up courses and seminars (if not all) and in your future career.
- English is fun!
Requirements for obtaining credit points (Scheinvergabe)
Your final grade is based on 1) the quality of your presentation and the quality of your written summary (
); and 2) solving the practical exercises and submitting reports on how they were solved (
). Both grades must be 4.0 or higher to successfully pass the course.
Participation in the organisational meeting and all the presentation sessions is required for obtaining the credit points! Submitting a draft report and giving a practice talk to your TA is required for obtaining the credit points!