WindowsでDEP(データ実行防止)を構成またはオフにする

データ実行防止(Data Execution Prevention)DEP)は、それらの「ぼやけた」ものの1つです。それがその仕事をして干渉しないとき、それはほとんどの場合祝福ですが、干渉するときは呪われています。 

必要に応じて、DEPとその構成方法、またはDEPをオフにする方法(DEP)(DEP)てみましょう。

DEPとは何ですか?それは何をしますか?(What Is DEP & What Does It Do?)

Microsoftによると、DEPは次のとおりです。

メモリに対して追加のチェックを実行して、悪意のあるコードがシステムで実行されるのを防ぐのに役立つ一連のハードウェアおよびソフトウェアテクノロジ。(a set of hardware and software technologies that perform additional checks on memory to help prevent malicious code from running on a system.)」  

デル(Dell)はそれを少し単純化し、DEP

「…プログラムを監視して、プログラムがシステムメモリを安全に使用していることを確認することで、コンピュータを保護するのに役立ちます。」(“…can help protect your computer by monitoring your programs to make sure that they use system memory safely.”)

どういう意味ですか?コンピュータのメモリには、コードを実行することを目的としていない特定の領域がありますが、コードがそこで実行される場合もあります。 

通常、そこで実行されるコードは悪意のあるものです。DEPはそれらの領域を監視し、それらの領域で何かが起こっていることを確認すると、シャットダウンします。それがどのように機能するかについて詳しく知りたい場合は、Microsoftのデータ実行防止の詳細な説明を( Microsoft’s detailed description of Data Execution Prevention)読んでください。

では、なぜDEPが問題を引き起こすのでしょうか。(So Why Does DEP Cause Problems?)

今日でも、コンピューターは馬鹿げています。彼らは推論することはできず、最も基本的な論理しか使用できません。さらに、その論理は人間によってそれらに組み込まれるので、コンピューターも私たちの過ちをそれらに入れます。 

時々、良いプログラムは、DEPが監視し、それらのスペースで動作する領域に迷い込むでしょう。 

これが発生すると、DEPはプログラム全体をシャットダウンし、エラーメッセージ(error message)で通知する場合があります。ただし、DEPによってプログラムの実行が非常に悪くなることがあり、その理由を明確に示すものは何もありません。 

どのプログラムがDEPに問題がありますか?(What Programs Have Problems With DEP?)

DEPと競合するプログラムは通常、古いプログラムであるか、古いコードベースに基づいて構築されています。多くのエンタープライズリソースプランニング(Enterprise Resource Planning)ERP)ソフトウェアは、1970年代にさかのぼるコードベースに基づいて構築されています。当時はDEP(DEP)がなかったので、プログラムはDEPがパトロールするエリアに入ります。

64ビットプログラムは、DEPが十分に確立された後に作成されたため、準拠するように開発されました。DEP と競合するほとんどのプログラムは、32ビットプログラムになります(will be 32-bit programs)。 

Windows サービス(Services)と頻繁にやり取りする、または独自のWindows サービスを実行するMicrosoft以外のプログラムは、 (Services)DEPによって起動される可能性があります。その場合、ベンダーはDEP(DEP)を完全にオフにすることをお勧めします。

ホームユーザー(home user)の場合、32ビットの古いゲーム、およびさらに古いゲームをプレイするための一部のエミュレーターは、 ( emulators for playing even older games)DEPと競合する可能性が最も高くなります。

古いデバイス(Old device)ドライバーまたは非公式のソースからダウンロードされたドライバーも、DEPエラーを引き起こす可能性があります。ハードウェアメーカーまたはMicrosoft(hardware manufacturer or Microsoft)からのみドライバーをダウンロードし、ドライバーを定期的に更新してください( update your drivers regularly)

DEPが問題であるかどうかをどのように知ることができますか?(How Do I Know If DEP Is The Problem?)

イベントビューアに移動して、イベントID1000(Event ID 1000)のログをふるいにかける必要がある場合があります。見つかった場合は、次のようになります。

Event ID : 1000 - DEP Error : Generic host for Win32 servicesGeneric Host Process for Win32 Services - DEP : Application Error
Event Type: Error
Event Source: Application Error
Event Category: (100)
Event ID: 1000

 次のようなものを参照する他のエラーが表示される場合があります。

  • 0xFC:ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORYデバイスドライバー(device driver)がメモリ内で実行しようとしたときに発生します。不良または古いドライバである可能性があります。ドライバーを更新する必要があります。 
  • STATUS_ACCESS_VIOLATION(0xc0000005) –プログラムがDEPで保護されたメモリスペース(memory space)で実行しようとしたときに発生します。

DEPを構成またはオフにする方法(How To Configure Or Turn Off DEP)

Windows 10では、DEPはデフォルト(DEP)で[重要なWindowsプログラムとサービスに対してのみDEPをオン(Turn on DEP for essential Windows programs and services only)にする]設定になっています。ほとんどの場合、これで十分です。これは、プログラムの大部分がDEP(DEP)によって無視されることを意味します。 

