OpenBSD built in exploit protections

Presentation by Theo de Raadt
Exploit Mitigation Techniques (updated to include random malloc and mmap

http://www.openbsd.org/papers/ven05-deraadt/index.html

Talks about stack gaps and W^X (write or execute) memory protections.

Running i386 the W^X protection is implemented as a code segment limit (a line in the sand), or PAE NX. Older i386 cpus do not support the X bit per page, the kernel can implement a line in the sand, indicating a point in the stack at which nothing s Xecutable.

But, some newer i386 cpus support the NX bit, or no execute