Windows の制御フロー ガードとは何か。オンまたはオフにする方法

Windows 11/10 の組み込みのセキュリティ機能である制御フロー ガード (CFG)は、メモリ破損の脆弱性と戦うために設計されています。制御フロー ガードはメモリ破損を防ぐのに役立ち、ランサムウェア攻撃を防ぐのに非常に役立ちます。サーバーの機能は、攻撃対象領域を減らすためにその時点で必要なものに制限されます。エクスプロイト プロテクションは、Windows Defender のエクスプロイト ガード機能の一部です。CFG はこの機能の一部です。

Windows 11/10 の制御フロー ガード

Windows 11/10 の制御フロー ガード機能について少し詳しく説明し、次のような質問に答えます。

  1. 制御フロー ガードとは何か、どのように機能するか?
  2. 制御フロー ガードはブラウザのパフォーマンスにどのような影響を与えるか?
  3. 制御フロー ガードを無効にする方法

1] 制御フロー ガードとは何か、どのように機能するか

制御フロー ガードは、バッファ オーバーフローなどの脆弱性を通じて任意のコードを実行するエクスプロイトを困難にする機能です。ご存知のように、ソフトウェアの脆弱性は、実行中のプログラムにありそうもない、異常な、または極端なデータを提供することで、しばしば悪用されます。たとえば、攻撃者は、予想されるよりも多くの入力をプログラムに提供することで、バッファ オーバーフローの脆弱性を悪用し、プログラムが応答を保持するために確保した領域をオーバーランさせることができます。このスキームは、関数ポインタを保持する可能性のある隣接するメモリを破損する可能性があります。プログラムがこの関数を呼び出すと、攻撃者によって指定された意図しない場所にジャンプする可能性があります。

このようなインスタンスを回避するために、制御フロー ガードからのコンパイルとランタイム サポートの強力な組み合わせは、間接呼び出し命令を実行できる場所を厳密に制限する制御フロー整合性を実装します。また、間接呼び出しの潜在的なターゲットとなる可能性のある、アプリケーション内の関数のセットを識別します。このようにして、制御フロー ガードは、元のコードをハイジャックする試みを検出できる追加のセキュリティ チェックを挿入します。

ランタイム時に CFG チェックが失敗すると、Windows はプログラムをすぐに終了し、無効なアドレスを間接的に呼び出そうとするあらゆるエクスプロイトを中断します。

2] 制御フロー ガードはブラウザのパフォーマンスにどのような影響を与えるか

この機能は、Chromium ベースのブラウザでパフォーマンスの問題を引き起こしていると報告されています。Google Chrome、Microsoft Edge ブラウザ、Vivaldi など、すべての主要なブラウザが影響を受けているようです。この問題は、Vivaldi の開発者が Windows 7 で Chromium ユニット テストを実行し、それらが最新の Windows 11/10 よりも高速に実行されていることが判明したときに明らかになりました。

Windows カーネル チームのマネージャーは問題を認識しており、数週間以内に配布される修正プログラムを構築したと述べました。

3] Windows 11/10 で制御フロー ガードを無効にする方法

この機能を無効にする場合は、次の手順に従います。

スタートをクリックして、Windows セキュリティを検索します。

Windows Defender 設定の「更新とセキュリティ」セクションの左ペインから [Windows セキュリティ] を選択します。

「アプリとブラウザの制御」を選択し、下にスクロールして「エクスプロイト保護の設定」を見つけます。それを選択し、「制御フロー ガード」を選択します。

ドロップダウン矢印をクリックして、「既定でオフ」オプションを選択します。

これで解決することを願っています。