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

밝혀졌다 구현이 제안되었습니다FreeBSD용 애플리케이션 격리 메커니즘, OpenBSD 프로젝트에 의해 개발된 접고 공개 시스템 호출을 연상시킵니다.

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

접힌 것과 펼친 것의 차이, FreeBSD용으로 개발됨, 추가 레이어를 제공하는 것으로 요약됩니다. 코드를 변경하지 않거나 최소한으로 변경하여 애플리케이션을 격리할 수 있습니다. OpenBSD에서 plegde 및 unlock은 기본 환경과의 긴밀한 통합을 목표로 하며 각 응용 프로그램의 코드에 특수 주석을 추가하여 구현됩니다.

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

FreeBSD용 접기 및 표시 포트 작성자 임의의 응용 프로그램을 격리하는 기능을 제공하기 위한 것으로, 별도의 파일에 정의된 규칙을 응용 프로그램에 적용할 수 있는 커튼 유틸리티가 제안되었습니다. 제안된 구성에는 특정 응용 프로그램(사운드, 네트워크, 로깅 등과 관련된 작업)에 특정한 시스템 호출 및 일반적인 파일 경로의 클래스를 정의하는 기본 설정이 있는 파일과 특정 응용 프로그램에 대한 액세스 규칙이 있는 파일이 포함됩니다.

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

또한 중첩된 격리를 구성하는 것이 가능합니다. 실행된 응용 프로그램이 상위 응용 프로그램에서 설정한 규칙을 상속할 때 별도의 제약 조건으로 보완합니다. 일부 커널 작업(디버깅 도구, POSIX/SysV IPC, PTY)은 현재 또는 상위 프로세스 이외의 프로세스에서 생성된 커널 개체에 대한 액세스를 방지하는 장벽 메커니즘에 의해 추가로 보호됩니다.

Curtainctl을 호출하여 프로세스가 자체 격리를 구성할 수 있습니다. 또는 OpenBSD와 유사하게 libcurtain 라이브러리에서 제공하는 plegde() 및 공개() 함수를 사용합니다. 애플리케이션이 실행되는 동안 잠금을 추적하기 위해 'security.curtain.log_level' sysctl이 제공됩니다.

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

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

최종적으로 그것에 대해 더 많이 알고 싶다면, 당신은 세부 사항을 확인할 수 있습니다 다음 링크에서.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.