• Startseite
  • Blog
  • Die Ironie (und die Gefahren) des vorhersehbaren Zufalls

Die Ironie (und die Gefahren) des vorhersehbaren Zufalls

In der IEEE-Konferenzveröffentlichung, Factoring RSA Keys in the IoT Erahaben wir gezeigt, dass viele der heute verwendeten IoT und Netzwerkgeräte schwache digitale Zertifikate verwenden, die sie angreifbar machen könnten.

Unser Team hat Millionen aktiver digitaler Zertifikate untersucht, die auf dem RSA-Algorithmus basieren. Spoiler-Alarm: Wir fanden heraus, dass 1 von 172 Zertifikaten aufgrund schlechter Zufallszahlengenerierung anfällig für Angriffe ist.

Zufälligkeit erforderlich

RSA ist ein weit verbreiteter Algorithmus, der vom Internetverkehr bis zu den Geräten von IoT eingesetzt wird, doch selbst denjenigen, die ihn täglich verwenden, erscheint er oft kryptisch. Im Großen und Ganzen verwendet er ein Paar unterschiedlicher, aber mathematisch verwandter Schlüssel - einen öffentlichen und einen privaten Schlüssel - zur Verschlüsselung von Daten und zur Authentifizierung von Verbindungen.

Um den öffentlichen Schlüssel zu erzeugen, müssen zwei große, zufällig erzeugte Primzahlen (sogenannte Faktoren) multipliziert werden - eine Berechnung, die sich aus dem Ergebnis rechnerisch nicht zurückentwickeln lässt.

Die Sache hat jedoch einen Haken.

Wenn die Primzahlen, die zur Erstellung der öffentlichen Schlüssel verwendet werden, nicht wirklich zufällig sind, ist es möglich, dass es ein Duplikat gibt. Und wenn zwei öffentliche Schlüssel einen gemeinsamen Faktor haben, dauert es nicht länger als ein paar Mikrosekunden und einfache Mathematik, um die anderen Faktoren zu finden und beide Schlüssel zu kompromittieren.

Wie konnten wir also fast eine Viertelmillion RSA-Schlüssel knacken?

Wie wir die Schlüssel geknackt haben

In unserem Bestreben, die Sicherheit im Internet ständig zu überwachen und zu verbessern, haben wir uns auf den Weg gemacht, um herauszufinden, wie weit verbreitet diese Sicherheitslücke ist - die Ergebnisse sind erschütternd.

Unser Team erstellte eine Datenbank mit über 75 Millionen digitalen Zertifikaten, die im Internet verfügbar sind, indem es die Erkennungsfunktionen der Plattform Keyfactor ( SSL/TLS ) mit 100 Millionen Zertifikaten aus dem Certificate Transparency (CT) Log-Projekt von Google kombinierte. Nach der Analyse der Datenbank auf gemeinsame Faktoren haben wir festgestellt, dass eines von 172 digitalen Zertifikaten RSA-Schlüssel hat, die einen Faktor mit einem anderen teilen.

Von hier aus konnte man mit einfacher Mathematik die anderen eindeutigen Faktoren berechnen und so fast 250.000 eindeutige RSA-Schlüssel knacken. In vielen Fällen wurden diese anfälligen Schlüssel von mehreren Zertifikaten verwendet, manchmal sogar von Tausenden.

Nicht das erste Mal

Die Branche kennt diese Schwachstelle schon seit Jahren. Mehrere Studien - von 2012 bis 2016 - haben Schwachstellen in der Zufallszahlengenerierung aufgedeckt. Was macht diese Studie anders?

Mehr Schlüssel, mehr Risiko

Die Zahl der im Internet verfügbaren RSA-Schlüssel ist exponentiell gestiegen, und damit auch das Risiko einer Kompromittierung. Wird der GCD-Algorithmus mit einem größeren Datensatz aus dem Internet und öffentlich zugänglichen CT-Protokollen verglichen, erhöht sich die Wahrscheinlichkeit, Schlüssel mit einem gemeinsamen Faktor zu finden.

