Abo
  • Services:
Anzeige
Beim Verschlüsselungsverfahren RSA wird mit großen Zahlen gerechnet.
Beim Verschlüsselungsverfahren RSA wird mit großen Zahlen gerechnet. (Bild: Screenshot Golem.de)

Fehlerhafter Code an riskanter Stelle in GnuPG

Anzeige

Ein subtiler Fehler in der Bibliothek Libgcrypt, die unter anderem von GnuPG verwendet wird, führte dazu, dass in bestimmten Situationen Bitmanipulationen durch die Funktion mpi_set_bit() fehlerhaft arbeiteten. Der Fehler trat nur zufällig auf, und das lag am Speicherlayout. In der Funktion wurde uninitialisierter Speicher verwendet. Falls der Speicher schon vorher genutzt worden war, konnte das die Funktionsweise beeinflussen.

Weinmann suchte nach Codestellen, die die entsprechende Funktion mpi_set_bit() aufrufen. Ausgerechnet bei der Erstellung des k-Wertes von DSA-Signaturen in GnuPG fand sich ein entsprechender Funktionsaufruf. Der k-Wert von DSA ist besonders kritisch, da ein Fehler hier katastrophale Auswirkungen haben kann. Falls derselbe k-Wert zweimal verwendet wird oder falls der Wert einem Angreifer bekannt ist, kann dieser dadurch den privaten Schlüssel zu einer Signatur berechnen. Weinmann kam letztendlich zu dem Schluss, dass das Problem vermutlich nicht zu einer Sicherheitslücke führt, er rief aber explizit dazu auf, dass weitere Personen den Fehler untersuchen sollten.

Neben der Analyse von bekannten Fehlern ging Weinmann auch der Frage nach, wie man derartige Fehler finden könnte. Mittels sogenannter Symbolic Execution ist es theoretisch möglich, zumindest die Äquivalenz von verschiedenen Funktionen zu beweisen. Damit könnte man etwa die Implementierungen bestimmter Rechenvorgänge von verschiedenen Verschlüsselungsbibliotheken vergleichen. Ein Forscherteam der Universität Stanford hat hierfür eine Variante des Tools KLEE entwickelt. Zwar ist das entsprechende Tool nicht öffentlich verfügbar, mit geringfügigen Modifikationen sei dieser Ansatz jedoch laut Weinmann auch mit der Originalversion von KLEE umsetzbar.

Symbolic Execution gerät an Grenzen

Allerdings gibt es dabei einige Hürden. KLEE arbeitet mit Hilfe des Compilerframeworks LLVM und nutzt dafür den Zwischencode, den LLVM erzeugt. Große Teile der Rechenfunktionen von Verschlüsselungsbibliotheken sind jedoch in Assembler geschrieben. Um diese zu verifizieren, muss der Code erst entsprechend zurückkonvertiert werden. Dafür gibt es einige experimentelle Tools. An komplexeren Funktionen scheitert die Methode der Symbolic Execution letztendlich, da es zu viele Zustände gibt, in die eine Funktion geraten kann. Für die meisten aufwendigeren Funktionen ist diese Methode daher - zumindest mit aktuellen Tools - nicht nutzbar.

Bestimmte Rechenfehler lassen sich auch innerhalb einer Bibliothek selbst testen. Den OpenSSL-Fehler in der Quadrierungsfunktion etwa könnte man finden, wenn man den entsprechenden Eingabewert einmal mit der Quadrierungsfunktion berechnet und anschließend die Zahl mit sich selbst multipliziert. Bei beiden Berechnungen müsste dasselbe Ergebnis herauskommen.

American Fuzzy Lop kann seltene Rechenfehler finden

Weinmann hatte ein kleines Programm geschrieben, das genau dies tut, und anschließend das Fuzzing-Tool American Fuzzy Lop darauf angewendet. Weinman sagte, er habe dabei gedacht, "das wird zwar bestimmt nicht funktionieren, aber ich sollte es zumindest ausprobieren". Erstaunlicherweise hatte diese Methode jedoch Erfolg. Innerhalb von einer Stunde fand American Fuzzy Lop in einer verwundbaren OpenSSL-Version einen der seltenen Ausnahmefälle, in denen die Quadrierung fehlerhafte Ergebnisse liefert.

 Kryptographie: Rechenfehler mit großen Zahlen

