plegde와 유사한 격리 메커니즘이 FreeBSD에서 개발 중입니다.

FreeBSD용 애플리케이션 격리 메커니즘 구현이 제안되었으며 , 이는 OpenBSD 프로젝트에서 개발한 foldde 및 unveil 시스템 호출과 유사하다고 발표되었습니다 .

plegde에서 격리는 응용 프로그램에서 사용하지 않는 시스템 호출에 대한 액세스를 금지하고 응용 프로그램이 작업할 수 있는 특정 파일 경로에 대해서만 액세스를 선택적으로 열어 공개합니다. 응용 프로그램의 경우 일종의 시스템 호출 및 파일 경로 화이트리스트가 형성되며 다른 모든 호출 및 경로는 금지됩니다.

FreeBSD용으로 개발된 `pledge`와 `unveil`의 차이점은 애플리케이션 코드에 최소한의 변경 또는 변경 없이 애플리케이션을 격리할 수 있는 추가 계층을 제공하는 데 있습니다 . OpenBSD에서 `pledge`와 `unlock`은 기본 환경과의 긴밀한 통합을 목표로 하며, 각 애플리케이션 코드에 특수 어노테이션을 추가하여 구현됩니다.

보호 구성을 단순화하기 위해 필터를 사용하면 개별 시스템 호출 수준에서 세부 정보를 피하고 시스템 호출 클래스(입력/출력, 파일 읽기, 파일 쓰기, 소켓, ioctl, sysctl, 프로세스 시작 등)를 조작할 수 있습니다. . 특정 작업이 수행될 때 응용 프로그램 코드에서 액세스 제한 기능을 호출할 수 있습니다. 예를 들어, 필요한 파일을 열고 네트워크 연결을 설정한 후 소켓 및 파일에 대한 액세스를 닫을 수 있습니다.

FreeBSD용 폴딩 및 언폴딩 유틸리티 개발자는 임의의 애플리케이션을 격리할 수 있는 기능을 제공하는 것을 목표로 합니다. 이를 위해 개발자는 별도의 파일에 정의된 규칙을 애플리케이션에 적용할 수 있는 `curtain` 유틸리티를 제안합니다. 제안된 설정에는 시스템 호출 유형과 특정 애플리케이션에 특화된 파일 경로(사운드, 네트워킹, 로깅 등)를 정의하는 기본 설정 파일과 특정 애플리케이션에 대한 접근 규칙이 포함된 파일이 있습니다.

커튼 유틸리티는 대부분의 유틸리티, 서버 프로세스, 그래픽 응용 프로그램 및 수정되지 않은 전체 데스크톱 세션을 분리하는 데 사용할 수 있습니다. Jail 및 Capsicum 하위 시스템에서 제공하는 격리 메커니즘과 커튼을 공유하는 것이 지원됩니다.

중첩 격리 도 가능하며, 실행된 애플리케이션은 주 애플리케이션이 설정한 규칙을 상속받고 별도의 제한 사항을 추가합니다. 일부 커널 작업(디버깅 도구, POSIX/SysV IPC, PTY)은 현재 프로세스 또는 주 프로세스 이외의 프로세스가 생성한 커널 객체에 대한 접근을 차단하는 장벽 메커니즘으로 더욱 보호됩니다.

프로세스는 curtainctl을 호출하거나 OpenBSD와 유사하게 libcurtain 라이브러리에서 제공하는 pledge() 및 unveil() 함수를 사용하여 자체 격리 수준을 구성할 수 있습니다 . 애플리케이션 실행 중 잠금 상태를 추적하기 위해 sysctl 'security.curtain.log_level'이 제공됩니다.

X11 및 Wayland 프로토콜에 대한 액세스는 커튼을 시작할 때 "-X"/"-Y" 및 "-W" 옵션을 지정하여 별도로 활성화되지만 그래픽 응용 프로그램에 대한 지원은 아직 충분히 안정화되지 않았으며 일련의 해결되지 않은 문제가 있습니다( 문제는 주로 X11을 사용할 때 나타나고 Wayland 지원이 훨씬 좋습니다). 사용자는 로컬 규칙 파일(~/.curtain.conf)을 생성하여 추가 제한을 추가할 수 있습니다. 예를 들어,

구현에는 필수 액세스 제어(MAC)용 mac_curtain 커널 모듈, 필수 드라이버 및 필터 구현이 포함된 FreeBSD 커널용 패치 세트, 응용 프로그램에서 plegde 및 공개 기능을 사용하기 위한 libcurtain 라이브러리, 유틸리티 커튼, 구성 표시가 포함됩니다. 파일, 테스트 모음 및 일부 사용자 공간 프로그램용 패치(예: $TMPDIR를 사용하여 임시 파일 작업 통합). 저자는 가능할 때마다 커널과 응용 프로그램을 패치해야 하는 변경 사항의 수를 최소화하려고 합니다.

마지막으로, 더 자세한 내용을 알고 싶으시다면 다음 링크에서 확인하실 수 있습니다 .


Google에서 선호하는 검색 엔진으로 추가