Có thể ngăn chặn tiêu thụ entropy khi bắt đầu chương trình?


13

Tôi sử dụng Knoppix (hoặc các đĩa CD / DVD trực tiếp khác) làm môi trường an toàn để tạo các khóa mật mã có giá trị. Thật không may entropy là một nguồn tài nguyên hạn chế trong các môi trường như vậy. Tôi chỉ nhận thấy rằng mỗi chương trình bắt đầu tiêu thụ khá nhiều entropy. Điều này dường như là do một số tính năng bảo vệ ngăn xếp cần ngẫu nhiên địa chỉ.

Tính năng đẹp nhưng hoàn toàn vô dụng và - tệ hơn - phá hoại trong kịch bản của tôi. Có khả năng vô hiệu hóa tính năng này? Tôi thích một cái cho phép tôi tiếp tục sử dụng hình ảnh Knoppix gốc (hoặc bất cứ thứ gì) và chỉ cần một số cấu hình khi chạy.

Tôi đọc rằng điều này là do glibc. Tôi ngạc nhiên rằng một strace -p $PID -f -e trace=openbash chống lại không hiển thị bất kỳ quyền truy cập vào / dev / ngẫu nhiên khi tôi bắt đầu chương trình. Nhưng tôi không quen với sự tương tác của execve () và trình liên kết.


Bạn luôn có thể đầu tư vào một thẻ mã hóa phần cứng.
jordanm

2
"Hoàn toàn vô dụng" = thực sự là một tính năng bảo mật phổ biến cho các hệ điều hành hiện đại ... Ps. kernel thực hiện điều này, do đó không có không gian người dùng -> gọi hệ thống để theo dõi.
goldilocks

Các cuộc gọi ASLRget_random_int . get_random_intđã thay đổi nhiều lần nhưng tôi không thấy nó làm mất entropy . Phiên bản kernel nào bạn nhận thấy điều này? Kiến trúc gì? Là kernel được biên dịch với CONFIG_ARCH_RANDOM?
Gilles 'SO- ngừng trở nên xấu xa'

Nhân tiện, chủ nghĩa tôn sùng entropy của Linux /dev/randombị đặt không đúng chỗ . Nếu có đủ entropy trong hệ thống, /dev/urandomsẽ tốt cho việc tạo khóa và không tiêu thụ entropy.
Gilles 'SO- ngừng trở nên xấu xa'

5
@goldilocks Hãy trung thực khi bạn trích dẫn: "[...] hoàn toàn vô dụng [...] trong kịch bản của tôi"
Hauke ​​Laging

Câu trả lời:


18

Nếu điều này thực sự là do ngẫu nhiên địa chỉ (ASLR phải thực hiện với nơi chương trình được tải, hãy xem tại đây: http://en.wikipedia.org/wiki/Address_space_layout_randomization ) thì bạn có thể vô hiệu hóa nó bằng cách chuyển norandmapsđến kernel trong boot tùy chọn (xem tại đây: http://www.linuxtopia.org/online_books/linux_kernel/kernel_configuration/re30.html ).


Tham số kernel này thực sự giải quyết vấn đề.
Hauke ​​Laging
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.