UbuntuはDEPやALSRなどのセキュリティ機能を使用していますか?


11

DEP(データ実行防止)やASLR(アドレススペースレイアウトランダム化)などの機能がWindowsで提供されていることをよく読みます。Windowsでは、32ビットプログラムのDEPをオンにする制御が与えられます。

  • これらの機能はUbuntuで利用できますか
  • これらの機能をオンにするために必要なことはありますか?

回答:


20

両方ともはい。デフォルトではオンになっています。有効にするために何もする必要はありません。より長い答えが続きます...

UbuntuではデフォルトでDEPが使用されます。これは、CPUがサポートしている場合はNXビットを介して行われ、CPUがサポートしていない場合はメモリセグメンテーションを介してエミュレートされます。詳細については、非実行可能メモリ機能アイテムを参照してください。

ASLRは、再配置可能なメモリセグメント(スタック、ライブラリ、ヒープ、mmap)のUbuntuでデフォルトで使用されます。デフォルトでは再配置できないプログラムの部分は、メインコード領域(「テキスト」セグメント)のみです。これを有効にするには、プログラムをPIE(位置独立実行可能ファイル)として特別にコンパイルする必要があります。多くの機密プログラムはすでにこの方法で構築されています。詳細については、リストを参照してください

Ubuntuでは、多くの追加のセキュリティ機能もデフォルトで使用できます。完全なリストについては、Ubuntuセキュリティ機能のドキュメントを参照してください。


1

デフォルトでは、Linuxカーネルは同様のテクノロジーを使用しますが、Windowsバージョンとは異なります。プロセッサにNXビット(最新のCPU)を設定する機能がある場合、カーネルはそれを使用します。カーネル内のASLRには弱い実装もあり、強力な実装もインストールできますが、デフォルトではUbuntuにはインストールされません。


3
現時点では参考文献を見つけることができません(Wikipediaの記事 en.wikipedia.org/wiki/ASLRにはエントロピー比較のビットはありません)が、Windows ASLRはLinuxよりも弱いと理解しています。Linuxのデフォルトよりも頑丈なASLRが必要な場合は、PaXパッチセットを使用して独自のカーネルを構築できます。これにより、わずかな互換性コストでより高いエントロピーを実現できます。
キースクック

もちろんcert.org/blogs/certcc/post.cfm?EntryID=191の違いを分解する良い記事ですが、それは細かい詳細についての議論で完全ではありません:D reddit.com/r/netsec/comments/ 1xjwde /…
Univ426 14

0

一般的かつ簡単に言えば、これにはPAEバージョンのカーネルが必要です。このトピックの詳細については、この要約を参照してください。


3
PAEはハードウェアNXにのみ必要です。64ビットはすでにPAEであるため、32ビットでは、PAEカーネルを実行していない場合、またはハードウェアにNXビットがない場合、Ubuntuはメモリセグメンテーションを使用してNX機能をエミュレートします。
キーズクック

@Kees Cook:情報をありがとう。OPは32ビットについて質問しました。私のシステムでは(ubuntu 10.10 32bit)dmesgと言いNX (Execute Disable) protection cannot be enabled: non-PAE kernelます。一方、bazaar.launchpad.net /〜ubuntu-bugcontrol / qa-regression-testing /…からテストを実行したとき、nxは強制されているように見えましたが-pie-rieテストとテストではありませんでした。だから、私には少し混乱しています。
手配

2
残念なことに、10.10以降のdmesgレポートには、NXがPAEカーネルのないハードウェアでNXエミュレーションが有効になっていると言わないバグがあります。kernel.ubuntu.com
Kees Cook

1
(これは今バグとして報告されています:bugs.launchpad.net/ubuntu/+source/linux/+bug/745181
キース・クック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.