머신에서 실행이 허용되는 실행 파일 테이블을 원합니다.모든 것그렇지 않으면 실행 가능 플래그가 설정되어 있어도 실행되지 않습니다. 예를 들어 다음과 같은 구성 파일을 통해:
|명령|위치|허용|해시|액세스 옵션 |---|------------------ --- ------|---- ----|---------|---------- ---- ------ | youtube-dl | /usr/local/bin/youtube-dl |
(이 표는 소프트웨어 호출이 허용되는 방법을 정의할 수도 있습니다. - "액세스 옵션" - 기본 옵션은 직접 호출을 허용합니다. 그렇지 않으면 특정 명령이나 인증된 소프트웨어 목록만 소프트웨어를 실행할 수 있습니다.
보안 관점에서 볼 때 이는 소프트웨어가 시스템에서 실행되도록 인증하고 해시를 통해 무결성을 보장하는 메커니즘에 적합하다고 생각합니다. 더 구체적으로 말하자면, 해시될 수도 있습니다.모두소프트웨어가 갖는 종속성(예를 들어 테이블의 해시는 소프트웨어의 모든 관련 해시의 해시일 수 있음)을 통해 소프트웨어의 무결성을 보장합니다.
데비안에도 비슷한 것이 있습니까(아마도 Linux 커널의 일부로, 올바르게 부팅하려면 Linux/GNU/DE에 필요한 모든 소프트웨어에 대한 기본 항목이 있어야 합니다)?
답변1
- 파일 확인에 대해 말하자면:
가지다
- fs-진정성https://www.kernel.org/doc/html/latest/filesystems/fsverity.html
- DM 확인https://www.kernel.org/doc/html/latest/admin-guide/device-mapper/verity.html
문제는 전자를 설정하기 위한 매뉴얼/방법을 전혀 모르는 반면, 후자는 내가 아는 한 Android에서만 구현된다는 것입니다.
그 다음에는 AIDE 및 Tripwire(더 이상 개발되지 않음)와 같은 도구가 있습니다.묵시,샘 한그러나 그것들은 대부분 모니터이지 해시를 기반으로 애플리케이션 실행을 중지/허용하는 데 필요한 기능을 갖춘 것이 아닙니다.
마지막으로 파일 해시를 저장할 이 파일을 고려해 보겠습니다. 이렇게 하려는 이유는 뒤에서 수정된 소프트웨어가 실행되는 것을 피하기 위함인 것 같습니다. 그러나 그런 일이 발생하면 공격자는 시스템을 완전히 손상시킨 것이며 모든 데이터와 모든 콘텐츠를 저장하는 파일을 변경할 수 있습니다. 보호가 효과적이지 않게 되었습니다. 이는 fs-verity/dm-verity가 불행하게도 유일한 탈출구라는 것을 의미하지만 공격자가 읽기-쓰기 모드에서 저장소를 다시 마운트하고 보호를 렌더링할 수 있으므로 둘 다 읽기 전용 저장소와 깊은 시스템 잠금이 필요합니다. 또 쓸모없어.
- 특정 응용 프로그램만 실행하도록 허용하는 경우:
나는 기성 솔루션을 알지 못하지만 다음을 통해 달성할 수 있습니다.
필요한 디렉터리 권한을 755에서 750으로 변경한 다음 허용된 모든 응용 프로그램을 /usr/local/allowbin과 같이 사용자가 액세스할 수 있는 특수 경로에 복사합니다.
지정한 권한 파일에 대해 실행 중인 애플리케이션을 확인한 다음 해당 파일을 기반으로 실행을 허용/거부하는 sudo 래퍼를 작성합니다.
만들다chroot 감옥.
TLDR 내가 아는 한, 귀하의 문제를 해결할 수 있는 데스크톱 Linux용 기성 솔루션은 없습니다.