맨위로가기

Seccomp

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Seccomp는 2005년 안드레아 아르칸젤리에 의해 처음 개발된 리눅스 커널 기능으로, 안전하게 신뢰할 수 없는 코드를 실행하기 위해 설계되었다. 2005년 3월 리눅스 커널 2.6.12에 통합되었으며, 샌드박싱 기술의 핵심 요소로 활용된다. 안드로이드, systemd, QEMU, 도커, 크롬, 파이어폭스 등 다양한 소프트웨어에서 seccomp를 사용하여 보안을 강화하고 있으며, 컨테이너 기술 및 웹 브라우저의 샌드박싱에 널리 사용된다.

더 읽어볼만한 페이지

  • 리눅스 커널 특징 - 커널 기반 가상 머신
    커널 기반 가상 머신(KVM)은 리눅스 커널의 가상화 확장 기능으로, CPU와 메모리 가상화를 지원하며 QEMU와 함께 완전한 가상화 솔루션을 구성하고 다양한 관리 도구를 제공한다.
  • 리눅스 커널 특징 - AppArmor
    AppArmor는 리눅스 보안 모듈로, 프로그램의 정상적인 동작을 정의하는 프로필을 통해 비정상적인 행위를 차단하며 SELinux의 대안으로 제시되었으나 보안 취약점, 성능, 설정, 호환성 등에 대한 논란도 있다.
  • 컴퓨터 보안 - 얼굴 인식 시스템
    얼굴 인식 시스템은 디지털 이미지나 비디오에서 사람 얼굴을 감지하고 식별하는 기술로, 다양한 알고리즘 발전을 거쳐 보안, 신원 확인 등에 활용되지만, 편향성, 개인 정보 침해, 기술적 한계와 같은 윤리적 문제도 야기한다.
  • 컴퓨터 보안 - 워터마크
    워터마크는 종이 제조 시 두께 차이를 이용해 만들어지는 표식으로, 위조 방지를 위해 지폐나 여권 등에 사용되며 댄디 롤 등의 제작 기법을 통해 만들어지고 컴퓨터 프린터 인쇄 기술로도 활용된다.
  • 공식 웹사이트에 알 수 없는 변수를 사용한 문서 - 브루클린 미술관
    브루클린 미술관은 1823년 브루클린 견습생 도서관으로 시작하여 현재 약 50만 점의 소장품을 보유한 뉴욕 브루클린 소재의 미술관으로, 다양한 분야의 예술 작품을 전시하며 특히 아프리카 미술과 여성주의 미술에 대한 기여가 크다.
  • 공식 웹사이트에 알 수 없는 변수를 사용한 문서 - 광주지방기상청
    광주지방기상청은 광주광역시와 전라남도 지역의 기상 예보, 특보, 관측, 기후 정보 제공 등의 업무를 수행하는 기상청 소속 기관으로, 1949년 광주측후소로 설치되어 1992년 광주지방기상청으로 개편되었으며, 기획운영과, 예보과, 관측과, 기후서비스과와 전주기상지청, 목포기상대를 두고 있다.
Seccomp - [IT 관련 정보]에 관한 문서

2. 역사

seccomp는 2005년 1월 안드레아 아르칸젤리(Andrea Arcangeli)가 개발했다. 이는 공개 그리드 컴퓨팅에서 사용하기 위한 것으로, 신뢰할 수 없는 코드를 안전하게 실행하는 수단으로 의도되었다. seccomp는 2005년 3월 8일에 릴리스된 커널 버전 2.6.12의 리눅스 커널 메인라인에 병합되었다.[49]

2. 1. 개발 배경

seccomp는 2005년 1월 안드레아 아르칸젤리(Andrea Arcangeli)가 처음 고안했으며, 그리드 컴퓨팅을 공개적으로 사용하기 위한 목적으로, 원래는 안전하게 신뢰할 수 없는 계산 중심 프로그램을 실행하는 수단으로 의도되었다.[49] 2005년 3월 8일에 출시된 커널 버전 2.6.12에 리눅스 커널 메인라인에 병합되었다.[49]

2. 2. 리눅스 커널 통합

seccomp는 2005년 1월 안드레아 아르칸젤리(Andrea Arcangeli)가 처음 고안했으며, 그리드 컴퓨팅을 공개적으로 사용하기 위한 목적으로, 원래는 안전하게 신뢰할 수 없는 계산 중심 프로그램을 실행하기 위한 수단으로 의도되었다. 2005년 3월 8일에 출시된 커널 버전 2.6.12에 리눅스 커널 메인라인에 병합되었다.[49]

