보안 위험? 우분투가 /boot/initrd* 및 /boot/vmlinuz*에 이상한 권한을 적용하는 이유는 무엇입니까?

보안 위험? 우분투가 /boot/initrd* 및 /boot/vmlinuz*에 이상한 권한을 적용하는 이유는 무엇입니까?

initrd.img는 모두 644이고, 다른 손에 있는 vmlinuz는 600입니다. 이는 전부는 아니더라도 다른 많은 배포판에서는 반대입니다. 나는 다른 배포판이 실제로 올바르게 작동한다고 생각합니다. vlinuz의 콘텐츠는 모두 공개되어 있으며 거기에는 비밀이 없습니다. 그러나 initrd에는 내용을 읽을 수 other없을 때 공격 표면을 노출할 수 있는 모든 종류의 사용자 정의 설정이 포함될 수 있습니다. root게다가 사람들이 전체 디스크 암호화를 할 때 initrd에 luks 키를 포함시키는 것이 추세입니다. 따라서 no! no!initrd를 전역적으로 읽을 수 있도록 설정하는 것이 절대적입니다 .

이 디자인의 이유는 무엇입니까? 우분투에서 initrd.img를 전역적으로 읽을 수 있도록 해야 하는 이유는 무엇입니까? 이것에 의존하는 기능이 있습니까?

숙련된 사용자가 우분투에서 initrd.img를 영구적으로 600으로 만드는 방법을 알려줄 수 있기를 바랍니다. 이러한 파일은 커널 업데이트 중에 자동으로 생성되기 때문입니다. 어쩌면 스크립트를 추가할까요 /etc/kernel/postinst.d/?

답변1

내 컴퓨터에 둘 다 설치한 20.04와 22.04 사이에 차이점이 있습니다. 20.04에서는 귀하의 질문에 설명된 동작을 볼 수 있지만 22.04에서는 initrd.img* 파일에 600개의 권한이 있습니다.

비틀거리며이 버그파일을 체크인 /etc/initramfs-tools하고 22.04에는 있지만 20.04에는 없는 관련 파일을 찾았습니다.

~$ sudo cat /etc/initramfs-tools/conf.d/calamares-safe-initramfs.conf 
[sudo] password for mook: 
UMASK=0077
~$ ls -l /etc/initramfs-tools/conf.d/calamares-safe-initramfs.conf 
-rw------- 1 root root 11 Apr 25 02:53 /etc/initramfs-tools/conf.d/calamares-safe-initramfs.conf

따라서 이것이 initrd.img* 파일에 대한 안전한 권한을 얻기 위해 추가해야 하는 파일이라고 생각합니다.

물론 기존 initramfs 이미지에는 영향을 미치지 않으며 chmod권한을 600으로 변경하는 데 사용됩니다.

답변2

커널 및 기호 파일은 권한 0600으로 설치되므로 익스플로잇은 공격에 사용할 주소 또는 오프셋을 알아보기 위해 이러한 파일을 읽을 수 없습니다. 공격자가 미리 모든 커널 패키지를 다운로드하고 필요한 오프셋 테이블을 직접 구축할 수 있기 때문에 완벽한 방법은 아니지만 추가 작업이 필요합니다.

변경하는 것이 합리적일 수도 있습니다.@mook765의 답변에 설명된 기본 initramfs 권한. 이에 대해 강하게 느끼신다면 버그 보고서를 제출해 주세요. 그만큼전체 디스크 암호화에 대한 help.ubuntu.com 기사initramfs에 키를 삽입하는 방법에 대한 조언과 함께 이 단계가 포함되어 있습니다.

기본값은 다른 파일 시스템의 주요 자료를 initramfs에 포함하지 않는 사용자에게 안전해야 합니다. (매우 드문 구성이라고 생각합니다.)

관련 정보