ご存知のように、ユーザーのコンピューターに漏えいするマルウェアの大部分は、ブラウザーのエラー、さらにはFlash、Adobe Reader、Javaなどの一般的なプラグインのエラーを使用してそこに到達します。
同時に、XP SP2以降、Windowsブラウザーとそのプラグインで利用可能な
データ実行防止テクノロジーのサポートを含めることにより、このような脆弱性のかなりの部分(つまり、
バッファーオーバーフローに関連する脆弱性)をブロックできます。
要するに、このテクノロジーは、「非実行可能」とマークされた、つまりプロセッサーによる実行を意図していないデータを含むメモリーの領域からのコードの実行を禁止します。 したがって、バッファオーバーフローを使用して任意のコードを実行しようとすると、例外が生成され、脆弱性に対して脆弱なプログラムが閉じられます。
残念ながら、すべてのプログラムがDEPモードで完全に機能できるわけではなく、一般的なブラウザーも例外ではありません。 最新のブラウザのDEP機能の概要を以下に示します。
インターネットエクスプローラー
IE7では、プラグインの問題により
、DEPモードはデフォルトで強制的に無効にされていました。
IE8はデフォルトで
IE8がブラウザと子プロセス(プラグイン、activexなど)の両方
に対してDEPサポートを含むことをmsdnに書き込み
ますが 、IEBlogはDEPの使用時に人気のあるプラグインに問題はないと主張コメント内のリンク)。
クロム
ChromeはDEPモードをサポートするだけでなく、主なブラウザプロセスのセキュリティを強化
することも
できます(ただし、プラグインの場合、DEPは限定互換モードで有効になります)。
Firefox
mozillaフォーラムは、FFの最近のバージョンを含む、DEPに関連するFirefoxの「クラッシュ」
について 活発に 議論しています。 同時に、最新のブラウザーバージョンに関するbugsillaで
DEPに
関連する確認済みのバグを見つけることができませんでした(XP / SP3 / FF3.6でDEPに関連する未確認のバグをすべて確認しました-確認されていません)。
コメントは、DEPを有効にするとFFの問題は有効にならなかったと
主張しています。
オペラ
Opera開発者によると、
Operaはバージョン9.64から
DEPモードで実行できます(DEPモードでのこのブラウザの通常の動作は、バージョン10.50rc3からのみ開始されるようです。DEPに関連
する重要なバグを修正しました)。 プラグインがDEPモードで機能するかどうかは不明です。
サファリ
Safari for WindowsのDEPサポートの有無に関する信頼できる情報を見つけることができませんでした。
PS:「DEPをサポートする」(つまり、デフォルトでシステム内のすべてのアプリケーションに対してDEPが有効になっている場合は正常に動作する)と「DEPを特に有効にする」(つまり、プロセスのDEPモードを設定する)を混同しないでくださいDEPはシステムレベルで無効になっています)。
PPS:もちろん、システム管理者
は DEPが
万能薬では
ない ことに留意する
必要が
あります。 Vista / Sevenに
ASLRを
含め 、XPに
WehnTrustをインストールすることにより、より深刻な保護を提供できます(実際、XPにはネイティブASLRサポートがないという同じトリックです)。 しかし、これはまったく別の話ですが、トピックに興味がある場合は、別のメモを作成します。
UPD:
ChromeでのDEPサポートの実装の詳細(
翻訳#1 、
翻訳#2 )。 著者は、このブラウザーの開発者がXPでのプロセスのDEPモードを変更する方法を理解するために、ウィンドウを逆アセンブルする必要があったと考えています(Vistaでは、文書化されたAPIを使用してこれを実行できます)。