Veranstaltung: Bachelor-Vertiefungspraktikum zur Hackertechnik

Nummer:
142244
Lehrform:
Praktikum
Medienform:
Folien
Verantwortlicher:
Prof. Dr. Jörg Schwenk
Dozenten:
Prof. Dr. Jörg Schwenk (ETIT), B. Sc. Marcus Niemietz (ETIT)
Sprache:
Deutsch
SWS:
3
LP:
3
Angeboten im:
Wintersemester und Sommersemester

Termine im Wintersemester

  • Beginn: Mittwoch den 10.10.2012
  • Praktikum Mittwochs: ab 16:00 bis 18.00 Uhr im ID 03/445

Termine im Sommersemester

  • Beginn: Mittwoch den 10.04.2013
  • Praktikum Mittwochs: ab 16:00 bis 18.00 Uhr im ID 03/445

Prüfung

Praktikum

studienbegleitend

Ziele

Den teilnehmenden Studierenden soll ein weit gefächertes Wissen über die häufigsten Schwachstellen in Webapplikationen vermittelt werden. Außerdem sollen sie lernen, wie sie derartige Schwachstellen manuell finden können, ohne die Hilfe von automatisierten Webapplikations-Scannern in Anspruch zu nehmen. Darüber hinaus lernen die Studierenden entsprechende Schutzmaßnahmen sowie deren Wirksamkeit kennen.

Inhalt

Webapplikationen sind im Zeitalter des Web-2.0 immer mehr zum Ziel von Angreifern geworden. So werden per SQL-Injektion fremde Datenbanken kompromittiert, per XSS-Schwachstelle Browsersessions gestohlen und per Cross-Site-Request-Forgery bekommt man von heute auf morgen unzählige neue Freunde in einem sozialen Netzwerk. Dazu wird nur ein einfacher Webbrowser benötigt.

Im Laufe dieses Praktikums sollen die Studierenden eine fiktive Online-Banking-Applikation angreifen und dabei die im Laufe der Veranstaltung erlernten Methoden und Techniken einsetzen. Dieses beinhaltet folgende Themengebiete:

  • Cross Site Scripting (XSS)
  • Cross Site Request Forgery (CSRF)
  • Session Hijacking
  • Session Fixation
  • SQL Injection (SQLi)
  • Local/Remote File Inclusion (LFI/RFI)
  • Path Traversal
  • Remote Code Execution (RCE)
  • Logical Flaws
  • Information Leakage
  • Insufficient Authorization

Das Wissen der Studierenden wird zudem durch externe Experten aus der Industrie und IT-Sicherheits-Szene, die in Vorträgen über verschiedene Thematiken der Webapplikations-Sicherheit referieren werden, angereichert.

Voraussetzungen

Die Teilnehmeranzahl ist aus organisatorischen Gründen auf 20 Studierende beschränkt. Zur Auswahl der Teilnehmer wird im Vorfeld ein Aufnahmetest durchgeführt.

Dieser wird am Montag, 8.4.2013 um 16 Uhr im Raum ID 03/445 stattfinden. In diesem Test wird das Grundwissen in Bezug auf die erforderlichen Vorkenntnisse überprüft. Der Test besteht aus 20 Multiple-Choice-Fragen; es steht eine maximale Bearbeitungszeit von 15 Minuten zur Verfügung.

Die 20 Studierenden mit den meisten richtigen Antworten werden zum Praktikum zugelassen. Bei Punktgleichheit entscheidet das Los über die endgültige Platzvergabe.

Es wird empfohlen, sich mit den angegebenen Dokumenten (siehe pdf-Dateien unter Materialien) auf den Aufnahmetest vorzubereiten.

Zusatzbemerkung: Die Teilnahme an den angebotenen Vorträgen während des Semesters ist unabhängig vom Aufnahmetest für alle Interessierten möglich.

Empfohlene Vorkenntnisse

  • Ausgeprägtes Interesse an IT-Sicherheit, speziell am Thema "Websicherheit"
  • Grundlegende Kenntnisse über TCP/IP und HTTP(S)
  • Grundlegende Kenntnisse über HTML / JavaScript
  • Grundkenntnisse in PHP oder einer ähnlichen Scriptsprache
  • Vorlesung Netzsicherheit I + II (Lehrstuhl NDS)

Materialien

Sonstige:

Literatur

  1. Niemietz, Marcus "Clickjacking und UI-Redressing – Vom Klick-Betrug zum Datenklau", dpunkt.verlag, 2012
  2. Heiderich, Mario, Eduardo, Alberto Vela Nava, Heyes, Gareth "Web Application Obfuscation", Syngress Media, 2010

Sonstiges

Anmeldung zum Aufnahmetest:

Die Anmeldung zum Aufnahmetest beginnt ab sofort per E-Mail an die Adresse nds+badbank@rub.de. Letzte mögliche Anmeldung ist am 3.4.2013 um 23.59 Uhr!

Die E-Mail muss folgende Informationen enthalten:

Vorname, Name, Matrikelnummer, Studiengang und Fachsemesteranzahl

Ohne eine vorherige Anmeldung per E-Mail kann nicht am Aufnahmetest teilgenommen werden!

Ablauf des Praktikums:

Im Laufe des Prak­ti­kums muss jeder Teil­neh­mer, un­ab­hän­gig von der Grup­pe, min­des­tens 3 Auf­ga­ben selb­stän­dig ge­löst haben, zusätzlich müssen alle Gruppen alle 6 Aufgaben selbständig gelöst haben. Ist dies nicht der Fall, kann der Stu­die­ren­de kei­nen Praktikumsschein er­wer­ben. Die Be­treu­er be­hal­ten sich zudem vor, even­tu­el­le Rückfra­gen zu der Lö­sung an den je­wei­li­gen Stu­die­ren­den zu stel­len um Missbrauch zu un­ter­bin­den.

Innerhalb der 14 Tage finden jeweils zwei Vorträge statt. Die Teilnahme an den Vorträgen ist obligatorisch! Teilnehmer dürfen bei den Vorträgen 1-mal unentschuldigt und 1-mal entschuldigt fehlen. Unabhängig davon müssen in jedem Fall alle gestellten Aufgaben gelöst werden.

Die Anwesenheit wird bei jedem Termin mit einer Anwesenheitsliste überprüft. Nach den Vorträgen wird die Möglichkeit bestehen, Fragen an die Referenten zu stellen. Das beste Team erhält am Ende des Praktikums einen Preis.