このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。
アドレス空間配置のランダム化(ASLR)は、特定のタイプのバッファ・オーバーフロー攻撃を撃退するのに役立ちます。 ASLRでは、ベース、ライブラリ、ヒープ、スタックをプロセスのアドレス空間のランダムな位置に配置します。これにより、攻撃プログラムは次の命令のメモリー・アドレスを予測することが困難になります。 ASLRはLinuxカーネルに組み込まれており、パラメータ/proc/sys/kernel/randomize_va_space
によって制御されます。 randomize_va_space
パラメータは、次の値をとることができます。
- 0
ASLRを無効化します。 この設定は、カーネルが
norandmaps
ブート・パラメータでブートされる場合に適用されます。- 1
スタック、仮想動的共有オブジェクト(VDSO)ページ、共有メモリー領域の位置をランダム化します。 データ・セグメントのベース・アドレスは、実行可能コード・セグメントの末尾の直後に配置されます。
- 2
スタック、VDSOページ、共有メモリー領域およびデータ・セグメントの位置をランダム化します。 これがデフォルトの設定です。
次のように、新しい値を/proc/sys/kernel/randomize_va_space
に書き込むことで、設定を一時的に変更できます。
# echo value
> /proc/sys/kernel/randomize_va_space
値を完全に変更するには、次のように設定を/etc/sysctl.conf
に追加します。
kernel.randomize_va_space = value
また、sysctl -pコマンドを実行します。
randomize_va_space
の値を変更する場合は、アプリケーション・スタックをテストして、新しい設定と互換性があることを確認する必要があります。
必要に応じて、次のコマンドを使用して、特定のプログラムとその子プロセスに対してASLRを無効にできます。
% setarch `uname -m` -R program
[args
...]