I am looking at various buffer/heap/stack protection technologies such as PAX, DEP, NX, CANARIES, etc
And a new one SMEP - http://vulnfactory.org/blog/2011/06/05/smep-what-is-it-and-how-to-beat-it-on-linux/
Assuming that i am using the latest kernel on the latest mainstream processor Assuming i recompile all my apps with various compiler protections Assuming i run a good DEP, ASLR NX bit whatever protection
Is it reasonable to say that most buffer-overflow attack will fail? And this has been solved for future systems?
As corollary, is it true to say that as currently implemented, current Win7 systems are hopelessly vulnerable to ROT and other techniques particularly on 32bit apps ?
p.s. I am purposely not going into the "managed code is safe" argument here
[disclaimer] I am not advocating sloppy coding. I realize there are many other attacks. I know that existing systems far outnumber the "idealized" security configuration