Seccomp とは

seccomp(セキュアコンピューティングモードの略)は、Linuxカーネルのコンピュータセキュリティ機能です。これは、2005年3月8日にリリースされたカーネルバージョン2.6.12のLinuxカーネルメインラインに統合されました.seccompはプロセスが終了以外のシステムコールを行うことができない "安全な"状態への一方向の移行を可能にします()、sigreturn()、read()、write()をすでに開いているファイル記述子に追加します。それ以外のシステムコールを試みると、カーネルはSIGKILLまたはSIGSYSでプロセスを終了します。この意味では、システムのリソースを仮想化するのではなく、プロセスを完全に分離します。
seccompモードは、PR_SET_SECCOMP引数を使用するprctl(2)システムコール、またはseccomp(2)システムコールによる(Linuxカーネル3.17以降の)システムコールによって有効になります。 / proc / self / seccompというファイルに書き込むことで、seccompモードを有効にしていましたが、このメソッドはprctl()のために削除されました。いくつかのカーネルバージョンでは、seccompはRDTSC x86命令を無効にします。これは、電源投入後のプロセッササイクルの経過時間を返します。これは高精度タイミングに使用されます。
seccomp-bpfは、Berkeley Packet Filterルールを使用して実装された設定可能なポリシーを使用してシステムコールをフィルタリングできるseccompの拡張です。 OpenSSH、vsftpd、Chrome OS / Linux上のGoogle Chrome / Chromium Webブラウザで使用されています。 (この点に関して、seccomp-bpfは同様の機能を実現しますが、Linuxではサポートされなくなった古いシステムに、柔軟性とパフォーマンスが向上しています)。