可以防止程序启动时的熵消耗吗?

可以防止程序启动时的熵消耗吗?

我使用 Knoppix(或其他 Live CD/DVD)作为创建有价值的加密密钥的安全环境。不幸的是,在这种环境中,熵是一种有限的资源。我刚刚注意到每个程序启动都会消耗相当多的熵。这似乎是由于某些堆栈保护功能需要地址随机化。

不错的功能,但在我的场景中完全没用,而且更糟糕的是具有破坏性。是否有可能禁用此功能?我更喜欢一个允许我继续使用原始 Knoppix(或其他)图像并且只需要在运行时进行一些配置的图像。

我读到这是由 glibc 引起的。令我惊讶的是,strace -p $PID -f -e trace=open当我启动程序时,反对 bash 并没有显示对 /dev/random 的任何访问。但我不熟悉 execve() 和链接器的交互。

答案1

如果这确实是由于地址随机化(ASLR 与程序加载位置有关,请参见此处:http://en.wikipedia.org/wiki/Address_space_layout_randomization)然后您可以通过norandmaps在引导选项中传递给内核来禁用它(请参见此处:http://www.linuxtopia.org/online_books/linux_kernel/kernel_configuration/re30.html)。

相关内容