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

Windows Vista Service Pack 1 (SP1) のサポートは 2011 年 7 月 12 日に終了します。 Windows 用のセキュリティ更新プログラムを継続して入手するには、Windows Vista Service Pack 2 (SP2) を実行していることを確認してください。 詳細については、次のマイクロソフト 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 に保存し、問題のあるコンピューターで実行することができます。

ご意見をお寄せください。 このソリューションに関するフィードバックを提供するか、または問題を報告するには、以下にコメントを残してください
"Fix it for me" ブログを投稿するか、
メール メッセージ。

自分で有効にする

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

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

  1. [ スタート] ボタンをクリックし、[ファイル 名を指定して実行] をクリックし、「regedit」と入力して Enter キーを押します。

  2. 次のレジストリ サブキーを見つけます。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\DisableExceptionChainValidation注 HKEY_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 の上書きの悪用を防ぐために使用できる手法の詳細については、次の Uninformed Web サイトを参照してください。

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

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