SPONSORED

Seccompフィルタ(せこむぷふぃるた)

最終更新:2026/4/28

Seccompフィルタは、システムコールを制限することで、プログラムのセキュリティを強化するLinuxカーネルの機能である。

別名・同義語 システムコールフィルタBPFフィルタ

ポイント

Seccompフィルタは、コンテナやサンドボックス環境における攻撃対象領域を減らすために利用される。特定のシステムコールのみを許可し、それ以外のシステムコールをブロックすることで、悪意のあるコードの実行を抑制する。

Seccompフィルタとは

Seccomp(Secure Computing Mode)は、Linuxカーネルに組み込まれたセキュリティ構であり、SeccompフィルタはそのSeccompをより細かく制御するための仕組みです。Seccompフィルタは、プログラムが実行可能なシステムコールを制限することで、セキュリティを向上させます。

動作原理

Seccompフィルタは、Berkeley Packet Filter (BPF) という技術を利用して、システムコールの引数を検査し、許可されたシステムコールのみを実行します。許可されていないシステムコールが呼び出された場合、プログラムはシグナル(通常はSIGKILL)を受け取り、終了します。

Seccompフィルタの適用

Seccompフィルタは、主に以下の目的で利用されます。

  • コンテナセキュリティ: Dockerなどのコンテナ環境において、コンテナ内のプロセスがホストシステムに影響を与えることを防ぎます。
  • サンドボックス: Webブラウザなどのアプリケーションをサンドボックス化し、悪意のあるコードの実行を隔離します。
  • 特権分離: プロセスを最小限の権限で実行し、セキュリティリスクを軽減します。

Seccompフィルタの設定

Seccompフィルタは、seccomp()システムコールを使用して設定します。設定ファイルはBPFプログラムとして記述され、カーネルにロードされます。設定は複雑になる可能性があるため、通常はライブラリやツールを使用して簡略化されます。

Seccompフィルタの進化

Seccompは、Seccomp 1、Seccomp 2、Seccomp BPFと進化してきました。Seccomp BPFは、より柔軟なフィルタリングルールを定義できるため、現在最も広く使用されています。

SPONSORED