Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ

XP SP2のデータ実行防止(DEP)機能を無効にする

解説をスキップして操作方法を読む

デジタルアドバンテージ
2004/11/20
 
対象OS
Windows XP Service Pack 2
XP SP2には、スタックやヒープ上に置かれたプログラムの実行を防止するDEP機能がある。DEP機能を利用すると、バッファ・オーバーフローの脆弱性を突いてコードを実行するウイルスやワームを防止することができる。
DEP機能は、Windows OSシステムに適用されるほか、ユーザー・プログラムに対して適用することもできる。
古いバージョンのプログラムやデバイス・ドライバなどでは、DEP機能によって実行できなくなる場合がある。そのような場合はDEP機能を無効にすればよい。
 
解説

 Windows XP Service Pack 2(以下XP SP2)では、スタックやヒープ上に置かれたコードの実行を制限する、「データ実行防止(Data Execution Prevention。以下DEP)」という機能が新たに実装された。バッファ・オーバーフローとは、プログラムが想定しているよりも大量のデータを送り込んでスタックやヒープ上のデータ領域を書き換え、プログラムの制御を奪ったり、実行を停止させたりするという脆弱性である(基本的にはプログラムのバグが原因)。DEP機能を有効にすることにより、MS BlasterやSlammerなど、この脆弱性を使うウイルスやワームの実行を阻止することができる。詳細については関連記事を参照していただきたい。

ネットワーク管理者のためのWindows XP SP2レビュー―データ実行保護機能(DEP)

 DEP機能には、ソフトウェアDEPとハードウェアDEPの2種類があるが、ハードウェアDEP機能は現在のところ、AMD社のAthlon64(Opteron)など、特定のプロセッサでのみ利用できる。これに対して、ソフトウェアDEPはどのシステムでも利用できるが、その機能は非常に限定的である。将来はすべてのプロセッサおよびすべてのWindow OSで、いずれのDEPも利用できるようになる予定である。

DEP機能によるプログラムの実行中断
スタックやヒープ上でコードを実行させようとすると、DEPによってプログラムの実行が中断させられる。これはAMD Athlon64 CPUを使ったWindows XP SP2システム上での実行例。
  スタック上でコードを実行するサンプル(具体的なプログラムについては先の関連記事を参照)。
  実行しようとしたプログラムの名称。
  DEP機能の設定を変更して、このプログラムをDEPによる実行中断から除外するには、これをクリックする。
  DEP機能の設定を変更せず、以後も有効にしておくには、これをクリックしてダイアログを閉じる。

 ところでバッファ・オーバーフロー対策として有効なDEP機能であるが、場合によっては、正常なプログラムであってもDEP機能によって実行が中断させられてしまうことがある。プログラムによっては、わざとスタックやヒープ上にプログラム・コードを置き、それを実行している場合もあるが(主に性能向上のためにこのような技法が使われている)、DEP機能を有効にすると、このようなプログラムは不正なものとみなされてしまうことになる。今後出荷されるプログラムはDEP対応が施され、DEP環境下でも正しく動作するようになるだろう。だが以前から使用しているプログラムの場合は、DEPによって実行が阻止されないように、設定を変更する必要がある。


操作方法

 DEPの設定を変更するには、2つの方法がある。特定のプログラムでのみDEPの除外設定を行うか、それともシステム全体でDEPを無効にするかである。

特定のプログラムに対するDEPの除外設定

 特定のプログラムに対してDEP機能を無効にするには、上記の画面で[設定の変更]ボタンをクリックするか、DEPの設定画面で、除外するプログラムを手動で追加する。

 [マイ コンピュータ]を右クリックしてポップアップ・メニューから[プロパティ]を選び、[詳細設定]タブにある[パフォーマンス]−[設定]をクリックすると、次のようなダイアログが表示される。

DEP機能の設定ダイアログ
DEP機能をシステム全体で使うか、それとも特定のプログラムを除外するかを設定するダイアログ。
  DEP機能の設定タブ。
  Windowsシステム(デバイス・ドライバも含む)でのみDEP機能を有効にする。XP SP2のデフォルト設定。
  Windowsシステムだけでなく、ユーザーのプログラムもDEP機能の対象とするにはこれをクリックする。
  ここにリストアップされたプログラムについては、DEP機能の対象外とする。DEP機能が有効だと動作しないプログラム(DEP非対応プログラム)を明示的に登録するために利用する。チェック・ボックスをオフにすると、一時的にDEP機能が有効になる。
  特定のプログラムを手動でDEP機能の適用対象外リストに登録するには、これをクリックする。

 このダイアログで設定することにより、Windows OSシステムでのみDEP機能を利用するか、ユーザー・プログラムでもDEP機能を利用するかを設定することができる。