2. 3. Seccomp-bpf 확장

'''seccomp-bpf'''는 seccomp의 확장 기능이다.[47]

이는 다음과 같은 소프트웨어 등에서 활용된다.

  • OpenSSH[62]
  • vsftpd|vsftpd영어
  • 구글 크롬/크로미움 (크롬OS 및 리눅스)[48]


seccomp-bpf는 구식이 된 systrace (리눅스에서는 더 이상 지원되지 않음)와 동등한 기능을 구현하지만, 유연성과 성능이 향상되었다.

3. Seccomp-bpf를 활용하는 소프트웨어

Seccomp-bpf는 systrace와 동등한 기능을 구현하면서도 유연성과 성능이 향상되어 다양한 소프트웨어에서 활용되고 있다.

소프트웨어 종류소프트웨어 이름 및 버전 정보설명
컨테이너 관련안드로이드 8.0 이상, systemd, 퀵 에뮬레이터, 도커, Firejail, 스냅, LXD, 플랫팩, Bubblewrap, minijail샌드박싱 옵션, `--sandbox` 매개변수, `--security-opt` 매개변수, 리눅스 네임스페이스 활용, "인터페이스" 사용, 프로세스 격리 등 다양한 방식으로 seccomp-bpf를 활용한다.
웹 브라우저크롬 20 이상, 파이어폭스파이어폭스 OS어도비 플래시 플레이어 및 렌더러 샌드박스에 활용된다.
기타Arcangeli의 CPUShare, vsftpd 3.0.0 이상, OpenSSH 6.0 이상, Mbox, Tor 0.2.5.1-alpha, 드롭박스의 Lepton, Kafel, 서브그래프 OS, SydBox, File, 자투라, 트래커ptrace와 함께 사용, JPEG 압축, 바이트코드 변환, 런타임 환경 제한, 다양한 샌드박스 모드 구현, 미디어 파일 파싱 취약점 방지 등 다양한 목적으로 활용된다.



리누스 토르발스는 2009년 2월에 seccomp의 실제 사용 여부에 대해 의문을 제기하기도 했지만,[15] 현재는 위에 언급된 것처럼 다양한 소프트웨어에서 널리 활용되고 있다.

3. 1. 컨테이너 기술


  • 안드로이드는 안드로이드 8.0 오레오부터 zygote에서 seccomp-bpf 필터를 사용한다.[11]
  • systemd의 샌드박싱 옵션은 seccomp를 기반으로 한다.[12]
  • 퀵 에뮬레이터는 KVM과 함께 최신 가상화의 핵심 구성 요소이며, `--sandbox` 매개변수에서 seccomp를 사용한다.[13]
  • 도커는 애플리케이션을 격리된 컨테이너 내에서 실행할 수 있게 해주는 소프트웨어이다. 도커는 `--security-opt` 매개변수를 사용하여 seccomp 프로파일을 컨테이너와 연결할 수 있다.
  • Firejail은 리눅스 네임스페이스, Seccomp 및 기타 커널 수준 보안 기능을 활용하여 리눅스 및 와인 애플리케이션을 샌드박스하는 오픈 소스 리눅스 샌드박스 프로그램이다.[18]
  • 스냅은 snapd가 seccomp, AppArmor 및 기타 보안 구조로 변환하는 "인터페이스"를 사용하여 애플리케이션 샌드박스의 형태를 지정한다.[21]
  • LXD는 컨테이너용 우분투 "하이퍼바이저"이다[25][26]
  • 플랫팩은 프로세스 격리를 위해 seccomp를 사용한다.[34]
  • Bubblewrap은 플랫팩에서 개발된 경량 샌드박스 애플리케이션이다.[35]
  • minijail은 프로세스 격리를 위해 seccomp를 사용한다.[37]

3. 2. 웹 브라우저

구글의 엔지니어들은 크롬 웹 브라우저를 샌드박스하기 위해 seccomp 사용을 검토하고 있다고 밝혔다.[16][17]

크롬 버전 20부터 seccomp-bpf는 어도비 플래시 플레이어를 샌드박스하는 데 사용되었고,[19] 크롬 버전 23부터는 렌더러를 샌드박스하는 데 사용되고 있다.[20]

파이어폭스파이어폭스 OS도 seccomp-bpf를 사용한다.[27][28]

