Web Security, Pwning oder Game Hacking – Wie unsere ehemalige Werkstudentin alle diese Etappen erfolgreich bewältigt hat, erklärt sie in diesem Interview.
Unsere ehemalige Werkstudentin Tamara Gunkel hat in diesem Jahr mit ihrem Team die Cyber Security Challenge Germany für sich entscheiden können. Nach einem geteilten ersten Platz in den Einzelwettbewerben der Vorrunde zog sie durch die erreichte maximale Punktzahl in das Finale ein. Dort gelang es ihr im Team abermals die meisten Punkte zu erringen, was sie und ihr Team auf den ersten Platz der Abschlusswertung verhalf.
In einem Interview erzählt uns Tamara, wie sie zu der Challenge gekommen ist, was die größte Herausforderung war und wie ihr weiterer Ausbildungsweg aussieht.
Warum beschäftigst du dich mit dem Thema IT-Sicherheit? Was findest du daran besonders interessant?
Mir gefällt das Thema IT-Sicherheit, weil es sehr vielfältig ist und man nie auslernt. Durch die Digitalisierung ist IT-Sicherheit in jedem Lebensbereich relevant und entwickelt sich sehr schnell weiter. Außerdem habe ich Spaß an Herausforderungen und davon bietet IT-Sicherheit mehr als genügend. Meistens gibt es nicht die eine richtige Lösung, sondern man muss seinen eigenen Weg finden.
Generell ist mir aber auch meine Privatsphäre sehr wichtig. Daher möchte ich verstehen, wie man Daten sicher speichern beziehungsweise übertragen kann und möchte selbst dazu beitragen, dass in Zukunft unsere Daten weiterhin geschützt sind.
Wie bist du auf die Idee gekommen, am Wettbewerb teilzunehmen?
Da ich Wirtschaftsinformatik studiere, habe ich im Studium sehr wenige Anhaltspunkte mit IT-Sicherheit. Dennoch wollte ich mich unbedingt mehr mit dem Thema beschäftigen. In meiner Freizeit habe ich zwar ein wenig über Web Security gelernt, aber mir hat die Zeit gefehlt, um mich tiefergehender mit IT-Sicherheit auseinanderzusetzen.
Ich kannte den Wettbewerb Cyber Security Challenge Germany schon länger, aber in den vorherigen Jahren hatte ich zu viel mit der Uni und meiner Arbeit zu tun, um daran teilnehmen zu können. Dieses Jahr war das zum Glück anders, wobei Corona tatsächlich positiv dazu beigetragen hat.
Durch den Wettbewerb hatte ich die Motivation, mich in die verschiedenen Themenbereiche einzuarbeiten. Außerdem hat es mir viel mehr Spaß gemacht, weil man nicht alleine an den Aufgaben geknobelt hat, sondern sich mit den anderen Teilnehmern austauschen konnte. Lösungen durfte man natürlich nicht teilen, aber eine solche Community trägt einfach zur Motivation bei.
Wie läuft ein solcher Wettbewerb ab? Wie hoch war der Aufwand?
Zu Beginn gab es eine dreimonatige Qualifizierungsphase. Während dieser Zeit musste man Challenges mit unterschiedlicher Schwierigkeit lösen. Ziel aller Challenges war es, eine Flag (=kurzer Text) zu finden, die man auf dem Wettbewerbsportal eingegeben musste, um Punkte zu erhalten. Die Challenges stammten aus unterschiedlichen Bereichen, wie Web Security, Pwning oder Game Hacking.
Eine Aufgabe war z. B. eine XSS Sicherheitslücke in einem Web Portal zu finden und auszunutzen. Zusätzlich musste man für jede Challenge ein Write-Up erstellen, in dem man beschrieb, wie man die Aufgabe gelöst hat. Während der Qualifizierungsphase gab es ungefähr 35 Challenges, die immer in Teilen zum Monatsanfang veröffentlicht wurden.
Nach der Qualifizierungsphase wurden die besten 10 Teilnehmer aus jeder Altersgruppe (Junior und Senior) zum Finale eingeladen. Eigentlich sollte das Finale in München stattfinden, aber dieses Jahr wurde es online ausgeführt. Im Finale wurden wir dann in Teams zu fünf Personen aufgeteilt und hatten einen Tag Zeit, um diverse Challenges zu lösen.
Für mich persönlich war der Aufwand während der Qualifikation sehr hoch. Da ich vorher noch nie an einem "Capture the flag" (CTF) teilgenommen habe und generell wenig Erfahrung in dem Bereich hatte, musste ich erst noch vieles lernen. Mir hat es geholfen, dass es für alle Bereiche Beginner Challenges mit einer kurzen Einführung in das Thema gab. Die Schwierigkeit der Challenges ist aber schnell angestiegen und ich habe viel Zeit damit verbracht, mich mehr in die Themen einzulesen und Write-Ups von ähnlichen Challenges zu lesen. Trotzdem habe ich es am Ende geschafft, alle Aufgaben zu lösen und mir so meinen Platz im Finale zu sichern.
Was war die interessanteste Challenge?
Am kniffligsten fand ich die Squirrel Challenge. Squirrel ist eine Programmiersprache und Squirrel-Programme werden von der Squirrel VM kompiliert und ausgeführt. Als Teil der Challenge konnte man beliebige Squirrel Programme auf einem Server ausführen. Ziel war es, aus der Squirrel VM auszubrechen und auf eine Datei auf dem Server zuzugreifen.
Das spannende an der Challenge war, dass die Squirrel VM nicht modifiziert war, das heißt es wurden keine extra Sicherheitslücken hinzugefügt. Man musste also eine „echte“ Sicherheitslücke finden, die in der Squirrel VM vorhanden ist. Schwierig wurde die Challenge dadurch, dass man sich in den Squirrel Source Code einarbeiten musste, um herauszufinden, wie die VM funktioniert. Da der Source Code einige tausend Zeilen umfasst und ich nicht so vertraut mit C++ bin, hat das lange gedauert. Aber der Aufwand hat sich am Ende gelohnt, weil es interessant war, Stück für Stück zu verstehen, wie ein Programm kompiliert wird und ausgeführt wird.
Außerdem kann ich die Maze Challenges nicht unerwähnt lassen. LiveOverflow hat ein komplettes MMO Spiel mit verschiedenen Challenges entwickelt. Man musste z. B. seinen Avatar zum Fliegen bringen, um eine Challenge zu lösen. Das war wirklich toll, weil die Grafik super gemacht war und es Spaß gemacht hat, den anderen Spielern beim Lösen der Aufgaben zuzusehen.
Welche Learnings hast du aus deiner Teilnahme mitgenommen?
Zum einen habe ich natürlich sehr viel übers Hacking gelernt. Von vielen Aufgabenbereichen hatte ich vorher noch nie gehört und durch den Wettbewerb habe ich einen guten ersten Einblick erhalten. Ich weiß jetzt, welche Themen ich spannend finde und welche ich eher nicht vertiefen möchte. So hat mir vor allem der Pwning-Bereich Spaß gemacht, weil ich dadurch viel über die Funktionsweise von Computern gelernt habe. Da ich kein "reines Informatik" sondern Wirtschaftsinformatik studiere, kam das bei mir im Studium leider nur oberflächlich und theoretisch vor.
Außerdem hat sich wahrscheinlich mein Durchhaltevermögen verbessert. (lacht) Manchmal war es wirklich frustrierend, weil ich viele verschiedene Ansätze ausprobiert habe und nichts funktioniert hat. Ich habe mir dann ein paar Tage Auszeit von den schwierigen Challenges gegönnt und danach hatte ich früher oder später immer die richtige Idee. Dann freut man sich natürlich umso mehr, wenn man eine Aufgabe endlich löst.
Wie ging es nach der Challenge weiter? Hast du an der European Cyber Security Challenge teilgenommen?
Die ECSC ist dieses Jahr, wie viele Events, ausgefallen. Es gab eine Lite-Version als Online-Event, woran ich aber nicht teilgenommen habe, weil mir die Zeit gefehlt hat. Ich möchte aber definitiv nächstes Jahr wieder an der CSCG teilnehmen.
Ansonsten sind CTFs in letzter Zeit ein wenig zu kurz gekommen, weil ich gerade mit meiner Masterarbeit beschäftigt bin. Nächstes Jahr möchte ich aber wieder mehr Zeit darin investieren, weil es mir einfach Spaß macht und ich noch viel mehr über die unterschiedlichen Themen lernen möchte.
Generell hat mich die Challenge aber in meinem Entschluss bestärkt, weniger in Richtung Wirtschaftsinformatik zu machen und mich auf IT-Sicherheit zu spezialisieren. Deshalb werde ich nächstes Jahr auch meine Promotion in diesem Bereich anfangen.
Aktuell schreibst du deine masterarbeit. was ist dein thema?
Meine Masterarbeit schreibe ich im Bereich IT-Security. Es geht darum, Source Code von realen Sicherheitslücken und deren Patches zu sammeln. Genauer gesagt untersuche ich, wie ich zu CVE Einträgen das GitHub Repository des Software Projektes finden kann. Anschließend versuche ich, den Commit zu identifizieren, der die Sicherheitslücke behebt.
Ziel ist es, dynamisch Daten zu erzeugen, die für weitere Forschung verwendet werden können. Man könnte damit z. B. testen, ob ein statisches Analysetool in der Lage ist, diese realen Sicherheitslücken zu finden. Um eine solche mögliche Anwendung des Datensets zu demonstrieren, untersuche ich noch den Zusammenhang zwischen Clean Code und Sicherheitslücken.
vielen dank für das Interview, Tamara, und weiterhin viel erfolg auf deinem ausbildungsWeg!
zurück zur Blogübersicht