Source Code Analysis

Seminar: Quellcode-Analyse - Oder, wie funktioniert eigentlich Windows?
Sommersemester 2009

Prof. Dr. Andreas Polze
Dipl.-Inf. Alexander Schmidt
Johannes Passing, M.Sc.

2 SWS Seminar - 3 Credits (benotet/unbenotet)
Mi 11:00-12:30 Uhr, Kommunikationszone C-1

Ablauf und Leistungserfassungsprozess

Ziel des Seminars ist es, gegebenen Quellcode bezüglich einer konkreten Fragestellung zu analysieren und das erworbene Wissen in Form eines praktischen Experiments zu demonstrieren. Als Quellcodebasis dient bei diesem Seminar der Windows Research Kernel. Der Windows Research Kernel (WRK) beinhaltet einen Großteil der Windows Server 2003-Quellen und ist an akademischen Einrichtungen frei verfügbar.

Die Bearbeitung der Themen erfolgt in Zweiergruppen. Alle Teilnehmer müssen sich mit ihrem Thema in Form einer schriftlichen Ausarbeitung (max. 20 Seiten) auseinandersetzen. Es ist geplant, diese Arbeiten als englischsprachigen, technischen Bericht zu veröffentlichen. Neben der Ausarbeitung sollen die Teilnehmer Teile des Windows Kernels auf Grund der erworbenen Kenntnisse modifizieren. Dieses Experiment soll in einem Vortrag den anderen Teilnehmern präsentiert werden. In die Bewertung des Seminars (3 benotete/unbenotete Leistungspunkte) gehen Vortrag, Implementierung und Ausarbeitung ein.

Die Themenliste wird in der ersten Einheit (22.04.2009) bekannt gegeben und anschließend auf dieser Seite veröffentlicht. Themenvergabe und Terminfindung findet am 29.04.2009 statt. Um eine gleichmäßige Bearbeitung der Themen zu gewährleisten, bieten wir regelmäßige Konsultationen an. Die Termine dafür werden individuell nach Absprache mit dem Betreuer vergeben.

Termine

  • Themenvergabe: 29.04.2009, 11:00 Uhr
  • Konsultationen (2wöchig):
    • 06.05.2009, 11:00 Uhr
    • 20.05.2009, 11:00 Uhr
    • 03.06.2009, 11:00 Uhr
    • 17.06.2009, 11:00 Uhr
    • 01.07.2009, 11:00 Uhr
  • In Vorbereitung auf die Vorträge bieten wir am 08.07.2009 folgende Gruppenkonsultationen an:
    • 09:00 Uhr: Gruppe 1
    • 09:20 Uhr: Gruppe 3
    • 09:40 Uhr: Gruppe 4
    • 10:00 Uhr: Gruppe 5
    • 10:20 Uhr: Gruppe 2
  • Vortragsblock: 10.07.2009, ab 09:30 Uhr, Raum A-1.1
  • Abgabe der schriftlichen Ausarbeitung: Freitag, 28.08.2009.
    Bitte geben Sie die Ausarbeitung in schriftlichter Form bei Sabine Wagner ab und senden sie in elektronischer Form an Ihren jeweiligen Betreuer. Für eine geeignete Übergabe der Screencasts Ihrer Experimente wenden Sie sich bitte per Email an Ihren Betreuer. Das Datum für die Abgabe ist ebenfalls Freitag, der 28.08.2009.
  • Themenliste

    Themenzuordnung

    Weitere Einzelheiten zu den Themenvorschlägen entnehmen Sie bitte den Folien der Einführungsveranstaltung.

    Nr. Thema Gruppe Betreuer Vortragsdatum
    1 Lebenszyklus eines Windows-NT-Objektes Jan Brunnert
    Robert Krahn
    Johannes Passing 10.07.2009
    2 Funktionsweise des Windows-Dispatchers Vitaly Kats
    Steven Reinisch
    Alexander Schmidt 10.07.2009
    3 Zugriffskontrolle bei Windows-NT-Objekten Ingo Jaeckel
    Paul Römer
    Sebastian Klose
    Alexander Schmidt 10.07.2009
    4 Working Set Management Fabian Garagnon
    Lion Vollnhals
    Alexander Schmidt 10.07.2009
    5 Pool-Management Frank Zschockelt
    Erik Schleiff
    Johannes Passing 10.07.2009

    Literatur/Materialien

    • Mark E. Russinovich, David A. Solomon, Microsoft Windows Internals. 4th Edition, MS Press, 2005. ISBN: 0-7356-1917-4
    • Quellcode-Dokumentation des WRK
    • Windows Research Kernel @ HPI Webseite.
    • SVN-Repository. Zur Authentifizierung wird ein HPI-Zertifikat benötigt. Es existiert ein Master-Repository, auf dem aber nicht entwickelt wird. Jede Gruppe sollte sich von diesem Verzeichnis eine Kopie erstellen mit dem folgenden Namensschema: <Gruppennummer>_<beliebiger Arbeitstitel>. Das Master-Verzeichnis enthält bereits den kompletten WRK-Quellbaum inkl. der für NTrace notwendigen Kernel-Änderungen, sowie den NTrace-Installer.