Die Sicherheitsforscher Dan Petro und Allan Cecil von Bishop Fox Labs haben kürzlich ihre Erkenntnisse zu einer RNG-Schwachstelle in der Grundlage von IoT . geteilt (Internet der Dinge) Sicherheit. Der kritische Fehler liegt in den Hardware-Zahlengeneratoren (RNGs) und beeinflusst 35 Milliarden Geräte weltweit.
"Grundsätzlich, jedes IoT-Gerät mit einem Hardware-Zufallszahlengenerator (RNG) enthält eine schwerwiegende Schwachstelle, durch die Zufallszahlen nicht richtig generiert werden können, was die Sicherheit für jegliche Upstream-Nutzung untergräbt,“ sagt der Bericht der Forscher.
Der Kern der RNG-Schwachstelle liegt in der Unfähigkeit, Zufallszahlen richtig zu generieren, wodurch IoT-Geräte lahmgelegt werden’ Sicherheit und das Aussetzen von Angriffen.
Was ist RNG, oder Zufallszahlengenerator?
RNGs werden für die meisten sicherheitsrelevanten Vorgänge benötigt, die Computer ausführen. Diese Generierungen schaffen die sogenannten „Geheimnisse“, die die Grundlage der Kryptographie bilden, Zugangskontrollen, Authentifizierung, etc. Wie diese generiert werden, hängt vom Endziel ab. Jedoch, das kanonische Beispiel ist die Generierung eines Chiffrierschlüssels. "Eigentlich, in vielen Fällen, Geräte wählen Verschlüsselungsschlüssel von 0 oder schlimmer. Dies kann zu einem katastrophalen Zusammenbruch der Sicherheit für jede vorgelagerte Nutzung führen,”Der Bericht stellt fest.
Was ist der Kern der RNG-Schwachstelle in IoT-Geräten??
Offenbar, ab 2021, die meisten neuen IoT-System-on-a-Chip, kurz bekannt als SoCs, enthalten ein dediziertes Hardware-RNG-Peripheriegerät, das entwickelt wurde, um dieses Problem zu lösen. Jedoch, es zu lösen ist ziemlich kompliziert, und wie sich herausstellt, der aktuelle IoT-Standard kann als „falsch gemacht“ bezeichnet werden.
Eine der größten Gefahren tritt auf, wenn Entwickler Fehlercode-Antworten nicht überprüfen, was zu weniger zufälligen Zahlen führt, als für eine sicherheitsrelevante Verwendung erforderlich ist.
Wenn ein IoT-Gerät eine Zufallszahl erfordert, es ruft das dedizierte Hardware-RNG entweder über das SDK des Geräts oder zunehmend über ein IoT-Betriebssystem auf. Wie der Funktionsaufruf heißt, variiert, Natürlich, aber es findet in der Hardware-Abstraktionsschicht statt (GEGENSTAND).
Dies sind die wichtigsten Teile der Hardware-Abstraktionsschicht (GEGENSTAND):
- Ein Ausgabeparameter namens out_number. Hier setzt die Funktion die Zufallszahl; es ist ein Zeiger auf eine vorzeichenlose 32-Bit-Ganzzahl.
- Ein Rückgabewert zur Angabe von Fehlerfällen. Je nach Gerät, es könnte ein boolescher Wert oder eine beliebige Anzahl von aufgezählten Fehlerbedingungen sein.
Fast niemand überprüft den Fehlercode der RNG HAL-Funktion. Abhängig von der Hardware, Dies könnte zu einem der folgenden Probleme führen: die Entropie geht aus, die Nummer 0, und nicht initialisierter Speicher.
Beispielsweise, „Wenn Sie versuchen, die RNG HAL-Funktion aufzurufen, wenn sie keine Zufallszahlen hat, die Sie angeben können, es wird fehlschlagen und einen Fehlercode zurückgeben. So, wenn das Gerät zu schnell versucht, zu viele Zufallszahlen zu erhalten, die Anrufe werden fehlschlagen,“, sagen Petro und Cecil.
Was sind die Lösungen für die RNG-Schwachstelle??
Da die beiden verfügbaren Lösungen – Abbrechen und Beenden des gesamten Prozesses, und Spinning Loop auf der HAL-Funktion – sind nicht akzeptabel, Entwickler neigen dazu, die Fehlerbedingung ganz zu ignorieren.
Warum ist die RNG-Schwachstelle nur für IoT-Geräte spezifisch?, und nicht Laptops und Server?
Das Problem ist einzigartig in der IoT-Welt, da die Geräteverwaltung auf niedriger Ebene normalerweise von einem Betriebssystem übernommen wird, das mit einer Zufalls-API ausgestattet ist.
Der Bericht beleuchtet auch die Vorteile eines größeren Entropiepools in Verbindung mit einem CSPRNG-Subsystem (Kontinuierlich gesäter Pseudo-Zufallszahlengenerator) wodurch „alle Single Points of Failure unter den Entropiequellen“ entfernt werden.
Die vollständige technische Offenlegung ist im Originalbericht verfügbar, Titel „Sie machen IoT RNG".
Letzten Juni, eine schwere Schwachstelle, bekannt unter dem CVE-2020-12695-Advisory, wurde in fast allen IoT-Geräten in einem Kernprotokoll entdeckt – dem Universal Plug and Play (UPnP) Protokoll. Der Fehler, dubbed CallStranger, könnte es Angreifern ermöglichen, IoT-Geräte bei DDoS-Angriffen zu übernehmen. Der Fehler könnte bei anderen Arten von Angriffen ausgenutzt werden, wo Sicherheitslösungen umgangen und interne Netzwerke erreicht werden.