Gamification für sichereren Code: GitHub Secure Code Game

Mit Secure Code Game bietet GitHub ein Tutorial mit fünf Levels, in denen Developer typische Schwachstellen in Code aufspüren und beheben sollen.

In Pocket speichern vorlesen Druckansicht

(Bild: Gorodenkoff/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Rainald Menge-Sonnentag

GitHub hat ein Projekt gestartet, dass dabei helfen soll, typische Schwachstellen beim Programmieren zu vermeiden. Das Secure Code Game setzt auf Gamification: Fünf Levels bieten Codevorlagen mit Schwachstellen, die Entwicklerinnen und Entwickler jeweils aufspüren sollen, bevor sie das nächste Level starten.

Das Projekt ist der jüngste Teil der Trainings unter GitHub Skills, einer Reihe von Tutorials, die vor allem in die GitHub-Plattform mit ihren Werkzeugen einführen. Allerdings geht es bei Github Code Game nicht um spezifische Techniken der Versionsverwaltungsplattform, sondern um allgemeine Maßnahmen für sichereren Code.

Das Tutorial soll dabei helfen, bereits beim Entwickeln den Blick auf die Security zu haben. Das zugehörige Repository besteht derzeit aus fünf Codevorlagen, die jeweils Schwachstellen enthalten. Vier der Projekte sind in Python und eins in C geschrieben.

Über die fünf Levels des Tutorials steigt wohl der Schwierigkeitsgrad. Zum Einstieg wartet ein E-Shop, der einen Hack ermöglicht, mit dem die Bestellung eines Fernsehers ohne Bezahlung möglich ist. In den anderen Übungen geht es unter anderem um Datenbank-Exploits und das Ablegen verschlüsselter Passwörter.

Heise-Konferenz zu sicherer Softwareentwicklung

Am 12. und 13. September findet die heise devSec 2023 in Karlsruhe statt. Die Konferenz zu sicherer Softwareentwicklung steht seit 2017 unter dem Motto "Sichere Software beginnt vor der ersten Zeile Code".

Bis zum 31. März suchen die Veranstalter heise Developer, heise Security, iX und dpunkt.verlag im Call for Proposals Vorträge und Workshops für die Konferenz im Herbst.

Zuvor dreht sich am 16. Mai in einem Online-Thementag alles um 2FA, Multi-Faktor-Authentifizierung, WebAuthn, TOTP und Co.

Außer dem Code mit den Schwachstellen enthalten die Unterverzeichnisse jeweils den Code für den Hack, der den Exploit ausnutzt. Daneben existiert eine Datei mit Hinweisen zum Aufspüren der Schwachstellen und eine Lösung mit dem bereinigten Code. Um sicherzustellen, dass der gefixte Code nicht nur sicher, sondern auch funktional ist, bieten die Verzeichnisse Dateien für Unit-Tests.

Das Repository zu Secure Code Game bietet eine Kurzanleitung zum Durchführen der Übungen. Ein Button richtet registrierten GitHub-Usern ein frisches Repository mit den Übungen ein, das wahlweise öffentlich oder privat sein darf. Für ein privates ist allerdings der Einsatz von GitHub Actions begrenzt.

Die Übung findet in einem wahlweise privaten oder öffentlichen Repository statt.

(Bild: GitHub)

Die Übungen lassen sich entweder lokal in einer IDE beziehungsweise einem Sourcecode-Editor oder über GitHub Codespaces durchführen. Für drei der Übungen empfiehlt GitHub zusätzlich die hauseigene Security-Analyse-Engine CodeQL.

Weitere Details zu Secure Code Game lassen sich dem GitHub-Blog entnehmen. Der Code und die Installationshinweise finden sich im zugehörigen Repository.

(rme)