Hackathon 2022

Mangels Nachfrage wurde der Hackathon auf unbestimmte Zeit verschoben. Er wird eventuell nächstes Semester nachgeholt.

Im Sommersemester 2022 veranstaltet die Studienvertretung Informatik der Universität Wien einen Hackathon. Ziel ist es, ein Programm zu schreiben, das den Speicher des Programms eines Kollegen/einer Kollegin korrumpiert und so dessen/deren Programm zum Absturz bringt. Selbstverständlich ist es in diesem Zusammenhang sinnvoll, wenn der Teilnehmer/die Teilnehmerin sein/ihr Programm auch selbst gegen Attacken absichert.

Programmiersprache:C/C++ empfohlen
andere kompilierte Programmiersprachen nach Absprache möglich
Betriebssystem:Linux (x86_64)
Compiler:wahlweise g++ Version 7.5.x oder clang++ Version 6.0.x
Wünsche nach anderen Compilern/Versionen sind im Vorhinein abzuklären
Teilnahmeberechtigt:sind Studierende der Fakultät für Informatik, Uni Wien (siehe PDF)

Idee

Teilnehmende schreiben ein Programm, welches das Programm eines/einer anderen Teilnehmenden zum Absturz bringt. Pro Runde treten jeweils zwei Programme gegen einander an. Um den Glücksfaktor möglichst gering zu halten, besteht eine Runde aus 3 Kämpfen — wer die Mehrzahl der Kämpfe gewinnt, dh. wessen Programm nicht abstürzt, kommt in die nächste Runde.

Kommt es zu einer ungeraden Anzahl an Spieler:innen, wird aus den Verlierer:innen der letzten Runde ein/eine Lucky Loser/Loserin gelost, der/die mit in die nächste Runde aufsteigt.

Für den Fall, dass keines der beiden Programme eines Wettkampfes überlebt, wird der Kampf nicht gezählt. Die Ausführungszeit ist auf maximal 10 Minuten beschränkt, danach werden gegebenenfalls beide Programme beendet. Pro Gegnerinnen-/Gegner-Paar finden maximal 5 Versuche pro Runde statt. Steht dann immer noch keine Gewinnerin/kein Gewinner fest, so obliegt es der Entscheidung der Jury, ob beide Programme weiterkommen oder beide ausscheiden.

Um das Programm der Gegnerin/des Gegners zum Absturz zu bringen, können unter anderem (die erlaubten) Signale gesendet werden (siehe Verbindliche Regeln im PDF) oder der Speicher eines gegnerischen Programms modifiziert werden.

Gleichzeitig sollten Spielende aber gegen Angriffsstrategien entsprechende Verteidigungsmechanismen einbauen. Beispielsweise können Signale gefangen werden oder die Integrität des Programmspeichers geprüft und im Fehlerfall das Programm repariert werden.

Der/die endgültige Gewinner:in erhält einen Preis.

Zum Austausch mit anderen Teilnehmer:innen gibt es am (inoffiziellen) Discord-Server einen eigenen Kanal unter der Rubrik “Events”.

Termine

Der ungefähre Zeitplan sieht folgendermaßen aus:

Einreichfrist für das Programm:Sonntag, 24.4.2022 (Ende der Osterferien)
Durchführung des Hackatons:Freitag, 29.4.2022 (eine Woche später)

Links