seccomp
seccomp とは何ですか?
seccompプロセスが発行できるシステムコールを制限する Linux カーネル機能。最新の seccomp-BPF/eBPF モードでは syscall ごとの細粒度フィルタが可能。
seccomp(secure computing mode)は 2005 年に Linux 2.6.12 で導入され、当初は read・write・exit・sigreturn のみを許可する粗粒度の 'strict' モードでした。Linux 3.5(2012)以降の seccomp-BPF モードでは、syscall 番号と引数を検査して ALLOW、ERRNO、TRAP、KILL、USER_NOTIF を返す古典 BPF(さらには eBPF)プログラムを設定できます。フィルタは fork/execve を超えて継承され、設定後は緩められず、CAP_SYS_ADMIN もしくは PR_SET_NO_NEW_PRIVS が必要です。seccomp は Docker、containerd、Kubernetes、systemd、Chrome や Firefox のサンドボックス、Android の Zygote、OpenSSH の privsep、Firecracker などの Linux マイクロ VM で syscall フィルタの基盤となっています。
● 例
- 01
Docker の既定 seccomp プロファイルは約 44 の危険な syscall を遮断する。
- 02
Firefox のコンテンツプロセスは seccomp-BPF でほぼ全 syscall を遮断する。
● よくある質問
seccomp とは何ですか?
プロセスが発行できるシステムコールを制限する Linux カーネル機能。最新の seccomp-BPF/eBPF モードでは syscall ごとの細粒度フィルタが可能。 サイバーセキュリティの 暗号 カテゴリに属します。
seccomp とはどういう意味ですか?
プロセスが発行できるシステムコールを制限する Linux カーネル機能。最新の seccomp-BPF/eBPF モードでは syscall ごとの細粒度フィルタが可能。
seccomp はどのように機能しますか?
seccomp(secure computing mode)は 2005 年に Linux 2.6.12 で導入され、当初は read・write・exit・sigreturn のみを許可する粗粒度の 'strict' モードでした。Linux 3.5(2012)以降の seccomp-BPF モードでは、syscall 番号と引数を検査して ALLOW、ERRNO、TRAP、KILL、USER_NOTIF を返す古典 BPF(さらには eBPF)プログラムを設定できます。フィルタは fork/execve を超えて継承され、設定後は緩められず、CAP_SYS_ADMIN もしくは PR_SET_NO_NEW_PRIVS が必要です。seccomp は Docker、containerd、Kubernetes、systemd、Chrome や Firefox のサンドボックス、Android の Zygote、OpenSSH の privsep、Firecracker などの Linux マイクロ VM で syscall フィルタの基盤となっています。
seccomp からどのように防御しますか?
seccomp に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
seccomp の別名は何ですか?
一般的な別名: seccomp-BPF, secure computing mode。