Skip to content

CIPHER 4

2. August 2008

Gestern nahm ein Team der Hochschule Niederrhein, wie bereits im letzten Jahr, am IT-Security-Wettbewerb CIPHER (dieses Jahr CIPHER 4) teil. Bei dem von der RWTH Aachen und der Uni Siegen ausgerichteten Wettbewerb bekam jedes Team ein Betriebssystem-Image, auf dem bestimmte speziell für den Contest geschriebene Dienste (in diesem Jahr beispielsweise ein Chat-Dienst, ein FTPd und eine Art Social Network nach dem Prinzip von StudiVZ) liefen. Diese Dienste hatten zahlreiche Vulnerabilities wie Programmierfehler, gefährliche Default-Settings und Hintertüren. Ziel war, die Dienste der anderen anzugreifen oder sonstige Wege in deren Server zu finden, während man die eigenen Dienste, beispielsweise durch da Schreiben und Einspielen von Patches oder durch Einstellungsänderungen, möglichst effektiv zu verteidigen versuchte.

Das Team „SAHNE“ (kurz für „Security AG Hochschule Niederrhein“) hatte sich in der vorhergehenden Woche ein paarmal für Vorbereitungen getroffen und war vorsichtig optimistsch. Allerdings galt es gegen eine sehr starke Konkurrenz zu bestehen; neben zahlreichen deutschen Teams waren im ingesamt 29 Teams starken Teilnehmerfeld auch mehrere US-amerikanische und russische, eine belgische und sogar eine indische Hochschule vertreten.

Den ersten Grund zur Freude gab es für unser Team, als sich herausstellte, dass als Betriebssystem für die Server der Teams (die sogenannte „Vulnbox“) ein aktuelles Ubuntu zum Einsatz kam, mit dem die meisten von uns aus dem täglichen Einsatz vertraut waren. Dieses System galt es erst einmal eine Stunde lang zu analysieren und abzusichern. Dabei war so ziemlich alles an Kenntnissen gefragt, was man in der IT so ansammeln kann. Neben einem allgemeinen Gespür für Sicherheitssysteme und mögliche Angriffsmethoden waren unter anderem Kenntnisse in Shell-Scripting, SQL-Datenbanken, Webanwendungen und den Programmier- bzw. Scriptsprachen C, PHP, AJAX, Perl, Python und Haskell gefragt. Auch ein bisschen Übung im Knacken von Password-Hashes erwies sich als nützlich; so konnte man die Shadow-Datei des Images auslesen und mit dem Ergebnis versuchen, Spaß auf den Rechnern der anderen Teams (die Images und damit die Passwörter waren überall identisch) zu haben. Über gefundene Sicherheitslücken konnte man außerdem sogenannte Advisories schreiben, eine Art Bug Report idealerweise mit Exploit und Patch/Workaround, die Zusatzpunkte brachten (allerdings nicht die stärkste Disziplin unseres Teams).

Nach der ersten Stunde gingen die Rechner dann live ans Netz. Jetzt galt es, sich gegen die sofort beginnenden heftigen Angriffe zur Wehr zu setzen und gleichzeitig möglichst viele der noch ungefixten Sicherheitslücken bei den Konkurrenten zu nutzen. Beweis für erfolgreiche Hacks waren dabei die sogenannten Flags, lange Zeichenketten (für Kenner: Hexwerte), die vom Gameserver alle paar Minuten an versteckten Stellen des Systems platziert wurden (beispielsweise in der Liste der Dateien oder sehr oft in Datenbanken). Diese Flags galt es zu finden und an einen zentralen Server zu schicken. Das brachte dem jeweils ersten Team (pro Flag) offensive Punkte. Defensive Punkte wurden auch vergeben, logischerweise für erfolgreiche Verteidigung des eigenen Servers und die Aufrechterhaltung der angebotenen Dienste.

Für jemanden, der die Arbeit mit Produktivsystemen gewöhnt ist, erscheint es etwas verrückt, alle paar Sekunden Dienste exploitet oder sogar den Server gerootet zu bekommen, ebenso wie man auch selbst solche Dinge nicht unter realen Bedingungen tun würde. Genau deswegen machen solche Wettbewerbe Interessierten einen Riesenspaß; man kann Dinge ausprobieren, die unter normalen Bedingungen unmöglich oder zumindest alles andere als empfehlenswert sind, und, zusammen mit seinem Team, mit anderen in einen sportlichen Wettstreit treten. Der Lerneffekt ist auch entsprechend hoch. Anfangs hatte ich bei meiner ersten aktiven Teilnahme noch etwas Probleme, mich einzufinden und einen Überblick zu bekommen, aber dann kommt man doch schnell vom Herumraten zu einem Gefühl für die Abläufe und Anforderungen eines solchen Wettbewerbs.

Unser Team schlug sich im Großen und Ganzen gar nicht schlecht. Lange Zeit konnten wir uns unter den besten Drei, eine Weile sogar auf Platz 1 halten. Gegen Ende bekamen wir dann ein paar Probleme, da einige andere Teams wohl noch potente Exploits gefunden hatten und man uns außerdem permanent viele unserer Dienste abschoss, so dass wir auch selbst mit diese Diensten keine Punkte mehr erzielen konnte (die Regeln sahen vor, dass nur Flags von Diensten zählten, die man selbst zu diesem Zeitpunkt online hatte). Letzten Endes konnten wir uns mit dem 11. Platz aber gegenüber letztem Jahr um vier Plätze verbessern, obwohl diesmal das Teilnehmerfeld etwas größer war. Fernziel für das nächste Mal sind natürlich die Top 10, insbesondere da die Tatsache, dass wir dieses Mal recht lange oben mitmischen konnten, zeigt, dass durchaus noch Reserven nach oben vorhanden sind.

Zunächst einmal danke an mein tolles Team und an die Organisatoren und Glückwunsch an die Sieger von HackerDom; es hat eine Menge Spaß gemacht. Bilder werden nachgereicht.

Advertisements
2 Kommentare leave one →
  1. h4ck!nb3rg permalink
    3. August 2008 5:59 pm

    LG von team h4ck!nb3rg

  2. 14. März 2009 12:39 pm

    Good Job!

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: