実行不能ビットとは何ですか?

実行不能ビットとは何ですか?

についての記事を読んだ。実行禁止ビット(EDB)x86 CPUで。これは次のように広く知られています。NXビット;IntelではXDとも呼ばれます。

したがって、Windows XPはこのハードウェア機能をサポートします。うん!しかし、私が選択したLinuxディストリビューションがそれをサポートしているかどうかはどうすればわかりますか?

このBIOSオプションを有効にすると、どのような問題が発生する可能性がありますか?

Linuxがこの機能を処理する方法の詳細については、どこで読むことができますか?

答え1

この機能はしばしば呼び出されます。NXビット。メモリページのフラグですメモリ管理ユニットページを実行できないとマークします。一部のコードがページに移動すると、分割エラー(Unix用語で)が発生します。

通常、コードを変更できないため、書き込み可能なページを読み取り専用としてマークすることがサポートされる一般的な衛生対策です。すべての場合でこれを行うことはできません。例えばタイムリーなコンパイル。これの利点は、特定のエラーが原因でプログラムがデータを含むメモリ領域にジャンプするのを防ぐことです。これは、ユーザーがコードを挿入してプログラムを悪用する可能性があるため、ユーザーがデータを提供するときに特に悪いことです。その結果、NXビットがセキュリティ脆弱性に対する一部の攻撃を中断する可能性があります。しかし、セキュリティ対策として、これは万病の歯磨き粉ではありません。これを解決できる技術があります。復帰指向プログラミング。 NXの主な目的は、エラーをより簡単に検出することです。

引用された記事は、多少誤解を招く可能性があることをお知らせします。 NXは既存の多くの攻撃をブロックしますが、攻撃とウイルスは時代に合わせて適応してきました。記事のもう1つのエラーは、NXがBIOS機能ではなくCPUの機能であるということです(一部のBIOSはこれを無効にすることができます。無効にすると、どのような利点があるのか​​わかりません)。

これウィキペディアページNX の一部のサポートを提供する UNIX バリエーションについて詳しく説明します。アプリケーションは、次を呼び出してページが実行可能かどうかを制御できます。mmapシステムコール。

答え2

私が選択したディストリビューションがそれをサポートしているかどうかはどうすればわかりますか?

すでにカーネルにあります2004年からだから彼らはすべて何らかの方法でそうします。周りを見回すときは、RedHatの前の記事を見ないでください。明らかに1年前にこれに対するパッチがあったようです。

関連情報