Solaris 10 ご使用にあたって

x86: Solaris で no execute ビットをサポート

Solaris 10 は x86 上で、32 ビットモードおよび 64 ビットモードの no execute (NX) ビットをサポートします。NX ビットを使用すると、mmap() 関数など各種のメモリーシステムコールで PROT_EXEC を使用しない場合に必要となる保護を完全に実装できます。以前 x86 では、マップされたすべてのメモリーに PROT_EXEC が暗黙的に設定されていました。Solaris で NX ビットをサポートすることにより、ウイルスに対する保護が強化されます。

NX に対応したハードウェア上では、PROT_EXEC が指定されていない場合は常に、Solaris OS はデフォルトで NX ビットを使用します。ただし、スタックセグメントでは、NX ビットではなく PROT_EXEC がデフォルトで使用されます。スタックセグメントに関するデフォルトの設定は、次のいずれかを実行することによって変更できます。

システム管理者は、eeprom コマンドを使用して enforce-prot-exec をオフに設定することで、NX ビットの使用をすべて無効にできます。この変数は、PROT_EXEC のない古いアプリケーションを実行するシステムのために過渡的な回避方法として用意されています。