回答:
両方ともはい。デフォルトではオンになっています。有効にするために何もする必要はありません。より長い答えが続きます...
UbuntuではデフォルトでDEPが使用されます。これは、CPUがサポートしている場合はNXビットを介して行われ、CPUがサポートしていない場合はメモリセグメンテーションを介してエミュレートされます。詳細については、非実行可能メモリ機能アイテムを参照してください。
ASLRは、再配置可能なメモリセグメント(スタック、ライブラリ、ヒープ、mmap)のUbuntuでデフォルトで使用されます。デフォルトでは再配置できないプログラムの部分は、メインコード領域(「テキスト」セグメント)のみです。これを有効にするには、プログラムをPIE(位置独立実行可能ファイル)として特別にコンパイルする必要があります。多くの機密プログラムはすでにこの方法で構築されています。詳細については、リストを参照してください
Ubuntuでは、多くの追加のセキュリティ機能もデフォルトで使用できます。完全なリストについては、Ubuntuセキュリティ機能のドキュメントを参照してください。
デフォルトでは、Linuxカーネルは同様のテクノロジーを使用しますが、Windowsバージョンとは異なります。プロセッサにNXビット(最新のCPU)を設定する機能がある場合、カーネルはそれを使用します。カーネル内のASLRには弱い実装もあり、強力な実装もインストールできますが、デフォルトではUbuntuにはインストールされません。
一般的かつ簡単に言えば、これにはPAEバージョンのカーネルが必要です。このトピックの詳細については、この要約を参照してください。
dmesg
と言いNX (Execute Disable) protection cannot be enabled: non-PAE kernel
ます。一方、bazaar.launchpad.net /〜ubuntu-bugcontrol / qa-regression-testing /…からテストを実行したとき、nxは強制されているように見えましたが-pie
、-rie
テストとテストではありませんでした。だから、私には少し混乱しています。