LinuCレベル3 セキュリティスペシャリスト アクセスおよび権限制御の強化 問45
アクセスおよび権限制御の強化/AppArmor による強制アクセス制御AppArmorのプロファイルで、実行ファイルへの遷移として cx を指定した場合の動作として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「アクセスおよび権限制御の強化」に対応。実際の試験問題ではありません)
- A対象の実行ファイルを起動するとき、AppArmorの制限を受けずに unconfined の状態で動作する
- B対象の実行ファイルを起動するとき、親プロセスのプロファイルの制限をそのまま引き継いで動作する
- C対象の実行ファイルを起動するとき、/etc/apparmor.d/ 内の別の独立したプロファイルに遷移する
- D対象の実行ファイルを起動するとき、同じプロファイルファイル内に定義されたサブプロファイルに遷移する
正解:D
解説
AppArmorでは execve による子プロセス起動時にどのプロファイルを適用するかを遷移(transition)として指定できます。ix(inherit)は親プロファイルをそのまま引き継ぎ、px は /etc/apparmor.d/ 内の別の独立したプロファイルへ遷移し、cx(child transition)は同じプロファイルファイル内に「profile サブプロファイル名 { }」として定義されたサブプロファイルへ遷移します。ux は AppArmor の制限なし(unconfined)での実行を意味します。
選択肢ごとの解説
- A誤り。AppArmorの制限を受けずに unconfined で動作させるには ux(または安全でないため推奨されない Ux)を指定する。cx は unconfined ではなくサブプロファイルへの遷移を指示する。
- B誤り。親プロファイルの制限をそのまま引き継いで execve を実行するのは ix(inherit)の動作である。
- C誤り。/etc/apparmor.d/ 内の別ファイルで定義された独立したプロファイルへ遷移するのは px の動作である。
- D正しい。cx は「child transition」で、現在のプロファイルファイル内に profile サブプロファイル名 {} 構文で定義されたサブプロファイルへ遷移させる指定である。