Reversing: Secrets of Reverse EngineeringとHacking: The Art of Exploitation の両方を読み、読み終えました。どちらも独自の方法で光を当てていましたが、それらの中で提示された多くのテクニックや情報は、ある程度時代遅れになっているように感じます.
悪名高い Phrack の記事、Smashing the Stack for Fun and Profitが書かれた 1996 年は、私がコンピューター セキュリティの「黄金時代」と考える直前のことでした。
その後の数年間、エクスプロイトを作成するのは比較的簡単でした。被害者のマシンでバッファ オーバーフローを実行し、任意のシェル コードを実行するために必要なのは、C とアセンブリの基本的な知識だけでした。
簡単に言えば、物事ははるかに複雑になっています。現在、セキュリティ エンジニアは、Address Space Layout Randomization (ASLR)、Data Execution Prevention (DEP)、Stack Cookies、Heap Cookies などと戦わなければなりません。エクスプロイトの作成の複雑さは、少なくとも 1 桁増加しました。
最新の保護をオフにするための一連のフラグを使用してコンパイルしないと、今日見られるチュートリアルのバッファ オーバーラン エクスプロイトのほとんどをイベント実行することはできません。
エクスプロイトを作成する場合は、DEP を無効にする方法を考案し、シェル コードをヒープに何百回もスプレーして、シェルコードに近いランダムなメモリ位置を推測する必要があります。これらの脆弱性に関しては、はるかに安全なマネージド言語が現在使用されていることは言うまでもありません。
10 年前のシステムのおもちゃのエクスプロイトを書くことを超えて、セキュリティの知識を広げたいと考えています。上記で概説したすべての保護に直面してエクスプロイトを作成する際の問題に対処するのに役立つリソースを見つけるのに苦労しています。
最新のシステムのエクスプロイトを作成するという課題に対処するための、より高度で普及している論文、本、またはその他のリソースは何ですか?