Windows オペレーティング システムで構造化例外処理上書き保護 (SEHOP) を有効にする方法

Windows Vista Service Pack 1 (SP1) のサポートは 2011 年 7 月 12 日に終了します。 Windows 用のセキュリティ更新プログラムを継続して入手するには、Windows Vista Service Pack 2 (SP2) を実行していることを確認してください。 詳細については、「Microsoft Web ページ: 一部のバージョンの Windows でサポートが終了する」を参照してください。

概要

Windows Vista Service Pack 1、Windows 7、Windows Server 2008 および Windows Server 2008 R2 には、構造化例外処理上書き保護 (SEHOP) のサポートが含まれるようになりました。 この機能は、構造化例外ハンドラー (SEH) 上書き手法を使用する悪用をブロックするように設計されています。 この保護メカニズムは実行時に提供されます。 そのため、/SAFESEH オプションなど、最新の機能強化を使用してコンパイルされたかどうかに関係なく、アプリケーションを保護するのに役立ちます。 上記のいずれかのオペレーティング システムを実行している Windows ユーザーは、この機能を有効にして、システムのセキュリティ プロファイルを改善することをお勧めします。

この記事では、この機能を有効にするのに役立ちます。

 この機能を有効にするには、[自分で有効にする] セクションに移動します。 この機能を自分で有効にする場合は、「自分で有効にする」セクションに移動します。

注: Windows 7 または Windows Server 2008 R2 を実行している場合は、Windows 7 および Windows Server 2008 R2 の自動ウィザードがまだ使用できないため、「自分で有効にする」セクションに移動します。

自分で有効にする

この機能を自動的に有効にするには、[この問題を解決する] リンクをクリックします。 次に、[ファイルのダウンロード] ダイアログ ボックスで [実行] をクリックし、このウィザードの手順に従います。

        
メモ

  • このウィザードは、Windows Vista Service Pack 1 と Windows Server 2008 にのみ適用されます。
  • このウィザードは英語でのみ使用できます。ただし、自動修正は、他の言語バージョンの Windows でも機能します。
  • 問題が発生したコンピューターにない場合は、自動修正プログラムをフラッシュ ドライブまたは CD に保存し、問題のあるコンピューターで実行できます。

ご意見をお寄せください。 フィードバックを提供したり、このソリューションに関する問題を報告したりするには、
「私のためにそれを修正する」ブログ、または私たちに送る
電子メール メッセージ。

自分で有効にしましょう

重要: このセクション、メソッド、またはタスクには、レジストリの変更方法が記載されています。 ただし、レジストリを誤って変更すると、深刻な問題が発生する可能性があります。 そのため、この手順は必ず慎重に行ってください。 さらなる保護のため、レジストリは変更する前にバックアップしてください。 こうしておけば、問題が発生した場合にレジストリを復元できます。 レジストリのバックアップ方法および復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。

322756 Windows でレジストリをバックアップおよび復元する方法既定では、Windows Server 2008 R2 と Windows Server 2008 で SEHOP が有効になっています。 既定では、Windows 7 と Windows Vista では SEHOP が無効になっています。 SEHOP を手動で有効にするには、次の手順に従います。

  1. [ スタート] をクリックし、[ 実行] をクリックし、「regedit」と入力し、Enter キーを押します。

  2. 次のレジストリ サブキーを見つけます。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\DisableExceptionChainValidationHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\サブキーの下に DisableExceptionChainValidation レジストリ エントリが見つからない場合は、次の手順に従って作成します。

    1. カーネルを右クリックし、 をポイントします。
      [新規] をクリックし、[ DWORD 値] をクリックします。
    2. Type
       DisableExceptionChainValidation、Enter キーを押します。
  3. ダブルクリック
    DisableExceptionChainValidation

  4. DisableExceptionChainValidation レジストリ エントリの値を 0 に変更して有効にし、[OK] をクリックします

    注 1 の値を指定すると、レジストリ エントリが無効になります。 値 0 を指定すると有効になります。

  5. レジストリ エディターを終了します。

既知の問題

SEHOP を有効にすると、Cygwin、Skype、Armadillo で保護されたアプリケーションの既存のバージョンが正しく動作しない可能性があります。

注 この問題を解決するには、ソフトウェア ベンダーに連絡して更新プログラムを確認してください。

参考資料

SEH による上書きの悪用を防止する

SEH の上書きの悪用を防ぐために使用できる手法の詳細については、次の情報のない Web サイトを参照してください。

http://www.uninformed.org/?v=5&a=2&t=txt この記事で説明するサード パーティ製品は、Microsoft から独立した企業によって製造されています。 明示または黙示にかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。

 他社テクニカル サポートのお問い合わせ窓口は、ユーザーの便宜のために提供されているものであり、 将来予告なしに変更されることがあります。 マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。