Seccomp

seccomp (secure computing mode의 약자)는 리눅스 커널에서 애플리케이션 샌드박싱 메커니즘을 제공하는 컴퓨터 보안 기능이다; 이것은 리눅스 커널 2.6.12부터 통합되었다(2005년 5월 8일에 배포되었다). seccomp은 프로세스가 exit(), sigreturn(), 그리고 이미 열린 파일 디스크립터에 대한 read(),  write() 를 제외한 어떠한 시스템 호출도 일으킬 수 없는 안전한 상태로 일방향 변환을 할 수 있게 한다. 만약 다른 시스템 호출을 시도한다면, 커널이 SIGKILL로 프로세스를 종료시킨다. 이러한 의미에서 이것은 시스템의 자원을 가상화하는 것이 아니라 프로세스를 고립시키는 것이라고 할 수 있다.

seccomp 모드는 PR_SET_SECCOMP 인자를 사용하는 시스템 호출 또는 리눅스 커널 3.17 이후로는 시스템 호출을 통해 활성화 된다. 전에는 seccomp 모드가 파일 /proc/self/seccomp 에 씀으로써 활성화되었지만 이 메소드는 prctl()을 위해 제거되었다. 몇몇 커널 버전에서 seccomp은 RDTSC x86 명령어를 비활성화시킨다.

seccomp-bpf는 seccomp의 확장이며 설정 정책을 통한 시스템 호출 필터링을 허용한다. 이것은 오픈SSH와 vsftpd 그리고 크롬 OS와 리눅스의 구글 크롬 웹 브라우저에서 사용된다.

각주

외부 링크 

 Google's Chromium sandbox, LWN.net, August 2009, by Jake Edge
 seccomp-nurse, a sandboxing framework based on seccomp
 Documentation/prctl/seccomp_filter.txt, part of the Linux kernel documentation
 Security In-Depth for Linux Software: Preventing and Mitigating Security Bugs

컴퓨터 보안
리눅스 커널 특징