Abo
  • Services:
Anzeige
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)

Getrandom: Glibc 2.25 bekommt endlich besseren Zufall

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)

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.

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.

Anzeige

Bessere Zufallszahlen in Linux

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.


eye home zur Startseite
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...



Anzeige

Stellenmarkt
  1. InnovaMaxx GmbH, Berlin
  2. Continental AG, Frankfurt am Main
  3. escrypt GmbH Embedded Security, Stuttgart
  4. Robert Bosch GmbH, Weilimdorf


Anzeige
Top-Angebote
  1. 59,90€ + 5,99€ Versand (Vergleichspreis 84,53€)
  2. 109,99€

Folgen Sie uns
       


  1. Two Point Hospital

    Sega stellt Quasi-Nachfolger zu Theme Hospital vor

  2. Callya

    Vodafones Prepaid-Tarife erhalten mehr Datenvolumen

  3. Skygofree

    Kaspersky findet mutmaßlichen Staatstrojaner

  4. World of Warcraft

    Schwierigkeitsgrad skaliert in ganz Azeroth

  5. Open Source

    Microsoft liefert Curl in Windows 10 aus

  6. Boeing und SpaceX

    Experten warnen vor Sicherheitsmängeln bei Raumfähren

  7. Tencent

    Lego will mit Tencent in China digital expandieren

  8. Beta-Update

    Gesichtsentsperrung für Oneplus Three und 3T verfügbar

  9. Matthias Maurer

    Ein Astronaut taucht unter

  10. Luftfahrt

    Boeing entwickelt Hyperschall-Spionageflugzeug



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Sgnl im Hands on: Sieht blöd aus, funktioniert aber
Sgnl im Hands on
Sieht blöd aus, funktioniert aber
  1. Displaytechnik Samsung soll faltbares Smartphone auf CES gezeigt haben
  2. Digitale Assistenten Hey, Google und Alexa, mischt euch nicht überall ein!
  3. MX Low Profile im Hands On Cherry macht die Switches flach

EU-Urheberrechtsreform: Abmahnungen treffen "nur die Dummen"
EU-Urheberrechtsreform
Abmahnungen treffen "nur die Dummen"
  1. Leistungsschutzrecht EU-Kommission hält kritische Studie zurück
  2. Leistungsschutzrecht EU-Staaten uneins bei Urheberrechtsreform
  3. Breitbandausbau Oettinger bedauert Privatisierung der Telekom

Security: Das Jahr, in dem die Firmware brach
Security
Das Jahr, in dem die Firmware brach
  1. Wallet Programmierbare Kreditkarte mit ePaper, Akku und Mobilfunk
  2. Fehlalarm Falsche Raketenwarnung verunsichert Hawaii
  3. Asynchronous Ratcheting Tree Facebook demonstriert sicheren Gruppenchat für Apps

  1. So wird das aber nichts Kaspersky...

    mnementh | 18:24

  2. Re: Tarif mit ~300MB und ~30min/SMS gesucht

    Eheran | 18:22

  3. geschwafel

    LiPo | 18:22

  4. Re: Sinnlos

    Hotohori | 18:22

  5. Re: Aha. Man erwartet also...

    dEEkAy | 18:21


  1. 17:48

  2. 17:00

  3. 16:25

  4. 15:34

  5. 15:05

  6. 14:03

  7. 12:45

  8. 12:30


  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