Abo
  • Services:
Anzeige
Linux soll eine neue Funktion für Zufallszahlen erhalten.
Linux soll eine neue Funktion für Zufallszahlen erhalten. (Bild: Larry Ewing)

Linux: Syscall für Zufallszahlen

Linux soll eine neue Funktion für Zufallszahlen erhalten.
Linux soll eine neue Funktion für Zufallszahlen erhalten. (Bild: Larry Ewing)

Auf der Linux-Kernel-Mailingliste wird ein Patch diskutiert, der Linux einen Systemaufruf für Zufallszahlen hinzufügt. Der Patch ist infolge einer Diskussion um ein kürzlich in LibreSSL entdecktes Problem entstanden.

Vor wenigen Tagen ist bekanntgeworden, dass in LibreSSL unter Linux unter bestimmten Umständen in verschiedenen Prozessen dieselben Zufallszahlen auftreten können. Das Problem ist in LibreSSL mit der Version 2.0.2 behoben worden, inzwischen gibt es jedoch Kritik an der Art, wie LibreSSL das Problem umgeht. Doch unabhängig von dieser Diskussion haben die LibreSSL-Entwickler deutlich gemacht, dass sie das eigentliche Problem im Linux-Kernel sehen: Es fehle eine einfache Möglichkeit, über das Betriebssystem auf sichere Zufallszahlen zuzugreifen.

Anzeige

Theodore Ts'o hat diese Kritik aufgenommen und kurz darauf einen ersten Patch vorgestellt, der unter Linux einen Syscall für Zufallszahlen namens getrandom() hinzufügt, der ähnlich wie die OpenBSD-Funktion getentropy() funktioniert. Ts'o erhielt dafür überwiegend positives Feedback. Zwar hat sich Linux-Chefentwickler Linus Torvalds noch nicht zu dem neuen Systemaufruf geäußert, aber Theodore Ts'o hat unter den Kernel-Entwicklern ein hohes Ansehen, so dass die Chancen gut stehen dürften, dass die Funktion bald in den offiziellen Kernel-Code aufgenommen wird.

Bisher bietet Linux zwei Möglichkeiten, auf Zufallszahlen zuzugreifen: Die beiden virtuellen Geräte /dev/random und /dev/urandom. Die LibreSSL-Entwickler sehen darin mehrere Probleme: Ein Zugriff auf diese Geräte benötige Dateisystemoperationen, die manchmal scheitern könnten, etwa wenn keine Filehandles mehr zur Verfügung stünden. Außerdem sei das Dateisystem /dev nicht immer gemountet, so könnte man beispielsweise eine sogenannte chroot-Umgebung ohne /dev-Dateisystem betreiben.

Doch der jetzt vorgestellte Systemaufruf schließt eine weitere Lücke. /dev/random liefert nur dann Zufallszahlen, wenn dem System gerade genügend Entropie zur Verfügung steht, und kann somit in manchen Situationen eine Software blockieren. /dev/urandom liefert immer Zufallszahlen - auch dann, wenn diese möglicherweise unsicher sind. Eine solch unsichere Verwendung von /dev/urandom hat in der Vergangenheit schon zu fatalen Problemen geführt. Beispielsweise fand ein Forscherteam um die Kryptographin Nadia Heninger im Jahr 2012 zahlreiche öffentliche RSA-Schlüssel von Routern und ähnlichen Embedded-Devices, zu denen sich die privaten Schlüssel berechnen ließen. Die Ursache war, dass die Geräte beim Systemstart mit Hilfe von /dev/urandom diese Schlüssel automatisch erzeugt hatten.

Viele wünschen sich eine Zwischenlösung: Blockieren sollte der Zufallszahlengenerator nur, wenn seit dem Systemstart noch überhaupt keine Entropie in den Zufallszahlengenerator eingespeist wurde. Sobald der Zufallszahlengenerator aber einmal initialisiert wurde, kann er eigentlich bedenkenlos verwendet werden, auch wenn keine neue Entropie mehr hinzukommt. Denn ohne Kenntnis des internen Status des Zufallszahlengenerators sind die ausgegebenen Werte von echtem Zufall nicht mehr zu unterscheiden. Genau diesen Zwischenweg soll der neue Systemaufruf getrandom() anbieten.

