Lecture Type
Proseminar
Instructors
Prof. Dr. Michael Backes
Prof. Dr. Christoph Sorge
Advisors
bugiel(aeht)cs.uni-saarland.de
stock(aeht)cs.uni-saarland.de
frederik.moellers(aeht)uni-saarland.de
nuernberger(aeht)cs.uni-saarland.de
Tutors
Joshua Steffensky
Marius Steffens
Kick-off Meeting
Monday, 25th April, 2016, from 14:00 – 16:00 (s.t.) , E9.1 Room 0.06 (TIME CHANGED!)
Language
English (German possible on request)
Contact
bugiel(aeht)cs.uni-saarland.de
University Calender
Proseminar Hacking

Latest News

  • 25.04.2016: Kick-off slides online; team assignments posted; exercise 0 online
  • 22.04.2016: Time for kick-off meeting changed!
  • 05.04.2016: Changed time slot to Monday 10-12 to avoid collision with other lectures
  • 29.03.2016: The course website is online

Description

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:

  • Discovery and analysis of target systems
  • Breaking passwords
  • Breaking WEP/WPA
  • Attacks on web applications
  • Software exploitation
  • Forensic techniques
  • Privilege escalation and operating system security
  • Side-channel attacks
  • Attacks against embedded systems

Registration

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.

Please note that the number of participants is limited to 24 (12 teams)!

Prerequisites

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.

A CIP pool with workstations for the practical exercises is provided, however, for some tasks, it is beneficial if the participants have a laptop available.

Modus operandi

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:

  1. Submitting a draft report and giving a practice talk are mandatory to successfully pass this seminar!
  2. 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
  3. 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:

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.

Every presentation session starts with a short recap on how to solve the last exercise, thus, also reserving time to answer open questions and briefly discuss alternative approaches or counter-measures.

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.

Date Topic TA Students
2016-Apr-25 (14:00 s.t.)
Exercise 0
Kick-off meeting
2016-May-09
Exercise 1
Password security Frederik Möllers Mehdi Hermi, Jan Pacovsky
Legal aspects Prof. Christoph Sorge Julian Hähnel, Lukas Kursatz
2016-May-23
Exercise 2
File system forensic Frederik Möllers Tobias Kirsch, Jannik Pfeifer
Coldboot attacks Frederik Möllers Alexander Rassier, Matthias Stockmayer
2016-Jun-06
Exercise 3
WLAN Security Sven Bugiel Mark Martinussen, Matthias Riegler
Network Layer 2 Sven Bugiel Rudy Khalil, Jens Kreber
2016-Jun-20
Exercise 4
Buffer Overflow Sven Bugiel Sebastian Bodi, Sven Tangermann
Return-Oriented Programming Sven Bugiel Tobias Faber, Daniel Tabellion
2016-Jul-04
Exercise 5
SQL Injection Ben Stock Alexander Fink
XSS Ben Stock Jean-Luc Himbert, Matthias Kraus
2016-Jul-18
Exercise 6
Side-Channel Attacks Sven Bugiel Arne Mönnich, Florian Nawrath
Hardware Attacks / Embedded Systems Stefan Nürnberger Simeon Hoffmann, Sebastian Roth
2016-Jul-25 Concluding meeting
TBA Social Event / Hacker Jeopardy

Please note that this list of dates might be subject to changes! Any changes will be propagated via email to the participants.

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 .

Tool URL Description
nmap nmap.org Open source for network discovery; additions are available like GUI or tools for results analysis
Wireshark wireshark.org Network sniffer
Etherape etherape.sourceforge.net Network monitor
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

Why English?

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!

The TAs speak both German and English and will help you in case of problems. Moreover, your grade will not be influenced by your language skills! We strongly encourage you for above mentioned reasons to present in English, but we allow presentations in German if favoured by the speaker.

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 ( 35% ); and 2) solving the practical exercises and submitting reports on how they were solved ( 65% ). 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!