過去問ドリル

LinuCレベル3 セキュリティスペシャリスト システム保護と監査 問1

システム保護と監査/カーネルセキュリティとシステムリソース保護

カーネルパラメータ kernel.randomize_va_space に値2を設定したときの動作として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「システム保護と監査」に対応。実際の試験問題ではありません)

正解:C

解説

kernel.randomize_va_space はユーザー空間プロセスのアドレス空間配置のランダム化(ASLR)を制御するパラメータです。0は無効、1はスタック・mmapのベース・VDSOのランダム化、2はそれに加えてbrkで管理されるヒープ領域もランダム化します。多くのディストリビューションで既定値は2です。ASLRはバッファオーバーフロー等の攻撃で、攻撃者が狙うアドレスを予測しにくくするための対策です。カーネル自身の配置をランダム化するKASLRは別の仕組みで、このパラメータではなくブートパラメータ(nokaslr等)で制御します。

選択肢ごとの解説

  • A誤り。ASLRを無効化するのは値0です。デバッグ等の特殊な用途以外で0にするのは推奨されません。
  • B誤り。ヒープをランダム化しない動作は値1のものです。値2ではヒープ(brk領域)もランダム化の対象になります。
  • C正しい。値2は値1の対象(スタック・mmapのベース・VDSO)に加えてヒープ領域の開始位置もランダム化する、最も強い設定です。
  • D誤り。カーネル自身の配置のランダム化はKASLRで、kernel.randomize_va_space ではなくカーネルの構成とブートパラメータで制御します。
LinuCレベル3 セキュリティスペシャリストの問題を演習モードで解く