Zum Inhalt springen Weiter zur Suche
Testversion
Blog

CVE-2016-0270 GCM nonce Sicherheitslücke

Im Februar wurden wir von Hanno Böck kontaktiert, der ein Problem mit der Art und Weise entdeckt hatte, wie bestimmte Geräte die Nonce für AES-GCM generieren. Er veröffentlichte daraufhin einen Artikel zu diesem Thema und der Fehler wurde CVE-2016-0270 zugeordnet.

Obwohl der Fehler in unserem Fall nur einen geringen Schweregrad hatte, haben wir die Quelle ausfindig gemacht und den Fehler in Version 2.7.2-P8 der Software korrigiert.

Zusammenfassend definiert Hanno drei Kategorien, wie Nonces erzeugt werden:

  • sequenziell
  • vervielfältigt
  • zufällig

Die erste Gruppe ist die korrekte Art und Weise, das Nonce zu erzeugen. Dadurch wird sichergestellt, dass eine bestimmte Nonce nach 2^64 Datensätzen wiederholt wird, und die Wahrscheinlichkeit so vieler Operationen innerhalb einer einzigen Sitzung berechnet, wodurch bewiesen wird, dass dies sicher ist.

Die zweite Gruppe ist eine Katastrophe. Die Wiederholung von Nonces reicht aus, um den Authentifizierungsschlüssel wiederherzustellen, so dass diese Implementierung eine kritische Schwachstelle aufweisen würde.

Die dritte Option sichert die Wahrscheinlichkeit einer zufälligen Wiederholung eines Nonce ab. Bei einem guten Zufallszahlengenerator (RNG) ist die Wahrscheinlichkeit einer Kollision recht gering, es sei denn, die Sitzung wird zur Übertragung großer Datenmengen verwendet, da die Wahrscheinlichkeit nach 2^32 Datensätzen rasch zunimmt. Mit anderen Worten: Es besteht eine vage theoretische Wahrscheinlichkeit, dass dieses Verfahren gebrochen werden kann, wenn ein Angreifer die Zeit hat und das Opfer in derselben Sitzung übermäßig viele Daten produziert. In dem Papier geht Hanno von einer Größenordnung von Terabytes in einer Sitzung aus, was bei der Verwendung von Lastverteilern kein Problem darstellt. Bei lang andauernden VPN-Verbindungen kann dies jedoch zu einem Problem werden.

Die A10-Geräte, bevor wir das Problem behoben haben, fielen in die Kategorie "zufällig". Mit den Versionen 2.7.2-p8 wurde dieses Problem behoben.

Trotz der geringen Wahrscheinlichkeit einer Ausnutzung möchten wir Hanno für die Offenlegung dieser hochkomplexen Schwachstelle danken und darüber hinaus darauf hinweisen, dass er sich an verantwortungsvolle Offenlegungspraktiken gehalten und mit uns zusammengearbeitet hat, während wir den Ursprung der Schwachstelle untersuchten.

Kategorien:


A10 PSIRT-Team
|
Juni 10, 2016

Das A10 SERT Team ist A10 Networks' Security Engineering Research Team. Mehr lesen