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

noexec_user_stack

備考欄

スタックを実行不能として指定できるので、バッファーオーバーフロー攻撃がいっそう困難になります。

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


注 –

このパラメータは Solaris 2.6、7、8、9、または 10 リリースが動作しているすべてのシステム上に存在しますが、有効になるのは 64 ビットの SPARC と AMD64 のアーキテクチャーの場合に限られます。


データ型

符号付き整数

デフォルト

0 (無効)

範囲

0 (無効)、1 (有効)

単位

切り替え (オン/オフ)

動的か

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

検査

なし

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

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

コミットレベル

変更の可能性あり

変更履歴

noexec_user_stack (Solaris 9 リリース)」を参照してください。