2011-07-18 9 views
0

(少なくとも将来のシステムのために)私は、このようななどバッファオーバーフローは「解決された問題」と考えられますか?

、新しいものSMEP PAX、DEP、NX、カナリア、など様々なバッファ/ヒープ/スタック保護技術で探しています - http://vulnfactory.org/blog/2011/06/05/smep-what-is-it-and-how-to-beat-it-on-linux/

と仮定すると、私はその は が

は、ほとんどのバッファ・オーバーフロー攻撃がすると言って、それが合理的ですどんな保護私は良いDEP、ASLR NXビットを実行すると仮定すると、私は様々なコンパイラの保護にすべての私のアプリを再コンパイルすると仮定すると、最新の主流のプロセッサ上で最新のカーネルを使用しています失敗します? これは将来のシステムで解決されましたか?

現在実装されているように、現在のWin7システムは であり、ROTや他の技術、特に32ビットアプリケーションでは脆弱であると言えるでしょうか?

p.s.私は故意に「マネージコードは安全です」という議論には入っていません。

[免責事項] 私は誤ったコーディングを主張していません。 私は他にも多くの攻撃があることを認識しています。 既存のシステムが「理想化された」セキュリティ構成をはるかに上回っていることを知っています

答えて

1

バッファオーバーフローは、少なくとも管理されていないコードでは解決されていません。

あなたがリストされているすべての技術(DEP/NX、ASLR、カナリア、SMEP)との基本的な問題は、彼らが実際後起こるということである:彼らは防ぐことはできませんので、彼らは、にバッファオーバーフローの問題が解決しないでき根本的な原因 - バッファオーバーフローとメモリ破損がすでに発生した

すべてのスキームは、単純に「良い」ものですが、破損が発生した後であっても、それが動作する前に障害を検出しようとする信頼できないヒューリスティックな方法です。

Windows VistaとWindows 7のDEP、ASLR、およびカナリアンは、ROTと他の技術によって迂回される可能性があります。したがって、悪用される悪用を作成する難しさを上げてください。しかし、難しさの増加はかなり重要です。これが技術のポイントです。

元のバッファ破損を防ぐことによって問題を解決することに興味がある場合は、これが最も生産性が高いと思いますが、おそらくマネージコードの議論に戻るでしょう。

0

これらのテクノロジがすべて有効でコンパイラチェックが強力であれば、現在の保護を回避するほとんどの方法は無効になります。攻撃のバーを上げるだけで、新しいものは追加のチェックと複雑さが必要になります。あなたの "最も"という条件のための最良の賭けは、最終的に、より多くのエリアとスペースが保護されるにつれ、利用可能なスペースに収まらないエクスプロイトに必要な複雑さですが、まだそこにはありません。

関連する問題