On Thu, 14 Aug 2008, Sunnz wrote:
> Hi,
The actual paper is here and it is very good - well
worth reading for anyone interested in this stuff:
http://taossa.com/archive/bh08sotirovdowd.pdf
The described stack protection is quite Propolice-like and I think that
a similar attack would work on OpenBSD: corrupt a value in the stack,
use it to gain control in the executing function and its antecedents but
never return as that would activate the stack canary checks.
For this to work, an attacker would need to find 1) a function with a
stack-based overflow that 2) has a stack-allocated variable that is
amenable to their purpose. I'm sure these exist, but I have no idea how
common they are. Note that the attacks in the paper make use of the
stack layout used by C++ method calls which makes things quite a bit for
the attacker.
The thing that struck me most from the paper was how close Microsoft has
come to implementing a good set of protections and how they have managed
to screw them up by failing to turn them on everywhere. What use if DEP
or DLL load address randomisation if it isn't turned on everywhere? What
is the point of those (really good) heap consistency checks if you don't
abort() when they fail?
-d
| Davide Libenzi | [patch 7/8] fdmap v2 - implement sys_socket2 |
| Greg Kroah-Hartman | [PATCH 018/196] coda: convert struct class_device to struct device |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| David Newall | Re: Slow DOWN, please!!! |
git: | |
| Christoph Lameter | Network latency regressions from 2.6.22 to 2.6.29 |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Arjan van de Ven | Re: [GIT]: Networking |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
