CONFIG_STRICT_DEVMEM=y로 설정해도 안전합니까?

CONFIG_STRICT_DEVMEM=y로 설정해도 안전합니까?

나는 그것을 시도 /dev/mem하고 루트로서도 발견했습니다 CONFIG_STRICT_DEVMEM=y.

루트 사용자가 자신이 좋아하는 일을 하는 것을 방지하는 메커니즘이 있다는 것이 나에게는 새로운 사실입니다.

그러나 루트로서 간단히 Linux 커널 이미지를 변경하고 재부팅할 수 있습니다(제한 사항을 비활성화하기 위해). 커널 이미지 파일이 어떻게든 보호된다면 여전히 메인 /dev/sda디스크나 다른 메인 디스크에 쓸 수 있습니다.

그래서 내 질문은 설정이 CONFIG_STRICT_DEVMEM=y안전한지 아니면 루트 사용자가 쉽게 우회할 수 있는지입니다.

답변1

목표STRICT_DEVMEM소유자로부터 시스템을 완전히 보호하는 것이 아니라 실수로 인한 쓰기를 방지하기 위한 것입니다 /dev/mem.

이 옵션을 비활성화하면 사용자 공간(루트)은 커널 및 사용자 공간 메모리를 포함한 모든 메모리에 액세스할 수 있습니다. 이에 대한 우발적인 액세스는 분명히 재앙적이지만 커널을 디버깅하는 누군가가 특정 액세스를 사용할 수 있습니다.

또한 실행 중인 시스템에 대한 많은 공격 시나리오를 더욱 어렵게 만들지 만 유휴 상태의 시스템을 보호할 수는 없습니다.

관련 정보