Czy można zapobiec zużyciu entropii na początku programu?


13

Używam Knoppix (lub innych Live CD / DVD) jako bezpiecznego środowiska do tworzenia cennych kluczy kryptograficznych. Niestety entropia jest ograniczonym zasobem w takich środowiskach. Właśnie zauważyłem, że każdy start programu zużywa trochę entropii. Wydaje się, że jest to spowodowane pewną funkcją ochrony stosu, która wymaga randomizacji adresu.

Ładna funkcja, ale całkowicie bezużyteczna i - co gorsza - destrukcyjna w moim scenariuszu. Czy jest jakaś możliwość wyłączenia tej funkcji? Wolałbym taki, który pozwala mi nadal używać oryginalnego obrazu Knoppix (lub cokolwiek innego) i po prostu potrzebuję konfiguracji w czasie wykonywania.

Przeczytałem, że było to spowodowane przez glibc. Dziwię się, że po uruchomieniu strace -p $PID -f -e trace=openbash nie pokazuje żadnego dostępu do / dev / random. Ale nie jestem zaznajomiony z interakcją execve () i linkera.


Zawsze możesz zainwestować w sprzętową kartę szyfrującą.
Jordan

2
„całkowicie bezużyteczny” = właściwie funkcja bezpieczeństwa uniwersalna dla współczesnych systemów operacyjnych ... Ps. jądro to robi, więc nie ma przestrzeni użytkownika -> wywołanie systemowe do śledzenia.
goldilocks,

Połączenia ASLRget_random_int . get_random_intnie zmienił się kilkakrotnie , ale nie widzę go ozonową entropii . W jakiej wersji jądra to zauważyłeś? Jaka architektura? Czy jądro jest kompilowane CONFIG_ARCH_RANDOM?
Gilles „SO- przestań być zły”

Nawiasem mówiąc, entropia linuksowa Linuksa /dev/randomjest niewłaściwa . Jeśli w systemie /dev/urandomjest wystarczająco dużo entropii, jest to w porządku do generowania kluczy i nie zużywa entropii.
Gilles 'SO - przestań być zły'

5
@goldilocks Bądź szczery, cytując: „[...] całkowicie bezużyteczne [...] w moim scenariuszu”
Hauke ​​Laging

Odpowiedzi:


18

Jeśli jest to rzeczywiście spowodowane przypadkową losowością adresu (ASLR ma związek z miejscem, w którym program jest załadowany, patrz tutaj: http://en.wikipedia.org/wiki/Address_space_layout_randomization ), możesz to wyłączyć, przechodząc norandmapsdo jądra w bootie opcje (patrz tutaj: http://www.linuxtopia.org/online_books/linux_kernel/kernel_configuration/re30.html ).


Ten parametr jądra rzeczywiście rozwiązuje problem.
Hauke ​​Laging
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.