seccomp(せこんぷ)
最終更新:2026/4/27
seccompは、システムコールを制限することで、プログラムのセキュリティを強化するLinuxカーネルの機能である。
別名・同義語 SECCOMPLinux seccomp
ポイント
seccompは、サンドボックス環境を構築し、特権昇格攻撃や悪意のあるコードの実行を防ぐために利用される。近年、コンテナ技術などと組み合わせて利用されるケースが増えている。
seccompとは
seccomp (Secure Computing Mode) は、Linuxカーネルに組み込まれたセキュリティ機構であり、プロセスが実行できるシステムコールを制限することで、セキュリティを向上させることを目的としています。これにより、プログラムが予期せぬ動作をしたり、悪意のあるコードを実行したりするリスクを軽減できます。
seccompの動作原理
seccompは、プロセスがシステムコールを実行する際に、事前に定義された許可リストに基づいて、そのシステムコールが許可されるかどうかを判断します。許可リストにないシステムコールを実行しようとすると、プロセスはシグナルを受け取り、終了します。
seccompのモード
seccompには、主に以下の2つのモードがあります。
- seccomp strict: 非常に制限されたモードで、
read(),write(),exit()などの基本的なシステムコールのみが許可されます。 - seccomp filter: より柔軟なモードで、BPF (Berkeley Packet Filter) を使用して、より複雑なフィルタリングルールを定義できます。
seccompの利用例
seccompは、以下のような場面で利用されます。
- コンテナ技術: Dockerなどのコンテナ技術では、seccompを利用して、コンテナ内のプロセスがホストシステムに影響を与えないように制限します。
- Webブラウザ: Webブラウザでは、JavaScriptなどのコードがシステムにアクセスする際に、seccompを利用して、セキュリティを強化します。
- サンドボックス環境: 信頼できないコードを実行する際に、seccompを利用して、サンドボックス環境を構築します。
seccompの注意点
seccompは、強力なセキュリティ機構ですが、設定を誤ると、プログラムが正常に動作しなくなる可能性があります。そのため、seccompを利用する際には、十分な知識と注意が必要です。