Cloud Computing

Es gibt nur zwei Dinge, die wir benötigen, um dies effektiv zu tun: (1) viele öffentliche Schlüssel zu finden und (2) eine effiziente Methode zum Mining und zur Analyse von Schlüsseln in großem Umfang. Durch Cloud Computing ist es für Angreifer viel einfacher geworden, auf die Ressourcen zuzugreifen, die sie für dieses Vorhaben benötigen. Mit einer einzigen virtuellen Maschine von Microsoft Azure und Kosten in Höhe von etwa 3.000 US-Dollar konnte unser Team fast 250.000 RSA-Schlüssel in etwa 18 Stunden knacken. Heute ist dieser Angriff nicht nur möglich, sondern auch praktikabel und durchführbar.

Der Aufstieg der IoT

Die meisten der anfälligen digitalen Zertifikate wurden nicht auf öffentlich vertrauenswürdigen Websites gefunden, sondern in eingebetteten Internet-of-Things-Geräten (IoT) und Netzwerkgeräten - Routern, Firewalls und Switches. In vielen Fällen konnten wir die Zertifikate zu bestimmten IoT Geräten zurückverfolgen.

Im Gegensatz zu herkömmlichen IT-Systemen, wie Servern und Laptops, sind moderne IoT Geräte aufgrund ihrer Bauweise nicht in der Lage, sehr zufällige Schlüssel zu erzeugen. Diese leichtgewichtigen Geräte arbeiten oft mit sehr geringen Energie- und Rechenressourcen, die erforderlich sind, um eine hohe Entropie - statistische Zufälligkeit - zu erzeugen. Das Ergebnis sind Tausende von Geräten, die anfällig für Angriffe sind.

Lebensbedrohlich & Hochrisiko

Zu den vielen Geräten von IoT gehören heute Dinge wie medizinische Geräte, vernetzte Fahrzeuge und Verkehrsflugzeuge.

Denken Sie an einen Herzschrittmacher. Er ist in den menschlichen Körper eingepflanzt, verfügt über eine begrenzte Computerleistung, eine unregelmäßige Bandbreite, ist ständig in Bewegung und hat eine Batterielebensdauer, die zwischen 5 und 10 Jahren liegen kann. Die Generierung äußerst zufälliger Schlüssel ist nicht nur eine Herausforderung, sondern auch entscheidend für die Gesundheit und das Wohlbefinden des Menschen.

Quantum ist im Kommen

Es ist nicht der RSA-Algorithmus, der unsicher ist, sondern eher die schlecht implementierte Zufallszahlengenerierung. Dennoch ist es erwähnenswert, dass die Quanteninformatik viele der Algorithmen, auf die wir uns heute verlassen, untergraben könnte, einschließlich RSA. Das NIST sagt voraus, dass selbst 8192-Bit-RSA-Schlüssel innerhalb des nächsten Jahrzehnts angreifbar sein könnten, wenn die Fortschritte bei großen Quantencomputern anhalten.

Hersteller müssen es richtig machen

Die Tatsache, dass eine Viertelmillion RSA-Schlüssel aus den letzten fünf Jahren für diesen Angriff anfällig sind, ist selbst für einen Angreifer mit begrenzten Ressourcen äußerst beunruhigend. Ein großer Teil dieser Schlüssel befindet sich auf IoT und eingebetteten Netzwerkgeräten der nächsten Generation, die heute von Unternehmen und Verbrauchern eingesetzt werden.

Wie geht es dann weiter? Es beginnt beim Design. Die Gerätehersteller müssen die Sicherheit ihrer Geräte bereits bei der Konzeption und Entwicklung berücksichtigen und sicherstellen, dass die software und die Kryptografie des Geräts während seines gesamten Lebenszyklus sicher aktualisiert werden können.