eye home zur Startseite
MartinPaul 09. Aug 2015

Ich meine meine Grammatik ist nicht nur wegen dem Smartphone das ich zum antworten nutze...

DerVorhangZuUnd... 07. Aug 2015

Danke für den Hinweis. Diese Implementierung kannte ich noch nicht. Trotzdem finde ich...



Anzeige

Stellenmarkt
  1. Hughes Network Systems GmbH, Griesheim
  2. IT-Dienstleistungszentrum Berlin Anstalt des öffentlichen Rechts, Berlin
  3. The unbelievable Machine Company GmbH, Frankfurt am Main
  4. Swyx Solutions AG, Dortmund


Anzeige
Hardware-Angebote
  1. 1169,00€
  2. (Core i7-6700HQ + GeForce GTX 1070)
  3. und 15€ Cashback erhalten

Folgen Sie uns
       

Anzeige
Whitepaper
  1. Mit digitalen Workflows Geschäftsprozesse agiler machen
  2. Sicherheitsrisiken bei der Dateifreigabe & -Synchronisation
  3. Globale SAP-Anwendungsunterstützung durch Outsourcing


  1. Android

    Google kann Größe von App-Updates weiter verkleinern

  2. Exilim EX-FR 110H

    Casio stellt Actionkamera für die Nacht vor

  3. Webmailer

    Mit einer Mail Code in Roundcube ausführen

  4. A1 Telekom Austria

    Im kommenden Jahr hohe Datenraten mit LTE

  5. Pebble am Ende

    Pebble Time 2 und Core wegen Übernahme gecancelt

  6. Handheld

    Nintendo zahlt bis zu 20.000 US-Dollar für 3DS-Hacks

  7. Großbatterien

    Sechs 15-Megawatt-Anlagen sollen deutsches Stromnetz sichern

  8. Traditionsbruch

    Apple will KI-Forschungsergebnisse veröffentlichen

  9. Cloudspeicher

    Dropbox plant Offline-Modus für Mobilanwender

  10. Apple

    Akkuprobleme des iPhone 6S betreffen mehr Geräte als gedacht



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Named Data Networking: NDN soll das Internet revolutionieren
Named Data Networking
NDN soll das Internet revolutionieren
  1. Geheime Überwachung Der Kanarienvogel von Riseup singt nicht mehr
  2. Bundesförderung Bundesländer lassen beim Breitbandausbau Milliarden liegen
  3. Internet Protocol Der Adresskollaps von IPv4 kann verzögert werden

Travelers Box: Münzgeld am Flughafen tauschen
Travelers Box
Münzgeld am Flughafen tauschen
  1. Apple Siri überweist Geld per Paypal mit einem Sprachbefehl
  2. Soziales Netzwerk Paypal-Zahlungen bei Facebook und im Messenger möglich
  3. Zahlungsabwickler Paypal Deutschland bietet kostenlose Rücksendungen an

Nach Angriff auf Telekom: Mit dem Strafrecht Router ins Terrorcamp schicken oder so
Nach Angriff auf Telekom
Mit dem Strafrecht Router ins Terrorcamp schicken oder so
  1. Red Star OS Sicherheitslücke in Nordkoreas Staats-Linux
  2. 0-Day Tor und Firefox patchen ausgenutzten Javascript-Exploit
  3. Pornoseite Xhamster spricht von Fake-Leak

  1. Re: Kohle- und Kernkraftwerke als Stabilisatoren?!

    chefin | 11:43

  2. Re: Das mit Elektroautos ist doch unsinn

    peh.guevara | 11:42

  3. Re: Bullshit!

    GenXRoad | 11:42

  4. Re: Also quasi Titanfall 2

    lgo | 11:41

  5. Re: Natuerlich gibt es das zu kaufen

    RvdtG | 11:39


  1. 11:44

  2. 11:38

  3. 11:05

  4. 10:53

  5. 10:23

  6. 10:14

  7. 09:05

  8. 07:34


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel