web-dev-qa-db-ja.com

DEPとは何ですか?プロセッサがDEPをサポートしているかどうかを確認するにはどうすればよいですか?

Coreinfoは私にたくさんの命令を示します 私のプロセッサはサポートしています 。しかし、私が興味を持っているのはDEPデータ実行防止です。 DEPがリストされています CPUがWindows 2016 Serverでサポートする必要があるものとして 。それは何ですか?

MicrosoftはそれをNXとリンクしているようですDEPNXの違いは何ですか?プロセッサがDEPをサポートしているかどうかを確認するにはどうすればよいですか?

1
Evan Carroll

データ実行防止(DEP)は、Windows XPおよびWindowsServer 2003以降のオペレーティングシステムに組み込まれているシステムレベルのメモリ保護機能です。DEPを使用すると、システムは次の1ページ以上をマークできます。メモリを実行不能としてマークすることは、メモリ領域を実行不可能としてマークすることは、そのメモリ領域からコードを実行できないことを意味し、バッファオーバーランの悪用を困難にします。

それを独自のリンクからの情報と組み合わせると、ASLR(NXビットが必要)と組み合わせると、DEPはNXと同義になると判断されます。具体的には、Windows Server2016内のASLR実装で必要です。

ただし、アドレス空間配置のランダム化(ASLR)などの他のテクノロジと組み合わせると、Windows InternetExplorerおよびそれがロードするアドオンの一般的なバッファオーバーフローの脆弱性を防ぐのに役立ちます。この保護を提供するために追加のユーザー操作は必要ありません。また、新しいプロンプトは導入されません。

さらに:

Microsoftは、WindowsVistaおよびWindowsServer 2008にASLR機能を追加しました。このプラットフォームでは、DEPは、32ビットWindowsでのPAEカーネルの自動使用と、64ビットカーネルでのネイティブサポートによって実装されます。 Windows Vista DEPは、メモリの特定の部分をデータのみを保持することを目的としてマークすることで機能します。データは、NXまたはXDビット対応プロセッサが実行不可として認識します。

出典:

1
Ramhound

ハードウェアベースとソフトウェアベースのDEPがあります。 参照

ハードウェアベースのDEPでは、CPUがXDまたはNXビットをサポートしている必要があります。 CPUがそのビットが設定されているページからコードを実行しようとすると、CPUはハードウェア例外をスローし、何も実行されません。

ソフトウェアベースのDEP-そのリファレンスは次の情報を提供します:

データ実行防止セキュリティチェックの追加セットがWindowsに追加されましたXP SP2。これらのチェックはソフトウェア強制DEPと呼ばれ、例外処理メカニズムを利用する悪意のあるコードをブロックするように設計されています。 Windowsで。

そして

ソフトウェア強制DEPは、Windows XP SP2を実行できる任意のプロセッサで実行されます。デフォルトでは、ソフトウェア強制DEPは、プロセッサのハードウェア強制DEP機能に関係なく、限られたシステムバイナリのみを保護するのに役立ちます。

これは、CPU NX/XDのサポートに関係なく、有効にして使用できます。

ソフトウェアDEPがどのように機能するかはわかりませんが、特定のシステムバイナリで使用されるスタックカナリアのようなものである可能性があります 参照

DEPは、CPUがWindows 2016Serverでサポートする必要があるものとしてリストされています。

Windows 2016は、ハードウェアNX/XDをサポートしていないCPUでは実行されません。 2000(Pentium 4+)以降のすべてではないにしてもほとんどのCPUがこのサポートを備えており、この10年間のサーバークラスのCPUは間違いなくこのサポートを備えています。比較的最近のシステムでは、これについて心配する必要はありません。

0
LawrenceC