Abo
  • Services:

Getrandom: Glibc 2.25 bekommt endlich besseren Zufall

Die Standard-C-Bibliothek des GNU-Projekts hat endlich Wrapper für die Linux-Systemaufrufe Getrandom und Getentropy - mehr als zwei Jahre nach deren Einführung. Neu sind außerdem Funktionen für Strings, Mathe-Operationen und ein starker Schutz vor Stack-Überläufen.

Artikel veröffentlicht am ,
Die C-Bibliothek des GNU-Projekts kann zuverlässige Zufallszahlen erzeugen.
Die C-Bibliothek des GNU-Projekts kann zuverlässige Zufallszahlen erzeugen. (Bild: Yoni Lerner, flickr.com/CC-BY 2.0)

Mit der aktuellen Version 2.25 der Standard-C-Bibliothek des GNU-Projekts (Glibc) können Programmierer erstmals über Wrapper auf die zwei Linux-Systemaufrufe getrandom() und getentropy() zugreifen. Diese sind wegen Problemen entstanden, welche die OpenBSD-Entwickler beim Erstellen ihres OpenSSL-Forks LibreSSL im Sommer 2014 entdeckt haben. Die Kernel-Community hat die Neuerung vergleichsweise schnell schon wenige Monate darauf in Linux eingepflegt.

Bessere Zufallszahlen in Linux

Stellenmarkt
  1. Schwarz Zentrale Dienste KG, Flein
  2. AUNOVIS GmbH, Karlsruhe

Die beiden bisher verwendeten virtuellen Geräte /dev/random und /dev/urandom für das Generieren von Zufallszahlen hatten die LibreSSL-Entwickler kritisiert: 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. Mit dem Systemaufruf getrandom() sollen diese Probleme behoben worden sein. Die Lösung gibt es bereits bei OpenBSD, sie wurde von den Entwicklern von LibreSSL für Linux gefordert.

Der neue Systemaufruf schließt eine weitere Lücke: Das virtuelle Gerät /dev/random liefert nur dann Zufallszahlen, wenn dem System genügend Entropie zur Verfügung steht, und kann somit in manchen Situationen eine Software blockieren. Urandom produziert hingegen immer Zufallszahlen - auch dann, wenn diese möglicherweise unsicher sind. Der neue Systemaufruf umgeht diese Probleme, indem er erst dann Zufallszahlen liefert, wenn der Pseudorandom Number Generator (PRNG) mit 128 Bit Entropie gestartet wurde.

Der erste Patch für diese Systemaufruf-Wrapper in Glibc ist Anfang 2016 vorgestellt worden. Die Community pflegte ihn aber nicht direkt ein, da sie lieber auf standardisierte Schnittstellen setze, statt betriebssystemspezifische Schnittstellen zu unterstützen. Das Magazin LWN.net erklärt die Details zu dieser Diskussion.

Stack-Smashing-Protector kann genutzt werden

Ebenfalls für die Sicherheit von Anwendungen relevant ist die Unterstützung des sogenannten Stack-Smashing-Protectors (SSP). Dabei handelt es sich um eine Compiler-Option, die es ermöglichen soll, Überläufe des Stapelspeichers zu erkennen beziehungsweise zu verhindern. Der korrekte Umgang damit erfordert allerdings einige weitere tiefgreifende Kenntnisse. Mit Hilfe der aus OpenBSD stammenden Funktion explicit_bzero() können besonderes schützenswerte Datenbereiche nach deren Nutzung sicher gelöscht werden.

Mit Glibc 2.25 lassen sich darüber hinaus per Funktionsaufruf Gleitkommazahlen in Strings umwandeln. Stark ausgebaut hat das Team auch die verfügbaren mathematischen Operationen, um etwa Werte auf die nächste Ganzzahl zu runden oder die totale Ordnung von Zahlwerten zu überprüfen.



Anzeige
Blu-ray-Angebote
  1. (u. a. 3 Blu-rays für 15€, 2 Neuheiten für 15€)
  2. (u. a. Logan, John Wick, Alien Covenant, Planet der Affen Survival)

hjp 10. Feb 2017

Ein ganz praktischer Grund wäre, dass alle Standard-C-Funktionen auf...

bstea 08. Feb 2017

getrandom wurde extra deswegen im Kernel integriert um sinnige Zufallszahlen zu...


Folgen Sie uns
       


Radeon RX 590 - Test

Wir schauen uns AMDs Radeon RX 590 anhand der Nitro+ Special Edition von Sapphire genauer an: Die Grafikkarte nutzt den Polaris 30 genannten Chip, welcher im 12 nm statt im 14 nm Verfahren hergestellt wird.

Radeon RX 590 - Test Video aufrufen
Apple Mac Mini (Late 2018) im Test: Tolles teures Teil - aber für wen?
Apple Mac Mini (Late 2018) im Test
Tolles teures Teil - aber für wen?

Der Mac Mini ist ein gutes Gerät, wenngleich der Preis für die Einstiegsvariante von Apple arg hoch angesetzt wurde und mehr Speicher(platz) viel Geld kostet. Für 4K-Videoschnitt eignet sich der Mac Mini nur selten und generell fragen wir uns, wer ihn kaufen soll.
Ein Test von Marc Sauter

  1. Apple Mac Mini wird grau und schnell
  2. Neue Produkte Apple will Mac Mini und Macbook Air neu auflegen

IT: Frauen, die programmieren und Bier trinken
IT
Frauen, die programmieren und Bier trinken

Fest angestellte Informatiker sind oft froh, nach Feierabend nicht schon wieder in ein Get-together zu müssen. Doch was ist, wenn man kein Team hat und sich selbst Programmieren beibringt? Women Who Code veranstaltet Programmierabende für Frauen, denen es so geht. Golem.de war dort.
Von Maja Hoock

  1. Software-Entwickler CDU will Online-Weiterbildung à la Netflix
  2. Job-Porträt Cyber-Detektiv "Ich musste als Ermittler über 1.000 Onanie-Videos schauen"
  3. Bundesagentur für Arbeit Ausbildungsplätze in der Informatik sind knapp

Google Nachtsicht im Test: Starke Nachtaufnahmen mit dem Pixel
Google Nachtsicht im Test
Starke Nachtaufnahmen mit dem Pixel

Gut einen Monat nach der Vorstellung der neuen Pixel-Smartphones hat Google die Kamerafunktion Nachtsicht vorgestellt. Mit dieser lassen sich tolle Nachtaufnahmen machen, die mit denen von Huaweis Nachtmodus vergleichbar sind - und dessen Qualität bei Selbstporträts deutlich übersteigt.
Ein Test von Tobias Költzsch

  1. Pixel 3 Google patcht Probleme mit Speichermanagement
  2. Smartphone Google soll Pixel 3 Lite mit Kopfhörerbuchse planen
  3. Google Dem Pixel 3 XL wächst eine zweite Notch

    •  /