過去問ドリル

LinuCレベル3 セキュリティスペシャリスト アクセスおよび権限制御の強化 問47

アクセスおよび権限制御の強化/システムコールの制御

Linuxにおける seccomp の動作モード SECCOMP_MODE_DISABLED に関する説明として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「アクセスおよび権限制御の強化」に対応。実際の試験問題ではありません)

正解:A

解説

seccompはプロセスごとのシステムコールフィルタリング機能で、SECCOMP_MODE_DISABLED(値0)はフィルタが一切適用されていない初期状態を表します。SECCOMP_MODE_STRICT(値1)はread/write/_exit/sigreturnのみ許可する厳格モードで、SECCOMP_MODE_FILTER(値2)はBPFプログラムで柔軟に制御するフィルタモードです。seccompのモード遷移は一方向で、DISABLEDからSTRICT/FILTERへの移行はできますが、STRICT/FILTERからDISABLEDへ戻す操作は許可されていません。

選択肢ごとの解説

  • A正しい。SECCOMP_MODE_DISABLED(値0)はプロセスの初期状態であり、seccompフィルタは適用されていない。この状態ではシステムコールの呼び出しに制限はなく、prctl(PR_GET_SECCOMP) を呼ぶと0が返る。
  • B誤り。read・write・_exit・sigreturn 以外のシステムコールをSIGKILLで終了させるのは SECCOMP_MODE_STRICT(値1)の動作である。
  • C誤り。BPFプログラムで任意のアクションを設定できるのは SECCOMP_MODE_FILTER(値2)の動作である。
  • D誤り。seccompのモード遷移は一方向であり、STRICT または FILTER から DISABLED へ戻す操作はカーネルが許可していない。prctl でより制限の強いモードへ移行することはできるが、緩める方向への変更は不可能である。
LinuCレベル3 セキュリティスペシャリストの問題を演習モードで解く