IMMD Hauptseite Nach oben Weiter Hilfe Rie - 14. Jan. 1997

AKBP-II 1997: Gruppe 1


Die Anfaenge:

Am Anfang von AKBP-II stand ein kurzer Crash-Kurs in Sachen "Debuggen eines Unix-Kerns".
Da gibt es zum Beispiel den "KADB", den Kern-Debugger, der quasi den im Kernmodus abstuerzenden Programmen die letzte Oelung gibt - vor dem Reboot.
Als erste Aufgabe galt es mittels des KADB und trickreicher Fummelei eine root-Shell zu erzeugen, also die Workstation zu knacken. Hiermit sollte der Umgang mit dem KADB und das prinzipielle Vorgehen im Kernbereich trainiert werden.
Die folgenden Aufgaben sollten weitere Fertigkeiten einueben, so das Uebersetzen eines eigenen Unix-Kerns und das Erstellen ladbarer Kernmodule.

Die Aufgabenstellung:

Nach den ersten zwei Tagen wurden uns dann eine Auswahl von moeglichen Projekten vorgestellt - wie sie auf der Leitseite aufgelistet sind. Wir haben uns fuer das Crypt-Filesystem entschieden, da die Aufgabe interessant und vielseitig erschien. Ferner sind die dem zugrundeliegenden Strukturen des Unix-Kerns (Nodes, also Vnodes bzw. Inodes) ausgesprochen wichtig, es lohnt sich also eine genaue Betrachtung!
Das Crypt-Filesystem sollte sich ueber eine beliebige Verzeichnisstruktur "mounten" lassen und die darin gespeicherten Dateien nur noch kodiert herausgeben. Eine weitere Komponente sollte die Ruecktransformation der verschluesselten Daten in "Klartext" erlauben. Als Kodierungsverfahren war DES geplant, denn hierzu lagen Quelldateien vor.

Die Implementierung:

Die erste Implementierung, die wir gemacht haben, war ein ganz einfaches verschluesseltes Filesystem. Das heisst, dass die Daten auf der Festplatte kodiert sind. Sie stehen in einem Directory z.B "/data-crypted". Wer den Schlussel nicht kennt, kann auch die Daten nicht lesen.
Um die Daten dekodiert zu lesen, muss der Benutzer eine "mount"-Operation machen. Diese Operation wird so angerufen:
mount -F akbpfs -o key=xxxxxxxx /data-crypted /data-uncrypted.
Die Daten in dem Directory /data-uncrypted sind jetzt unverschluesselt. So kann der Benutzer sie lesen und schreiben. Beim Lesen werden die Daten in /data-crypted gelesen und entschluesselt. Beim Schreiben werden zuerst die Daten verschluesselt und dann in /data-crypted geschrieben.

Die Erweiterung:

Diese erste Realisierung wurde noch erweitert, um beim NFS die Daten zu verschluesseln. Das Problem ist folgende. Ein Anwender moechte Daten zugreifbar lassen aber Sie muessen nicht lesbar sein wenn ein Empfaenger die Schlussel kennt. Diese zweite Realisierung sieht so aus. Man kann jetzt dir mount-Kommando so anrufen: mount -F akbpfs -o key=xxxxxxxx,crypt|uncrypt /mnt1 /mnt2. Beim "sender" seite sind die Daten in /mnt1 uncrypted und Sie sinf in /mnt2 crypted. Danach macht man ein share von /mnt2 per NFS. Beim "empfaenger" seite man kann die shared Daten, die crypted sind zugreifen. Danach darf man ein mount -F akbpfs -o key=xxxxxxxx,uncrypt /src /uncrypted-data. Man kann danach ohne Gefahr arbeiten. Die Daten sind nur erkennbar(uncrypted) biem sender und beim empfaenger Seite wenn sie denn Schluessel kennen.
Unser Server | Brief an Webmaster | Navigationshinweise | Suche