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

seccomp
원저자Andrea Arcangeli
발표일2005년 3월 8일(18년 전)(2005-03-08)
프로그래밍 언어C
운영 체제리눅스
종류샌드박싱
라이선스GNU 일반 공중 사용 허가서
상태mainlined
웹사이트code.google.com/p/seccompsandbox/wiki/overview

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

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


각주 편집

  1. “[PATCH] seccomp: secure computing support”. 《Linux kernel history》. Kernel.org git repositories. 2005년 3월 8일. 2013년 8월 2일에 확인함. [깨진 링크(과거 내용 찾기)]
  2. “Linux kernel 3.17, Section 11. Security”. 《kernelnewbies.org》. 2013년 10월 5일. 2015년 3월 31일에 확인함. 
  3. “seccomp: add "seccomp" syscall”. 《kernel/git/torvalds/linux.git - Linux kernel source tree》. kernel.org. 2014년 6월 25일. 2014년 8월 22일에 확인함. [깨진 링크(과거 내용 찾기)]
  4. Arcangeli, Andrea (2007년 6월 14일). “[PATCH 1 of 2] move seccomp from /proc to a prctl”. 2013년 8월 2일에 확인함. 
  5. Tinnes, Julien (2009년 5월 28일). “Time-stamp counter disabling oddities in the Linux kernel”. 《cr0 blog》. 2013년 8월 2일에 확인함. 
  6. Corbet, Jonathan (2012년 1월 11일). “Yet another new approach to seccomp”. 《lWN.net》. 2013년 8월 2일에 확인함. 
  7. Tinnes, Julien (2012년 11월 19일). “A safer playground for your Linux and Chrome OS renderers”. 《The Chromium Blog》. 2013년 8월 2일에 확인함. 


외부 링크 편집