Schwachstellen in den Kommunikationsprotokollen, die von Millionen Geräten im Internet of Things (IoT) und in der Operational Technology (OT) verwendet werden, ermöglichen es Cyber-Angreifern, Daten abzufangen und zu manipulieren.
Die Cybersecurity-Forscher von Forescout haben diese Schwachstellen bereits für einige TCP/IP-Stacks detailliert beschrieben. Die neun neu aufgedeckten Schwachstellen tragen den Namen „Number:Jack“.
Die Ergebnisse sind Teil laufender Forschungen des Cybersicherheitsanbieters im Rahmen des “Project Memoria”. Diese Initiative untersucht Schwachstellen in TCP/IP-Stacks und Wege sie zu minimieren. Die jüngsten Offenlegungen beziehen sich auf einen grundlegenden Aspekt der TCP-Kommunikation in eingebetteten Geräten, und zwar der Generierung von ISN-Daten (Initial Sequence Number). Diese ISNs sollen sicherstellen, dass jeder TCP zwischen zwei Computern oder anderen vernetzten Geräten eindeutig ist und so verhindern, dass die Verbindung von Dritten gestört oder manipuliert werden kann. Um zu verhindern, dass Angreifer die ISNs erraten, kapern oder fälschen, müssen sie randomisiert erzeugt werden.
Dabei handelt es sich um einen grundlegenden Baustein der Computersicherheit, der seit den 90er Jahren bekannt ist. In Bezug auf die Sicherheit von IoT-Geräten stellten die Forscher jedoch fest, dass diese alte Schwachstelle existiert, weil die Zahlen nicht völlig zufällig waren. Aufgrund dessen ließen sich die zugrunde liegenden Schemata für die Generierung der ISN-Zahlen in diesen TCP-Kommunikationen voraussagen.
Dazu ein Kommentar von Jonathan Knudsen, Senior Security Strategist bei Synopsys:
„Die Number:Jack-Schwachstellen verdeutlichen die Schwierigkeit, die mit zufällig generierten Nummern einhergehen. Viele Algorithmen in der Informatik, gerade in der Kryptographie, erfordern randomisierte Zahlen, also solche, die sich nicht prognostizieren lassen.
Leider sind Computer nicht besonders gut darin, unberechenbar zu sein.
Die „Zufallszahlen“ in Computern werden fast immer von einem Pseudo-Zufallszahlengenerator (Pseudo-random number generator/PRNG) erstellt. Dabei handelt es sich um einen Algorithmus, der eine deterministische Folge von Zahlen produziert. Der PRNG initialisiert durch den Startwert (auch als Seed bekannt) eine tatsächlich zufällige Sequenz, die über einen elektrischen oder atomaren Prozess erzeugt wird. Genau dieser Prozess macht es unmöglich, die pseudo-zufällige Sequenz vorauszusagen. Der Haken an der Sache: Die meisten Geräte verfügen nicht über die erforderliche Hardware für einen wirklichen Seed.
Ein weiteres Problem besteht darin, dass Entwicklern oftmals nicht ausreichend bewusst ist, wie wichtig ein wirklich zufälliger Startwert ist. Stattdessen verwenden sie deterministischere Quellen für den PRNG-Startwert, wie z.B. die Systemuhr.
Probleme wie diese potenzieren sich bei IoT-Geräten, weil der Update-Prozess zuweilen schwierig ist oder die Möglichkeit dazu vollständig fehlt. Demzufolge bestehen Mängel und Schwachstellen in IoT-Geräten häufig unbegrenzt weiter, was sie zu einer attraktiven Angriffsfläche macht.“