Ein interessanter und potenziell erschreckender Bericht von The Register enthüllt eine schwerwiegende Sicherheitslücke in Steam, die die gesamte Plattform hätte lahmlegen können, wenn sie öffentlich bekannt geworden wäre.
Ein Sicherheitsexperte namens Artem Moskowsky konnte durch einfaches Schnüffeln einen schwerwiegenden Fehler in der Steamworks-API (Application Programming Interface) für Steamworks aufdecken. Dieser Fehler ermöglichte die Generierung von Spielschlüsseln für nahezu jedes Spiel, das derzeit auf Steam zum Verkauf steht.
Die Steamworks-API ist ein System, das von Valve betrieben wird, um Spieleentwicklern und -herausgebern die Möglichkeit zu geben, alle möglichen Dinge mit ihren Spielen zu tun. Die API ist Teil einer Reihe von Tools, die Valve zur Verfügung stellt, um Spieleentwicklern die Möglichkeit zu geben, die Kompatibilität, den Funktionsumfang und die allgemeine Freude an den Spielen auf der Plattform zu erhöhen. Unter normalen Umständen können Dinge wie DRM, Softwarekompatibilität, Verteilung von Inhalten und Patches und andere Aspekte eines Spiels über diese Tools verwaltet werden. Eine der besonderen Funktionen der API dreht sich um die Verwaltung von Schlüsseln für Spiele.
Spieleverleger und -entwickler können kostenlose Schlüssel für ihre Spiele generieren und diese dann verwenden, um Spielern und Publikationen Werbegeschenke, kostenlose Testcodes und andere Goodies zukommen zu lassen. Normalerweise ist dieses System gesichert und auf die Spiele beschränkt, die direkt von diesem Entwickler stammen. Es stellte sich jedoch heraus, dass die Überprüfung der Eigentümerschaft durch eine einzige clientseitige ID gesteuert wurde. Dem Forscher gelang es, die Authentifizierung der API zu umgehen, indem er einen einzigen Wert in der an den Server übermittelten Zeichenfolge änderte.
Um die Schwachstelle auszunutzen, musste nur eine einzige Anfrage gestellt werden, sagte Moskowsky. Es gelang mir, die Überprüfung des Besitzes des Spiels zu umgehen, indem ich nur einen Parameter änderte. Danach konnte ich eine beliebige ID in einen anderen Parameter eingeben und einen beliebigen Satz von Schlüsseln erhalten.
Dies bedeutete, dass er nun vollen Zugriff auf die Steam-Bibliothek hatte, zumindest für die Erstellung von Schlüsseln für Spiele. In einem Beispiel wurden 36.000 Schlüssel für Portal 2 erzeugt.
Das bedeutet also, dass jeder, der über ein Steamworks-Entwicklerkonto verfügt, potenziell Hunderte von Schlüsseln für beliebte Spiele generieren und sie dann an verschiedene Graumarkt-Wiederverkäufer-Websites weitergeben konnte, um auf Kosten aufrechter Entwickler einen ordentlichen Gewinn zu erzielen. Und wenn sich dieser Trend bei mehreren teureren Spielen wiederholt hätte, wären die potenziellen Einnahmeverluste in die Millionen Dollar geschossen.
Es ist unklar, ob mit der verwanzten Version der API weitere bösartige Funktionen hätten ausgeführt werden können. Wenn jedoch die gleiche Überprüfung für Dinge wie das Hochladen von Inhalten in Spiele vorhanden war, wäre es möglicherweise möglich gewesen, mit einem ähnlichen Exploit bösartige Nutzdaten in beliebte Spiele einzuschleusen. Allerdings müsste dazu wahrscheinlich eine Vollversion des Zielspiels mit der schädlichen Nutzlast erstellt werden, um die Endbenutzer zu infizieren. Ich bezweifle jedoch ernsthaft, dass es so einfach wäre, denn Valve ist nicht ganz so dumm.
Dieser und insgesamt 19 weitere Bugs wurden von dem Entdecker am 7. August 2018 an Valve gemeldet. Das Unternehmen hat die Schwachstelle gepatcht, indem es strengere serverseitige Prüfungen eingeführt hat. Innerhalb von drei Tagen nach seiner Meldung an Valve erhielt er 15.000 US-Dollar Finderlohn plus 5.000 US-Dollar als Bonus. Artem Moskowsky hat also gerade einen schönen Zahltag erwischt.
Alles in allem sollten Sie daraus lernen, dass Sie nicht alle Sicherheitsmaßnahmen auf die Client-Seite verlagern sollten. Jeder Hacker, Sicherheitsexperte oder auch nur ein dummes Kind kann diese Art von schwachem Schutz überwinden.