{{위키데이터 속성 추적}}
{{소문자}}
{{소프트웨어 정보
| name                   = seccomp
| title                  = seccomp
| logo                   = <!-- Image name is enough -->
| screenshot             = <!-- Image name is enough -->
| author                 = Andrea Arcangeli
| released               = {{시작 날짜와 나이|2005|03|08}}
| status                 = mainlined
| programming language   = [[C (프로그래밍 언어)|C]]
| operating system       = [[리눅스]]
| genre                  = [[샌드박스 (컴퓨터 보안)|샌드박싱]]
| license                = [[GNU 일반 공중 사용 허가서]]
| website                = {{URL|https://code.google.com/p/seccompsandbox/wiki/overview}}
}}

'''seccomp''' ('''secure computing mode'''의 약자)는 [[리눅스 커널]]에서 애플리케이션 [[샌드박스 (컴퓨터 보안)|샌드박싱]] 메커니즘을 제공하는 [[컴퓨터 보안]] 기능이다; 이것은 리눅스 커널 2.6.12부터 통합되었다(2005년 5월 8일에 배포되었다).<ref>{{웹 인용
 |url        = http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=commit;h=d949d0ec9c601f2b148bed3cdb5f87c052968554
 |title      = [PATCH] seccomp: secure computing support
 |accessdate = 2013-08-02
 |date       = 2005-03-08
 |work       = Linux kernel history
 |publisher  = Kernel.org git repositories
}}{{깨진 링크|url=http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftglx%2Fhistory.git%3Ba%3Dcommit%3Bh%3Dd949d0ec9c601f2b148bed3cdb5f87c052968554 }}</ref> seccomp은 프로세스가 <code>exit()</code>, <code>sigreturn()</code>, 그리고 이미 열린 [[파일 서술자|파일 디스크립터]]에 대한 <code>read(),</code>  <code>write()</code> 를 제외한 어떠한 [[시스템 호출]]도 일으킬 수 없는 안전한 상태로 일방향 변환을 할 수 있게 한다. 만약 다른 시스템 호출을 시도한다면, 커널이 [[유닉스 신호|SIGKILL]]로 프로세스를 종료시킨다. 이러한 의미에서 이것은 시스템의 자원을 가상화하는 것이 아니라 프로세스를 고립시키는 것이라고 할 수 있다.

seccomp 모드는 <code>PR_SET_SECCOMP</code> 인자를 사용하는{{Man|2|prctl|Linux||inline}} 시스템 호출 또는 리눅스 커널 3.17<ref>{{웹 인용
 |url=http://kernelnewbies.org/Linux_3.17#head-6fd84937bbba3b384979760008858881c99e4a53
 |title=Linux kernel 3.17, Section 11. Security
 |date=2013-10-05
 |accessdate=2015-03-31
 |website=kernelnewbies.org
}}</ref> 이후로는{{Man|2|seccomp|Linux||inline}} 시스템 호출을 통해 활성화 된다.<ref>{{웹 인용
 |url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=48dc92b9fc3926844257316e75ba11eb5c742b2c
 |title=seccomp: add "seccomp" syscall
 |work=kernel/git/torvalds/linux.git - Linux kernel source tree
 |publisher=kernel.org
 |date=2014-06-25
 |accessdate=2014-08-22
 }}{{깨진 링크|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=48dc92b9fc3926844257316e75ba11eb5c742b2c }}</ref> 전에는 seccomp 모드가 파일 <code>/proc/self/seccomp</code> 에 씀으로써 활성화되었지만 이 메소드는 prctl()을 위해 제거되었다.<ref>{{웹 인용
 |url=http://lkml.indiana.edu/hypermail/linux/kernel/0706.1/2525.html
 |title=[PATCH 1 of 2] move seccomp from /proc to a prctl
 |accessdate=2013-08-02
 |last=Arcangeli
 |first=Andrea
 |date=2007-06-14
}}</ref> 몇몇 커널 버전에서 seccomp은 RDTSC [[x86]] 명령어를 비활성화시킨다.<ref>{{웹 인용
 |url=http://blog.cr0.org/2009/05/time-stamp-counter-disabling-oddities.html
 |title=Time-stamp counter disabling oddities in the Linux kernel
 |accessdate=2013-08-02
 |last=Tinnes
 |first=Julien
 |date=2009-05-28
 |work=cr0 blog
}}</ref>

'''seccomp-bpf'''는 seccomp의 확장이며<ref>{{웹 인용
 |url=http://lwn.net/Articles/475043/
 |title=Yet another new approach to seccomp
 |accessdate=2013-08-02
 |last=Corbet
 |first=Jonathan
 |date=2012-01-11
 |work=lWN.net
}}</ref> 설정 정책을 통한 시스템 호출 필터링을 허용한다. 이것은 [[오픈SSH]]와 vsftpd 그리고 [[크롬 OS]]와 [[리눅스]]의 [[구글 크롬]] 웹 브라우저에서 사용된다.<ref>{{웹 인용
 |url=http://blog.chromium.org/2012/11/a-safer-playground-for-your-linux-and.html
 |title=A safer playground for your Linux and Chrome OS renderers
 |accessdate=2013-08-02
 |last=Tinnes
 |first=Julien
 |date=2012-11-19
 |work=The Chromium Blog
}}</ref>


== 각주 ==
{{각주|30em}}


== 외부 링크 ==
*{{공식 웹사이트}}
* [http://lwn.net/Articles/347547/ Google's Chromium sandbox], [[LWN.net]], August 2009, by Jake Edge
* [https://web.archive.org/web/20110106145629/http://chdir.org/~nico/seccomp-nurse/ seccomp-nurse], a sandboxing framework based on seccomp
* [https://www.kernel.org/doc/Documentation/prctl/seccomp_filter.txt Documentation/prctl/seccomp_filter.txt], part of the [[리눅스 커널|Linux kernel]] documentation
* [https://www.cr0.org/paper/jt-ce-sid_linux.pdf Security In-Depth for Linux Software: Preventing and Mitigating Security Bugs]

{{리눅스}}
{{리눅스 커널}}

[[분류:컴퓨터 보안]]
[[분류:리눅스 커널 특징]]