過去問ドリル

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

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

Linuxのカーネルパラメータ kernel.randomize_va_space の値と効果に関する説明として、正しいものをすべて選べ。

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

正解:A、B

解説

kernel.randomize_va_space カーネルパラメータはASLRの動作を制御します。値0でASLRを完全に無効化、値1でスタック・mmap領域・VDSOをランダム化、値2でさらにbrkで確保されるヒープの開始アドレスもランダム化します。RHEL 9やDebian 12の既定値は2です。このパラメータの変更にはroot権限(またはCAP_SYS_ADMIN)が必要で、/etc/sysctl.conf または /etc/sysctl.d/ に記述することで再起動後も設定を維持できます。

選択肢ごとの解説

  • A正しい。kernel.randomize_va_space = 0 はASLRを完全に無効化し、スタック・mmap領域・ヒープを含むすべての仮想アドレスが毎回固定になる。デバッグや再現性確認のために一時的に設定されることがある。
  • B正しい。kernel.randomize_va_space = 1 はスタック・mmap領域・VDSOをランダム化するが、brkシステムコールで伸びるヒープ領域の先頭アドレスはランダム化しない。ヒープもランダム化するには値2を使う。
  • C誤り。kernel.randomize_va_space = 2 はASLRを無効化するのではなく、値1の範囲に加えてbrkで確保されるヒープのアドレスもランダム化する最も強力なランダム化設定である。RHEL 9・Debian 12の既定値でもある。
  • D誤り。kernel.randomize_va_space はセキュリティ上重要なカーネル設定であり、変更には root 権限(またはCAP_SYS_ADMIN)が必要である。root 権限のない一般ユーザーが sysctl -w で変更しようとすると Permission denied エラーになる。
LinuCレベル3 セキュリティスペシャリストの問題を演習モードで解く