3. 3. 기타 소프트웨어


  • 안드로이드는 안드로이드 8.0 오레오부터 zygote에서 seccomp-bpf 필터를 사용한다.[11]
  • systemd의 샌드박싱 옵션은 seccomp를 기반으로 한다.[12]
  • QEMU 퀵 에뮬레이터는 KVM과 함께 최신 가상화의 핵심 구성 요소이며, `--sandbox` 매개변수에서 seccomp를 사용한다.[13]
  • 도커는 애플리케이션을 격리된 컨테이너 내에서 실행할 수 있게 해주는 소프트웨어이다. 도커는 `--security-opt` 매개변수를 사용하여 seccomp 프로파일을 컨테이너와 연결할 수 있다.
  • Arcangeli의 CPUShare는 한동안 seccomp를 사용하는 유일한 사용자였다.[14] 리누스 토르발스는 2009년 2월에 seccomp가 실제로 사용되는지 의문을 제기했다.[15] 그러나, 구글 엔지니어는 구글이 크롬 웹 브라우저를 샌드박스하기 위해 seccomp 사용을 탐색하고 있다고 답변했다.[16][17]
  • Firejail은 리눅스 및 와인 애플리케이션을 샌드박스하기 위해 리눅스 네임스페이스, Seccomp 및 기타 커널 수준 보안 기능을 활용하는 오픈 소스 리눅스 샌드박스 프로그램이다.[18]
  • 크롬 버전 20부터 seccomp-bpf는 어도비 플래시 플레이어를 샌드박스하는 데 사용된다.[19]
  • 크롬 버전 23부터 seccomp-bpf는 렌더러를 샌드박스하는 데 사용된다.[20]
  • 스냅은 snapd가 seccomp, AppArmor 및 기타 보안 구조로 변환하는 "인터페이스"를 사용하여 애플리케이션 샌드박스의 형태를 지정한다.[21]
  • vsftpd는 버전 3.0.0부터 seccomp-bpf 샌드박싱을 사용한다.[22]
  • OpenSSH는 버전 6.0부터 seccomp-bpf를 지원한다.[23]
  • Mbox는 ptrace만 사용하는 것보다 적은 오버헤드로 안전한 샌드박스를 만들기 위해 ptrace와 seccomp-bpf를 함께 사용한다.[24]
  • LXD는 컨테이너용 우분투 "하이퍼바이저"이다.[25][26]
  • 파이어폭스 및 파이어폭스 OS는 seccomp-bpf를 사용한다.[27][28]
  • Tor는 0.2.5.1-alpha부터 seccomp를 지원한다.[29]
  • 드롭박스가 개발한 JPEG 압축 도구인 Lepton은 seccomp를 사용한다.[30]
  • Kafel은 읽을 수 있는 정책을 seccomp-bpf 바이트코드로 변환하는 구성 언어이다.[31]
  • 서브그래프 OS는 seccomp-bpf를 사용한다.[32][33]
  • 플랫팩은 프로세스 격리를 위해 seccomp를 사용한다.[34]
  • Bubblewrap은 플랫팩에서 개발된 경량 샌드박스 애플리케이션이다.[35]
  • minijail은 프로세스 격리를 위해 seccomp를 사용한다.[36]
  • SydBox는 Exherbo Linux 배포판에서 패키지 빌드를 샌드박스하는 데 사용되는 ptrace 샌드박싱의 런타임 및 보안을 개선하기 위해 seccomp-bpf를 사용한다.[38]
  • 파일 형식을 결정하는 Unix 프로그램인 File은 seccomp를 사용하여 런타임 환경을 제한한다.[39]
  • 최소한의 문서 뷰어인 자투라는 seccomp 필터를 사용하여 다양한 샌드박스 모드를 구현한다.[40]
  • 트래커는 GNOME 데스크톱 환경용 인덱싱 및 미리 보기 애플리케이션으로, 미디어 파일의 파싱 취약점을 자동 악용하는 것을 방지하기 위해 seccomp를 사용한다.[41]

참조

