Are you just looking for mitigation techniques in regards to code exploitation or is this an open ended question for the entire prism in all areas? In that case please grab a warm cup of coffee at this time as there are a lot of them.

Basically MS uses the same technologies Linux/BSD uses. ASLR/NX/PIE/Stack protection. However, I think the *nix's are ahead as they have been at it longer and seem to have more mature (and stronger) implementations (especially with things like PaX).

Yeah, they share many techniques. PAX definitely makes some areas much stronger. It depends a lot on the distro and ASLR on nix is lacking.

Click to expand...

Well, it depends. The ASLR in the default kernel is not as strong as what PaX offers, and PaX also offers a robust RBAC which can't be found anywhere else. I would say a kernel compiled with PaX is stronger than what Windows offers. Linux also offers a lot of MAC implementations that are built into the kernel via LSM (SELinux, AppArmor, SMACK, etc.). The closest thing Windows offers to a MAC is what they call MIC (Mandatory Integrity Controls). However, it has critics like Tavis Ormandy.

Yep, I agree with everything you've said. Though, to be clear, I think that even without PAX a distro like Ubuntu is easily configurable to be more secure than Windows and a distro like Fedora is already more secure without configuration.

PAX does a lot of things, but one is clear - it increases the ASLR entropy and applies it to more areas.