Чи можна запобігти споживання ентропії при запуску програми?


13

Я використовую Knoppix (або інші прямі компакт-диски / DVD-диски) як захищене середовище для створення цінних криптовалют. На жаль, ентропія є обмеженим ресурсом у таких середовищах. Я щойно помітив, що кожен запуск програми вимагає певної ентропії. Здається, це пов'язано з деякою функцією захисту від стека, яка потребує рандомізації адреси.

Приємна функція, але абсолютно марна і - що ще гірше - руйнівна для мого сценарію. Чи є можливість відключити цю функцію? Я б віддав перевагу такому, що дозволяє мені продовжувати використовувати оригінальне зображення Knoppix (або будь-яке інше) і просто потребує певної конфігурації під час виконання.

Я читав, що це спричинило glibc. Я здивований, що strace -p $PID -f -e trace=openпроти bash не показується жодного доступу до / dev / random, коли я запускаю програми. Але я не знайомий із взаємодією execve () та лінкера.


Ви завжди можете інвестувати в карту апаратного шифрування.
Йорданм

2
"повністю марно" = фактично функція безпеки, універсальна для сучасних операційних систем ... Пс. ядро робить це, тому немає системного виклику для відстеження.
goldilocks

ASLR дзвінкиget_random_int . get_random_intвже кілька разів змінювалися , але я не бачу його виснаженням ентропії . У якій версії ядра ви це помітили? Яка архітектура? Чи компільовано ядро CONFIG_ARCH_RANDOM?
Жил "ТАК - перестань бути злим"

До речі, ентропійський фетишизм Linux /dev/randomне заміщений . Якщо в системі достатньо ентропії, /dev/urandomце добре для генерації ключів і не вимагає ентропії.
Жиль "ТАК - перестань бути злим"

5
@goldilocks Будьте чесні, коли ви цитуєте: "[...] абсолютно марний [...] у моєму сценарії"
Hauke ​​Laging

Відповіді:


18

Якщо це насправді пов’язано з рандомізацією адреси (ASLR пов'язана з тим, де програма завантажена, дивіться тут: http://en.wikipedia.org/wiki/Address_space_layout_randomization ), то ви можете відключити її, перейшовши norandmapsдо ядра в завантажувальному файлі. параметри (див. тут: http://www.linuxtopia.org/online_books/linux_kernel/kernel_configuration/re30.html ).


Цей параметр ядра справді вирішує проблему.
Hauke ​​Laging
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.