Der neue Systemaufruf würde für LibreSSL eine elegante Lösung ermöglichen, die bekanntgewordenen Probleme mit Zufallszahlen zu beheben. Einen ersten Beispielcode, um den entsprechenden Systemaufruf für die in LibreSSL verwendete Funktion arc4random() zu nutzen, hat OpenBSD-Entwickler Brent Cook bereits zur Verfügung gestellt.


eye home zur Startseite
pythoneer 20. Jul 2014

Ja, natürlich sind alle Quellen die nicht aus irgend einer "truther-szene" stammen...

__destruct() 20. Jul 2014

Dann sendet einer auf allen Wifi-Kanälen ein Signal, das stärker ist, als die anderen und...

__destruct() 20. Jul 2014

Man kennt aber die Regel, der die Werte folgen. Den Zugriff anderer Prozesse kann man...

pythoneer 19. Jul 2014

:D ... wie soll man dafür einen UnitTest schreiben ???



Anzeige

Stellenmarkt
  1. htp GmbH, Hannover
  2. Stadt Regensburg, Regensburg
  3. Gentherm GmbH, Odelzhausen
  4. SICK AG, Hamburg


Anzeige
Hardware-Angebote
  1. und bis zu 50€ Cashback erhalten bei Alternate.de
  2. 59,90€

Folgen Sie uns
       


  1. Smartphone-Tastatur

    Nuance stellt Swype ein

  2. Homebrew

    Bastler veröffentlichen alternativen Launcher für Switch

  3. Telekom

    15 Millionen Haushalte sollen 2018 Super Vectoring erhalten

  4. Windows Phone 7.5 und 8.0

    Microsoft schaltet Smartphone-Funktionen ab

  5. Raja Koduri

    Intel zeigt Prototyp von dediziertem Grafikchip

  6. Vizzion

    VW zeigt selbstfahrendes Auto ohne Lenkrad

  7. iOS, MacOS und WatchOS

    Apple verteilt Updates wegen Telugu-Bug

  8. Sicherheitslücken

    Mehr als 30 Klagen gegen Intel wegen Meltdown und Spectre

  9. Nightdive Studios

    Arbeit an System Shock Remake bis auf Weiteres eingestellt

  10. FTTH

    Landkreistag fordert mit Vodafone Glasfaser bis in Gebäude



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Ryzen 5 2400G und Ryzen 3 2200G im Test: Raven Ridge rockt
Ryzen 5 2400G und Ryzen 3 2200G im Test
Raven Ridge rockt
  1. Raven Ridge AMD verschickt CPUs für UEFI-Update
  2. Krypto-Mining AMDs Threadripper schürft effizient Monero
  3. AMD Zen+ und Zen 2 sind gegen Spectre gehärtet

Razer Kiyo und Seiren X im Test: Nicht professionell, aber schnell im Einsatz
Razer Kiyo und Seiren X im Test
Nicht professionell, aber schnell im Einsatz
  1. Stereolautsprecher Razer Nommo "Sind das Haartrockner?"
  2. Nextbit Cloud-Speicher für Robin-Smartphone wird abgeschaltet
  3. Razer Akku- und kabellose Spielemaus Mamba Hyperflux vorgestellt

Freier Media-Player: VLC 3.0 eint alle Plattformen
Freier Media-Player
VLC 3.0 eint alle Plattformen

  1. Re: Meine Güte...

    Kondratieff | 10:50

  2. Re: Rechtlich erlaubt?

    Psy2063 | 10:48

  3. Re: Warum sind smart Lautsprecher so beliebt?

    ramboni | 10:48

  4. Alles schön un gut, wo bleiben die Grundlagen?

    flasherle | 10:47

  5. Re: Totgeburt ...

    \pub\bash0r | 10:45


  1. 10:40

  2. 10:23

  3. 10:04

  4. 08:51

  5. 06:37

  6. 06:27

  7. 00:27

  8. 18:27


  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