• IT-Karriere:
  • 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. Stadtwerke München GmbH, München
  2. InnoGames GmbH, Hamburg

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Top-Angebote
  1. 94,90€ (Bestpreis!)
  2. (u. a. Alien 1 - 6 Collection inkl. Alien-Ei für 126,99€, Ash vs. Evil Dead 1 - 2 + Figur für...
  3. (u. a. Stronghold Crusader 2 für 2,99€, WoW Gamecard Prepaid 30 Tage für 12,49€, FIFA 20 PC...

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
       


Looking Glass Holo-Display angesehen (CES 2020)

Der Looking Glass 8K ist ein Monitor, der mittels Lichtfeldtechnologie 3D-Inhalte als Hologramm anzeigen kann. Golem.de hat sich das Display auf der CES 2020 genauer angeschaut.

Looking Glass Holo-Display angesehen (CES 2020) Video aufrufen
Wolcen im Test: Düster, lootig, wuchtig!
Wolcen im Test
Düster, lootig, wuchtig!

Irgendwo zwischen Diablo und Grim Dawn: Die dreckige Spielwelt von Wolcen - Lords Of Mayhem ist Schauplatz für ein tolles Hack'n Slay - egal ob offline oder online, alleine oder gemeinsam. Und mit Cryengine.
Ein Test von Marc Sauter

  1. Project Mara Microsoft kündigt Psychoterror-Simulation an
  2. Active Gaming Footwear Puma blamiert sich mit Spielersocken
  3. Simulatoren Nach Feierabend Arbeiten spielen

Grünheide: Umweltbewegung agiert bei Tesla-Fabrik unglücklich
Grünheide
Umweltbewegung agiert bei Tesla-Fabrik unglücklich

Es gibt gute Gründe, die Elektromobilität nicht nur unkritisch zu bejubeln. Einige Umweltverbände und Klimaaktivisten machen im Fall der Tesla-Fabrik in Grünheide dabei aber keine besonders gute Figur.
Ein IMHO von Hanno Böck

  1. Gigafactory Berlin Der "Tesla-Wald" ist fast gefällt
  2. Grünheide Tesla darf Wald weiter roden
  3. Gigafactory Grüne kritisieren Grüne Liga wegen Baumfällstopp für Tesla

Nitropad im Test: Ein sicherer Laptop, der im Alltag kaum nervt
Nitropad im Test
Ein sicherer Laptop, der im Alltag kaum nervt

Das Nitropad schützt vor Bios-Rootkits oder Evil-Maid-Angriffen. Dazu setzt es auf die freie Firmware Coreboot, die mit einem Nitrokey überprüft wird. Das ist im Alltag erstaunlich einfach, nur Updates werden etwas aufwendiger.
Ein Praxistest von Moritz Tremmel und Sebastian Grüner

  1. Nitropad X230 Nitrokey veröffentlicht abgesicherten Laptop
  2. LVFS Coreboot-Updates sollen nutzerfreundlich werden
  3. Linux-Laptop System 76 verkauft zwei Laptops mit Coreboot

    •  /