DEP機能をすべて無効にする設定

 以上の設定では、DEP機能の適用範囲を変更することはできるが、DEP機能をすべて無効にすることはできない。OSカーネルのバッファ・オーバーフローの脆弱性に対する攻撃を防ぐためである。だが場合によっては、DEP機能を完全に無効にしたい場合もあるだろう。例えば古いバージョンのデバイス・ドライバを使っているような場合である。デバイス・ドライバはOSカーネルの一部として動作するため、デバイス・ドライバに対するDEP機能が有効になっていると、OSそのものが動作しなくなる。パフォーマンスを向上させるために、デバイス・ドライバでは、スタックやヒープ上に置いたコードを実行している場合があるが、XP SP2に対応するまでは、DEP機能全体を無効にしておく必要がある。

 DEP機能そのものを無効にするには、システム・ドライブのルートにあるboot.iniファイル(通常はc:\boot.ini)に対して、「/NoExecute=AlwaysOff」というオプションを追加する。これ以外にも次のようなオプションがあり、何も指定がなければ、「/NoExecute=OptIn」と同じ扱いになっている。End of Article

設定 意味
/NoExecute=OptIn デフォルト設定。Windows OSのシステム・ファイルでのみDEPが有効になる
/NoExecute=OptOut Windows OSのシステム・ファイルとユーザー・プログラムをDEPの対象とするが、除外リストに登録されたものについてはDEPを適用しない
/NoExecute=AlwaysOn Windows OSのシステム・ファイルとユーザー・プログラムをDEPの対象とする。除外リストにプログラムを登録することはできない
/NoExecute=AlwaysOff DEP機能をすべて無効にする
boot.iniにおけるDEP設定
各OSごとの設定行の最後に、これらのうちのいずれかのオプションを追加する。一番下を選択すると、DEP機能をすべて無効にすることができる。
 
関連記事
  ネットワーク管理者のためのWindows XP SP2レビュー―データ実行保護機能(DEP)(Windows Server Insider)
  Windows XP SP2で採用されたDEPの仕組み(System Insider)
  Windows TIPS「システムのブート情報ファイルBOOT.INIを編集する」(Windows Server Insider)
     
この記事と関連性の高い別のWindows TIPS
起動時に自動実行される不要なプログラムを「見つける」方法
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

更新履歴
【2005/11/16】boot.iniファイルにおけるオプション値の記述が間違っておりました。当初公開した記事ではオプション値を「OptIn/OutOut/AlwayOn/AlwayOff」と記述しておりましたが、正しくは「OptIn/OptOut/AlwaysOn/AlwaysOff」でした。お詫びして訂正させていただきます。
 
「Windows TIPS」

TechTargetジャパン

Windows Server Insider フォーラム 新着記事
  • 第422話 つい (2014/7/22)
     成功する可能性があるものは、成功する。失敗する可能性があるものは、失敗する……
  • Twitterのアプリ連携を確認・解除する (2014/7/18)
     Twitterでしばしば報告されるアプリ連携機能を悪用したスパム行為などの被害。ときどき連携アプリ調べて、不審なものは解除した方がよい。その方法は?
  • アクセス制御リストACL (2014/7/17)
     Windows OSの管理で必ず目にすることになる「アクセス制御リストACL」。その機能概要や設定方法、ACLの継承などについて解説
  • Google Chrome組織導入への第一歩 (2014/7/16)
     Chromeに対しては、ActiveXへの対応やActive Directory環境への対応といった要望も多い。そこでChromeの組織導入の手順を紹介する
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る
- PR -

ホワイトペーパーTechTargetジャパン

ソリューションFLASH

「ITmedia マーケティング」新着記事

メディア企業コンデナストが考えるブランデッド/ネイティブコンテンツ
Maxifierが主催する「Maxifier Tokyo Summit 2014」が7月16日、東京の恵比寿で開催された...

第2回 「マーケティング活動」の詳細解説――メッセージ開発とチャネルの検討
マーケティング部門の役割は、確度の高い見込み客(リード)と、見込み客に関する精度の...

第40回 ビジネスSNS「LinkedIn」に過去55年間で150職種を経験した「バービー」が登場
1959年〜1960年頃の「バービー」はファッションモデルやファッション編集者だった。以後...