GPN21:Wie man mit Mathematik ein API übernehmen kann (und wie gute Architektur das verhindert)

aus dem Wiki des Entropia e.V., CCC Karlsruhe


Ein Vortrag von malexmave auf der GPN20.

Beim Pentesten stolpert man manchmal über Fehler, die viel zu viel Spaß machen, um sie nicht mit anderen zu teilen. So auch hier: in diesem Vortrag berichte ich von einer Sicherheitslücke, in der durch die falsche Verwendung von Kryptographie das Stehlen von Zugangsdaten für ein API Gateway möglich war - und wir damit Kontrolle über große Teile einer Finanz-Anwendung erhalten konnten. Dabei gehen wir durch die gesamte Schwachstelle bis herunter zur Bit-Ebene, um zu verstehen, wie der Angriff funktioniert.

Doch wir wollen auch noch einmal herauszoomen und uns anschauen, warum die Architektur des Systems die Sicherheitslücke so katastrophal gemacht hat, und wie eine defensivere Architektur an vielen Stellen den Angriff hätte verhindern oder eingrenzen können. Am Ende werdet ihr also nicht nur eine schöne Eigenheit eines verbreiteten Verschlüsselungsalgorithmus verstanden haben, sondern auch ein weiteres Beispiel haben, warum defensives Programmieren eine gute Idee ist.

Es ist kein Vorwissen über Kryptographie erforderlich, alles wird im Vortrag erklärt. Grundlegendes Wissen über bool'sche Logik ist zum Verständnis hilreich.

Links