| この項目「 Secure computing mode」は翻訳されたばかりのものです。不自然あるいは曖昧な表現などが含まれる可能性があり、このままでは読みづらいかもしれません。(原文: 04:49, 27 March 2023)
修正、加筆に協力し、現在の表現をより自然な表現にして下さる方を求めています。 ノートページや 履歴も参照してください。 (2023年4月) |
| この記事はカテゴライズされていないか、不十分です。 適切なカテゴリを追加して、記事内容を向上させてください。(2023年4月) |
| この記事は更新が必要とされています。
この記事には古い情報が掲載されています。編集の際に新しい情報を記事に 反映させてください。反映後、このタグは除去してください。 (2024年4月) |
secure computing mode (略 seccomp) は、Linuxカーネル における コンピュータセキュリティ機構の一つである。
解説
seccomp は、プロセスが危険なシステムコールを呼び出せない「安全」な状態に不可逆的に移行させる。ただし、exit(), sigreturn(), 既に開いているファイルディスクリプタに対する read()/ write() を除く。
それ以外のシステムコールが実行されると、カーネルはそのイベントをログに記録するだけでシステムコールを実行しないか、SIGKILL もしくは SIGSYS
[2]
[3] でプロセスを強制終了させる。
すなわち、seccomp はシステムリソースの仮想化を行うのではなく、プロセスをリソースから完全に独立させる。
seccomp は 引数に PR_SET_SECCMP を指定した prctl(2) システムコールによって実現される。または Linuxカーネル 3.17 以降
[4]
では、seccomp(2) システムコール
[5]
が使われる。
seccomp-bpf は secomp の拡張機能である
[6]。
これは以下のようなソフトウェア等で利用されている:
seccomp-bpf は古くなった古い systrace [注釈 1] と同等の機能を実現するが、柔軟性とパフォーマンスが良くなる。
歴史
seccomp は、2005年1月に Andrea Arcangeli によって最初のバージョンが開発された。
これは、パブリックグリッド・コンピューティングで使用するために開発された
当時は、信頼されていない compute-bound を安全に実行する手段として意図されていた。
seccomp は、2005年3月8日にリリースされたカーネルバージョン 2.6.12 の Linuxカーネルメインライン にマージされた[9]。
seccomp or seccomp-bpf を利用するソフトウェア
脚注
注釈
出典
- ^ code.google.com/archive/p/seccompsandbox/wikis/overview.wiki
- ^ Corbet, Jonathan (2015年9月2日). “A seccomp overview”. 2023年3月29日閲覧。
- ^ “Documentation/prctl/seccomp_filter.txt”. 2023年3月29日閲覧。
- ^ “Linux kernel 3.17, Section 11. Security”. kernelnewbies.org (2013年10月5日). 2023年3月29日閲覧。
- ^ “seccomp: add "seccomp" syscall”. kernel/git/torvalds/linux.git - Linux kernel source tree. kernel.org (2014年6月25日). 2023年3月29日閲覧。
- ^ Corbet, Jonathan (2012年1月11日). “Yet another new approach to seccomp”. lwn. 2023年3月31日閲覧。
- ^ a b “Openssh 6.0 release notes”. 2023年4月2日閲覧。
- ^ Tinnes, Julien (2012年11月19日). “A safer playground for your Linux and Chrome OS renderers”. The Chromium Blog. 2023年3月31日閲覧。
- ^ “[PATCH seccomp: secure computing support]”. Linux kernel history. Kernel.org git repositories (2005年3月8日). 2013年4月15日時点のオリジナルよりアーカイブ。2013年8月2日閲覧。
- ^ “Seccomp filter in Android O”. Android Developers Blog. 2023年4月1日閲覧。
- ^ “systemd.exec — Execution environment configuration”. freedesktop.org. 2023年4月1日閲覧。
- ^ Otubo, Eduardo (2017年9月15日). “QEMU Sandboxing new model pull request”. qemu-devel mailing list archive. 2023年4月1日閲覧。
- ^ van de Ven, Arjan (2009年2月28日). “Re: [stable [PATCH 2/2] x86-64: seccomp: fix 32/64 syscall hole]”. Linux Kernel Mailing List. 2023年4月6日閲覧。
- ^ Torvalds, Linus (2009年2月28日). “Re: [PATCH 2/2 x86-64: seccomp: fix 32/64 syscall hole]”. Linux Kernel Mailing List. 2013年8月2日閲覧。
- ^ Gutschke, Markus (2009年5月6日). “Re: [PATCH 2/2 x86-64: seccomp: fix 32/64 syscall hole]”. 2013年8月2日閲覧。
- ^ Gutschke, Markus (2009年5月6日). “Re: [PATCH 2/2 x86-64: seccomp: fix 32/64 syscall hole]”. Linux Kernel Mailing List. 2013年8月2日閲覧。
- ^ “Firejail” (英語). Firejail. 2023年4月6日閲覧。
- ^ Evans, Chris (2012年7月4日). “Chrome 20 on Linux and Flash sandboxing”. 2023年4月3日閲覧。
- ^ Tinnes, Julien (2012年9月6日). “Introducing Chrome's next-generation Linux sandbox”. cr0 blog. 2023年4月2日閲覧。
- ^ “Snap security policy”. 2017年2月4日時点のオリジナルよりアーカイブ。2023年4月2日閲覧。
- ^ Evans, Chris (2012年4月9日). “vsftpd-3.0.0 and seccomp filter sandboxing is here!”. 2023年4月3日閲覧。
- ^ “MBOX”. 2014年5月20日閲覧。
- ^ “LXD an "hypervisor" for containers (based on liblxc)” (4 November 2014). 2014年11月8日閲覧。
- ^ “Where We're Going With LXD”. 2014年11月8日閲覧。
- ^ Destuynder, Guillaume (2012年9月13日). “Firefox Seccomp sandbox”. Mozilla Bugzilla. 2023年4月4日閲覧。
- ^ Destuynder, Guillaume (2012年9月13日). “Firefox Seccomp sandbox”. Mozilla Wiki. 2023年4月4日閲覧。
- ^ “Tor ChangeLog”. 2023年4月4日閲覧。
- ^ “Lepton image compression: saving 22% losslessly from images at 15MB/s”. Dropbox Tech Blog. 2023年4月3日閲覧。
- ^ “Kafel: A language and library for specifying syscall filtering policies”. 2023年4月1日閲覧。
- ^ “Subgraph OS”. Subgraph. 2023年4月2日閲覧。
- ^ “LoganCIJ16: Future of OS”. YouTube. 2021年12月21日時点のオリジナルよりアーカイブ。2023年4月2日閲覧。
- ^ “The flatpak security model – part 1: The basics”. 2017年1月21日閲覧。
- ^ “bubblewrap”. 2018年4月14日閲覧。
- ^ “Chromium OS Sandboxing - the Chromium Projects”. 2023年4月1日閲覧。
- ^ “Minijail [LWN.net]”. lwn.net. 2017年4月11日閲覧。
- ^ “core/trace/use_seccomp”. dev.exherbo.org. 2021年5月31日閲覧。
- ^ “File application Sandboxing”. GitHub. 2023年4月7日閲覧。
- ^ “Zathura seccomp implementation”. 2023年4月8日閲覧。
- ^ “Gnome tracker seccomp implementation”. 2023年4月8日閲覧。