Kann Entropieverbrauch beim Programmstart verhindert werden?

13

Ich verwende Knoppix (oder andere Live-CDs / DVDs) als sichere Umgebung für die Erstellung wertvoller Kryptoschlüssel. Leider ist die Entropie in solchen Umgebungen eine begrenzte Ressource. Mir ist gerade aufgefallen, dass jeder Programmstart einiges an Entropie kostet. Dies scheint auf eine Stack-Schutzfunktion zurückzuführen zu sein, die eine Adress-Randomisierung erfordert.

Nettes Feature, aber völlig nutzlos und - schlimmer noch - destruktiv in meinem Szenario. Gibt es eine Möglichkeit, diese Funktion zu deaktivieren? Ich würde eines vorziehen, mit dem ich weiterhin das ursprüngliche Knoppix-Image (oder was auch immer) verwenden und zur Laufzeit nur eine Konfiguration benötigen kann.

Ich habe gelesen, dass dies durch glibc verursacht wurde. Ich bin überrascht, dass ein strace -p $PID -f -e trace=opengegen Bash keine Zugriffe auf / dev / random anzeigt, wenn ich Programme starte. Aber ich bin nicht vertraut mit der Interaktion von execve () und dem Linker.

Hauke ​​Laging
quelle
Sie könnten immer in eine Hardware-Verschlüsselungskarte investieren.
Jordanien
2
"völlig nutzlos" = eigentlich ein Sicherheitsmerkmal, das für moderne Betriebssysteme universell ist ... Ps. Der Kernel tut dies, daher gibt es keinen Userspace -> Systemaufruf zum Verfolgen.
Goldlöckchen
ASLR ruft aufget_random_int . get_random_inthat sich mehrmals geändert, aber ich sehe nicht, dass es die Entropie erschöpft . Auf welcher Kernel-Version ist Ihnen das aufgefallen? Welche Architektur? Wird der Kernel mit kompiliert CONFIG_ARCH_RANDOM?
Gilles 'SO- hör auf böse zu sein'
Übrigens, der Entropiefetischismus von Linux /dev/randomist fehl am Platz . Wenn genügend Entropie im System vorhanden ist, /dev/urandomist dies für die Schlüsselerzeugung in Ordnung und verbraucht keine Entropie.
Gilles 'SO- hör auf böse zu sein'
5
Seien Sie ehrlich, wenn Sie zitieren: "[...] in meinem Szenario völlig nutzlos"
Hauke ​​Laging

Antworten:

18

Wenn dies in der Tat auf eine zufällige Adressierung zurückzuführen ist (ASLR hat damit zu tun, wo das Programm geladen wird, siehe hier: http://en.wikipedia.org/wiki/Address_space_layout_randomization ), können Sie es deaktivieren, indem Sie es norandmapsan den Kernel im Boot übergeben Optionen (siehe hier: http://www.linuxtopia.org/online_books/linux_kernel/kernel_configuration/re30.html ).

Frederik Deweerdt
quelle
Dieser Kernel-Parameter löst tatsächlich das Problem.
Hauke ​​Laging