[1] man seccomp
[2] 웹사이트 A seccomp overview https://lwn.net/Arti[...] 2015-09-02
[3] 웹사이트 Documentation/prctl/seccomp_filter.txt https://www.kernel.o[...]
[4] 웹사이트 Linux kernel 3.17, Section 11. Security http://kernelnewbies[...] 2013-10-05
[5] 웹사이트 seccomp: add "seccomp" syscall https://git.kernel.o[...] kernel.org 2014-06-25
[6] 웹사이트 "[PATCH 1 of 2] move seccomp from /proc to a prctl" http://lkml.indiana.[...] 2007-06-14
[7] 웹사이트 Time-stamp counter disabling oddities in the Linux kernel http://blog.cr0.org/[...] 2009-05-28
[8] 웹사이트 Yet another new approach to seccomp https://lwn.net/Arti[...] 2012-01-11
[9] 웹사이트 A safer playground for your Linux and Chrome OS renderers https://blog.chromiu[...] 2012-11-19
[10] 웹사이트 "[PATCH] seccomp: secure computing support" https://git.kernel.o[...] Kernel.org git repositories 2005-03-08
[11] 웹사이트 Seccomp filter in Android O https://android-deve[...]
[12] 웹사이트 systemd.exec — Execution environment configuration https://www.freedesk[...]
[13] 웹사이트 QEMU Sandboxing new model pull request https://lists.gnu.or[...] 2017-09-15
[14] 웹사이트 "Re: [stable] [PATCH 2/2] x86-64: seccomp: fix 32/64 syscall hole" https://lkml.org/lkm[...] 2009-02-28
[15] 웹사이트 "Re: [PATCH 2/2] x86-64: seccomp: fix 32/64 syscall hole" https://lkml.org/lkm[...] 2009-02-28
[16] 웹사이트 "Re: [PATCH 2/2] x86-64: seccomp: fix 32/64 syscall hole" http://article.gmane[...] 2009-05-06
[17] 웹사이트 "Re: [PATCH 2/2] x86-64: seccomp: fix 32/64 syscall hole" https://lkml.org/lkm[...] 2009-05-06
[18] 웹사이트 Firejail https://firejail.wor[...]
[19] 웹사이트 Chrome 20 on Linux and Flash sandboxing http://scarybeastsec[...] 2012-07-04
[20] 웹사이트 Introducing Chrome's next-generation Linux sandbox http://blog.cr0.org/[...] 2012-09-06
[21] 웹사이트 Snap security policy https://developer.ub[...]
[22] 웹사이트 vsftpd-3.0.0 and seccomp filter sandboxing is here! http://scarybeastsec[...] 2012-04-09
[23] 웹사이트 Openssh 6.0 release notes https://www.openssh.[...]
[24] 웹사이트 MBOX http://pdos.csail.mi[...]
[25] 웹사이트 LXD an "hypervisor" for containers (based on liblxc) https://lists.linuxc[...] 2014-11-04
[26] 웹사이트 Where We're Going With LXD http://blog.dustinki[...]
[27] 웹사이트 Firefox Seccomp sandbox https://bugzilla.moz[...] 2012-09-13
[28] 웹사이트 Firefox Seccomp sandbox https://wiki.mozilla[...] 2012-09-13
[29] 웹사이트 Tor ChangeLog https://gitweb.torpr[...]
[30] 웹사이트 Lepton image compression: saving 22% losslessly from images at 15MB/s https://blogs.dropbo[...]
[31] 웹사이트 Kafel: A language and library for specifying syscall filtering policies https://google.githu[...]
[32] 웹사이트 Subgraph OS https://subgraph.com[...]
[33] 웹사이트 LoganCIJ16: Future of OS https://www.youtube.[...]
[34] 웹사이트 The flatpak security model – part 1: The basics https://blogs.gnome.[...]
[35] 웹사이트 bubblewrap https://wiki.archlin[...]
[36] 웹사이트 Chromium OS Sandboxing - the Chromium Projects https://www.chromium[...]
[37] 웹사이트 Minijail [LWN.net] https://lwn.net/Arti[...] 2017-04-11
[38] 웹사이트 core/trace/use_seccomp https://dev.exherbo.[...] 2021-05-31
[39] 웹사이트 File application Sandboxing https://github.com/f[...]
[40] 웹사이트 Zathura seccomp implementation https://git.pwmt.org[...]
[41] 웹사이트 Gnome tracker seccomp implementation https://gitlab.gnome[...]
[42] 웹사이트 code.google.com/archive/p/seccompsandbox/wikis/overview.wiki https://code.google.[...]
[43] 웹사이트 A seccomp overview https://lwn.net/Arti[...] 2015-09-02
[44] 웹사이트 Documentation/prctl/seccomp_filter.txt https://www.kernel.o[...] 2023-03-29
[45] 웹사이트 Linux kernel 3.17, Section 11. Security http://kernelnewbies[...] 2013-10-05
[46] 웹사이트 seccomp: add "seccomp" syscall https://git.kernel.o[...] kernel.org 2014-06-25
[47] 웹사이트 Yet another new approach to seccomp https://lwn.net/Arti[...] 2012-01-11
[48] 웹사이트 A safer playground for your Linux and Chrome OS renderers https://blog.chromiu[...] 2012-11-19
[49] 웹사이트 "[PATCH] seccomp: secure computing support" https://git.kernel.o[...] Kernel.org git repositories 2005-03-08
[50] 웹사이트 Seccomp filter in Android O https://android-deve[...] 2023-04-01
[51] 웹사이트 systemd.exec — Execution environment configuration https://www.freedesk[...] 2023-04-01
[52] 웹사이트 QEMU Sandboxing new model pull request https://lists.gnu.or[...] 2017-09-15
[53] 웹사이트 Re: [stable] [PATCH 2/2] x86-64: seccomp: fix 32/64 syscall hole https://lkml.org/lkm[...] 2009-02-28
[54] 웹사이트 Re: [PATCH 2/2] x86-64: seccomp: fix 32/64 syscall hole https://lkml.org/lkm[...] 2009-02-28
[55] 웹사이트 Re: [PATCH 2/2] x86-64: seccomp: fix 32/64 syscall hole http://article.gmane[...] 2009-05-06
[56] 웹사이트 Re: [PATCH 2/2] x86-64: seccomp: fix 32/64 syscall hole https://lkml.org/lkm[...] 2009-05-06
[57] 웹사이트 Firejail https://firejail.wor[...] 2023-04-06
[58] 웹사이트 Chrome 20 on Linux and Flash sandboxing http://scarybeastsec[...] 2012-07-04
[59] 웹사이트 Introducing Chrome's next-generation Linux sandbox http://blog.cr0.org/[...] 2012-09-06
[60] 웹사이트 Snap security policy https://developer.ub[...] 2023-04-02
[61] 웹사이트 vsftpd-3.0.0 and seccomp filter sandboxing is here! http://scarybeastsec[...] 2012-04-09
[62] 웹사이트 Openssh 6.0 release notes https://www.openssh.[...] 2023-04-02
[63] 웹사이트 MBOX http://pdos.csail.mi[...] 2014-05-20
[64] 웹사이트 LXD an "hypervisor" for containers (based on liblxc) https://lists.linuxc[...] 2014-11-08
[65] 웹사이트 Where We're Going With LXD http://blog.dustinki[...] 2014-11-08
[66] 웹사이트 Firefox Seccomp sandbox https://bugzilla.moz[...] 2012-09-13
[67] 웹사이트 Firefox Seccomp sandbox https://wiki.mozilla[...] 2012-09-13
[68] 웹사이트 Tor ChangeLog https://gitweb.torpr[...] 2023-04-04
[69] 웹사이트 Lepton image compression: saving 22% losslessly from images at 15MB/s https://blogs.dropbo[...] 2023-04-03
[70] 웹사이트 Kafel: A language and library for specifying syscall filtering policies https://google.githu[...] 2023-04-01
[71] 웹사이트 Subgraph OS https://subgraph.com[...] 2023-04-02
[72] 웹사이트 LoganCIJ16: Future of OS https://www.youtube.[...] 2023-04-02
[73] 웹사이트 The flatpak security model – part 1: The basics https://blogs.gnome.[...] 2017-01-21
[74] 웹사이트 bubblewrap https://wiki.archlin[...] 2018-04-14
[75] 웹사이트 Chromium OS Sandboxing - the Chromium Projects https://www.chromium[...] 2023-04-01
[76] 웹사이트 Minijail [LWN.net] https://lwn.net/Arti[...] 2017-04-11
[77] 웹사이트 core/trace/use_seccomp https://dev.exherbo.[...] 2021-05-31
[78] 웹사이트 File application Sandboxing https://github.com/f[...] 2023-04-07
[79] 웹사이트 Zathura seccomp implementation https://git.pwmt.org[...] 2023-04-08
[80] 웹사이트 Gnome tracker seccomp implementation https://gitlab.gnome[...] 2023-04-08
[81] 웹인용 "[PATCH] seccomp: secure computing support" http://git.kernel.or[...] Kernel.org git repositories 2005-03-08
[82] 웹인용 Linux kernel 3.17, Section 11. Security http://kernelnewbies[...] 2015-03-31
[83] 웹인용 seccomp: add "seccomp" syscall https://git.kernel.o[...] kernel.org 2014-08-22
[84] 웹인용 "[PATCH 1 of 2] move seccomp from /proc to a prctl" http://lkml.indiana.[...] 2013-08-02
[85] 웹인용 Time-stamp counter disabling oddities in the Linux kernel http://blog.cr0.org/[...] 2013-08-02
[86] 웹인용 Yet another new approach to seccomp http://lwn.net/Artic[...] 2013-08-02
[87] 웹인용 A safer playground for your Linux and Chrome OS renderers http://blog.chromium[...] 2013-08-02



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com