Für die Bereitstellung des bestmöglichen Service verwenden wir Cookies. Mit der Nutzung der Website erklären Sie sich mit dem Einsatz einverstanden. Zur Datenschutzerklärung

Suche

Verbündet mit der Zeit

Daniel Scherrer 30. August 2022

Statische und dynamische Aspekte vieler Art spielen in der Cybersecurity eine grosse Rolle. Im Falle des Ergebnisermittlungssystems verbündete sich Security Researcher «simioni» mit der Zeit gegen uns. Seine Schwachstelle im Eingangsbereich zur Software ist interessant.

Passwort vergessen: Die Antwortzeit gibt Hinweis auf Nutzer des Systems. (Foto: Tim Gouw/Unsplash)

Das Finding

Eine Sicherheitsanalyse beginnt mit dem Ausprobieren von Funktionen und unterschiedlichen Varianten des Zugriffs. Man versucht, Ausnahmen herauszufinden, die zu Fehlverhalten führen. Researcher simioni untersuchte jedoch auch das Verhalten der Software.

So meldete er uns, dass bei der Ausführung der Passwort-Vergessen-Funktion der Webserver innert 1-2 Sekunden antwortet, insofern der Benutzer im System existiert. Kann das System keinen Benutzer mit der aufgeführten Identität finden, antwortet dieser bereits in durchschnittlich 40 Millisekunden.

Der Angreifer kann somit beliebige Benutzernamen mit «Passwort vergessen» ausprobieren und aus den gemessenen Zeiten auf die Anwesenheit im System schliessen. Anschliessend kann er die User mit einem Passwort-Angriff gezielt attackieren. Im Security-Jargon nennt man diese Erhebung von Benutzern «User Enumeration» und der Vergleich von Antwortzeiten «Observable Timing Discrepancy».

Die Erkenntnis


Simioni hat uns eine Schwachstelle aufgezeigt, an die wir bei allen Tests nicht gedacht haben: Die Programmierroutinen bei der Erkennung einer Identität waren bei einer gültigen und einer ungültigen Identität unterschiedlich. Der Endbenutzer bzw. die Endbenutzerin musste bei einer korrekten Eingabe warten, bis der Server die notwendige E-Mail zur finalen Registrierung verschickte. Diese Wartezeit und deren Bestätigung sind aus User-Sicht nicht erforderlich – ein Hacker bedankt sich natürlich herzlich hierfür.

Die Lösung

Wir haben die entsprechenden Code-Stellen in der Software so umgebaut, dass die tatsächliche Behandlung der Anfrage im Nachhinein geschieht. Die angeforderte Person erhält direkt Rückmeldung, dass wir ihre Anfrage erhalten haben, unabhängig davon, ob es sich um eine gültige Identität handelt oder nicht. Somit ergeben sich keine zeitlich erkennbaren Unterschiede mehr. Eine mögliche Informationsquelle für Angreifende versiegt. Ebenfalls prüfen wir unsere Lösung auf weitere solcher Indizien. Wir bedanken uns dafür bei simioni.

Daniel Scherrer

Über Daniel Scherrer

Daniel Scherrer ist Chief Software Architect bei Abraxas. Er plant und entwickelt Software konsequent entlang bewährter und sicherer Methoden. Er leitet das Abraxas Bug-Bounty-Programm.

Lesen Sie jetzt

  • Finding #1 – Go Back

    Security Researcher «bongo» untersuchte Schleichwege in das Ergebnisermittlungssystem von Abraxas. Sein Finding hat sich zwar nicht als besonders kritisch erwiesen, hebt aber das Sicherheitsniveau der gesamten Umgebung.
    Bruno  Habegger
    Bruno Habegger // Senior Communication Manager
    04.07.2022 Finding
    Weiterlesen
  • Pizza Engineering

    Die Kolumne von Daniel Scherrer.
    Daniel Scherrer
    Daniel Scherrer // Chief Software Architect
    11.07.2022 Bounty
    Weiterlesen