ただし、DEPがコンピューターの保護に役立ち、パフォーマンスに影響がない場合は、選択(performance hit)したプログラムを除くすべてのプログラムで[DEPをオン(Turn on DEP for all programs except those that I select)にする]を選択することをお勧めします。次に、 DEP(DEP)に問題があるプログラムを見つけた場合は、例外として追加できます。その方法を見てみましょう。

  • コントロールパネル(Control Panel )を開き、システム(System)を開きます。

  • [システム(System )]ウィンドウの左側にある[システムの詳細設定(Advanced System Settings)]をクリックします。

  • [システムのプロパティ(System Properties )]ウィンドウが開き、 [詳細(Advanced)設定]タブに設定されているはずです。[パフォーマンス]領域で、[(Performance )設定(Settings)]をクリックします。

  • [パフォーマンスオプション(Performance Options )]ウィンドウで、[データ実行防止(Data Execution Prevention )]タブをクリックします。

  • 選択したプログラムを除くすべてのプログラムで[ DEPをオンにする]を選択(Turn on DEP for all programs except those that I select)し、ウィンドウの下部にある[追加(Add )]ボタンをクリックします。

  • 例外として追加するプログラムの実行可能ファイルに移動します。ほとんどの場合、C:/Program Files (x86)にあります。 
  • この例では、古い音楽プレーヤーユーティリティである(music player utility)MediaMonkeyを追加しています。.exeファイルが見つかったらクリックし、[開く]をクリック(Click)ます(Open)

  • [パフォーマンスオプション]で、[適用(Apply)]をクリックします。これで、MediaMonkeyは(MediaMonkey)DEP保護(DEP protection)の範囲外で実行され、他のすべてはDEP保護の範囲内で実行されます(DEP protection)

DEPを完全にオフにする(Turn DEP Completely Off)

DEPを完全にオフにしたい場合は、問題のトラブルシューティングの一部としてのみオフにすることをお勧めします。DEPはあなたの保護のためにあります。 

これはお勧めできないことなので、ポイントアンドクリックで行うのは適切な方法ではありません。DEPをオフにする方法を見てみましょう。

  • 管理者として(Administrator)コマンド(Command )ウィンドウを開きます。これを行うには、 [スタート(Start)]メニューの近くにあるプログラム検索フィールドに(program search field)cmdと入力します。

  • コマンドbcdedit.exe /set {current} nx AlwaysOff を入力し、Enterキーを押します。

bcdedit.exeは、ブート構成(bdcedit)データを編集するためのWindowsユーティリティであるため(c)bdcedit(b)です(d)

/set は、ブート構成に(boot configuration)オプション値エントリ(option value entry)を設定するようにbceditに指示します。

{current}は、現在使用されている({current})ブート構成(boot configuration)で動作するようにbeceditに指示します。

nxは(nx)noe (n)x ecuteの略で、ブート構成での(boot configuration)DEP設定名(setting name)です。

AlwaysOffは一目瞭然です。

  • コンピューターを再起動します。
  • これで、 DEP(DEP)は完全に完全にオフになります。

すべての場合にDEPをオンにします(Turn DEP On For Everything)

絶対にすべてに対してDEPをオンにするには、プロセスとコマンド(process and command)は上記のようになります。

  • 上記の手順に従って、管理者として(Administrator)コマンド(Command )ウィンドウを開きます。
  • bcdedit.exe /set {current} nx AlwaysOn入力します。 

  • コンピューターを再起動します。
  • DEPがオンになり、すべてのプログラムが監視されます。

DEPを常にオンまたは常にオフにした後は、システム設定 の[データ実行防止]タブ(Data Execution Prevention tab)から変更することはできません。(NOT)

[DEP]タブ(DEP tab)のラジオボタンを再び使用できるように変更する方法を見てみましょう。

DEPをデフォルトの動作に戻す(Set DEP Back To Default Behavior)

DEPの動作をデフォルトに戻し、システム設定を介して再び管理できるようにするには、次の手順を実行します。

  • 管理者として(Administrator)コマンド(Command )ウィンドウを開きます。
  • bcdedit.exe /set {current} nx OptIn入力します。

  • コンピューターを再起動します。
  • これで、システム設定の[DEP]タブ(DEP tab)のラジオボタンに再びアクセスできるようになりました。

DEPするかしないか(To DEP Or Not To DEP)

DEPに関連する(DEP-related)可能性のある問題のトラブルシューティングのために変更する必要がない限り、DEPをデフォルト設定(default setting)[重要なWindowsプログラムおよびサービスに対してのみ(Turn on DEP for essential Windows programs and services only, )DEPをオンにする]のままにしておくことをお勧めします。



About the author

私はソフトウェア エンジニアであり、Windows 10 の専門家です。スマートフォン、Windows 10、および Microsoft Edge で 2 年以上の経験があります。私の主な焦点は、デバイスの動作をより良く、より速くすることです。Verizon、IMac、HP、Comcast など、さまざまな企業のさまざまなプロジェクトに携わってきました。また、Microsoft Azure クラウド トレーニングの認定インストラクターでもあります。



Related posts