Neuer Zufalls-Syscall für Linux dank LibreSSL

18.07.2014

Eine theoretische Sicherheitslücke der der Implementierung von LibreSSL hat dazu geführt, dass Linux künftig über einen neuen Systemaufruf verfügt, der Zufälligkeit liefert.

Bei der Portierung von LibreSSL auf Linux mussten die OpenBSD-Entwickler diverse Funktionen, die der OpenBSD-Kernel zur Verfügung stellt, neu implementieren. Kurze Zeit später entdeckte Andrew Ayer aber, dass die Art und Weise, wie sie dabei vom Pseudozufallszahlengenerator in Linux Gebrauch machten, nicht völlig sicher war: Weil die Prozess-ID in die Erzeugung der Zufallszahlen eingeht, ist es unter gewissen Umständen möglich, dass ein durch Fork erzeugter Kindprozess dieselben Zufallszahlen erhält wie der Elternprozess. Nach Meinung des OpenBSD-Entwicklers Theo de Raadt handelt es sich dabei zwar nur um ein theoretisches Problem, dennoch veröffentlichte LibreSSL mit Version 2.0.2 ein neues Release, das diese Lücke nicht aufwies.

Weitgehende Einigkeit herrschte allerdings darüber, dass der Grund für das Problem im Design der Linux-Schnittstelle zur Erzeugung von Zufallszahlen liegt. Dem hat Theodore Ts'o, der als Entwickler der Linux-Dateisysteme Ext2/3/4 bekannt ist, jetzt mit einem Kernel-Patch Rechnung getragen, der einen neuen Systemaufruf implementiert. Künftig können Anwendungsprogrammierer Zufallsdaten mit dem Systemaufruf "getrandom()" anfordern, der so funktioniert wie der Syscall "getentropy()" in OpenBSD.

Ähnliche Artikel

comments powered by Disqus
Mehr zum Thema

LibreSSL 2.0 veröffentlicht

Das OpenBSD-Projekt hat das erste plattformübergreifende Release des OpenSSL-Aufräumprojekts vorgelegt.

Artikel der Woche

Loadtests ohne Server

Für Loadtests der eigenen Server bietet sich die Cloud an, denn kurz getaktet lassen sich dort viele Rechnerinstanzen starten, die das eigene Budget nur wenig belasten. Noch flexibler, günstiger und besser skalierbar sind Tests mit einer Serverless-Infrastruktur wie AWS Lambda. Wir führen vor, wie Sie dort mit Serverless Artillery eigene Loadtests starten. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018