SUID/GGUID 파일을 일반적으로 읽을 수 없는 이유는 무엇입니까?

SUID/GGUID 파일을 일반적으로 읽을 수 없는 이유는 무엇입니까?

나는 Linux에서 로그인 su 등과 같은 SUID 바이너리에 읽기 권한 세트가 없다는 것을 발견했습니다. 그 이유는 무엇입니까? 뒤에 어떤 역사가 있어야 합니까? 아니면 파일을 읽을 수 있으면 디버거를 연결하여 원하는 코드를 실행할 수 있기 때문입니까?

답변1

이것은 내 경험이 아니므로 어떤 배포판을 사용하는지 언급할 가치가 있을 수 있습니다.

루트가 아니면 suid 바이너리에 디버거를 연결할 수 없습니다.

바이너리를 읽으면 프로그램에서 악용할 약점을 찾을 수 있습니다. 그러나 배포판을 직접 다운로드하여 루트 액세스 권한이 있는 컴퓨터에 설치하고 원하는 대로 프로그램을 검사할 수 있습니다. 핵심 프로그램의 일부인 경우 소스를 가져와 소스 수준에서 검사할 수도 있습니다.

따라서 파일 내용을 숨길 필요가 없습니다.

관련 정보