Solaris カーネルのチューンアップ・リファレンスマニュアル

noexec_user_stack

説明

スタックを実行不能と印付けすることを可能にします。これは、バッファオーバーフロー攻撃を困難にする上で有効です。

64 ビットカーネルが動作している Solaris システムは、デフォルトで、すべての 64 ビットアプリケーションのスタックを実行不能にします。64 ビットカーネルおよび 32 ビットカーネルが動作するシステムで 32 ビットアプリケーションのスタックを実行不能にするには、この変数の設定が必要です。


注 –

この変数は Solaris 2.6、7、または 8 が動作しているすべてのシステムに存在しますが、sun4u、sun4m、sun4d アーキテクチャでのみ有効です。


データ型

符号付き整数

デフォルト

0 (無効)

範囲

0 (無効)、1 (有効)

単位

切り替え (オン/オフ)

動的か

はい。ただし、すでに実行中のプロセスに対しては無効です。値が設定された後に起動されたプロセスに対してのみ有効です。

検査

なし

どのような場合に変更するか

アプリケーションが、mprotect(2) を使用してスタックを実行可能にすることなくスタックに実行可能コードを意図的に置いている場合を除き、この変数は常に有効にすべきです。

コミットレベル

変更の可能性あり

変更履歴

詳細は、noexec_user_stack (Solaris 2.6 リリースおよび Solaris 7 リリース)を参照してください。