4 ms·
That you can't have a bug in your code that lets an attacker overwrite data (aka a buffer overflow writes into memory) AND have that part of memory executed. It
by buster 11y ago
That you can't have a bug in your code that lets an attacker overwrite data (aka a buffer overflow writes into memory) AND have that part of memory executed.
It's either data (which can be overwritten) or code (which can't be overwritten).
- exDM69 11y agoIt's not a fool proof mitigation for buffer overflow attacks, though. You can still write a bogus return address in a stack overflow and use return oriented programming (ROP) to do exploits with W^X. There are ways to work around address space layout randomization (ASLR) too.
- valarauca1 11y agoNo methodology in Infosec is every 100% prefect. You nest your defenses like Russian Dolls. Each layer of protection fends off another class of attackers. An attacker with infinite determination, money, or time will always push past your defenses.
- stefs 11y agoin reality, at some point it's just not cost effective anymore (for the attacker) and other targets become more promising.
- ben_bai 11y agoNone of these mitigations is perfect. But how do you combine a exploit that has to deal with W^X, ASLR, randomized stack gap, stack cookie, randomized location of shared libraries and static programs. Seems pretty hard to me.