FYI: ASLR in LINUX, Vista, and OS X (was Re: [C-REPS] Article: Tool makes mincemeat of passwords)

...from: http://en.wikipedia.org/wiki/Address_space_layout_randomization
Address space layout randomization (ASLR) is a computer security technique which involves arranging the positions of key data areas, usually including the base of the executable and position of libraries, heap, and stack, randomly in a process' address space. [The most common exploits take advantage of a known positions for specific structures such as heap and stack locations in memory. The idea behind ASLR is to randomly position in memory these sometimes vulnerable structures to make it more difficult for an automated exploit.]
In Linux, a weak form of ASLR has been enabled by default since kernel version 2.6.12. The PaX and ExecShield patchsets to the Linux kernel provide more complete implementations. Various Linux distributions including Adamantix, Hardened Gentoo, and Hardened Linux From Scratch come with PaX's implementation of ASLR by default.
Microsoft's Windows Vista and Windows Server 2008 have ASLR enabled by default, although only for executables which are specifically linked to be ASLR enabled. [NOTE: from http://blogs.zdnet.com/security/?p=104 - Those applications which link to the ANSI C heap allocation API malloc() are less vulnerable to exploitation. Beyond ASLR, there is / GS, a compile-time option in Visual C++ that adds stack-based buffer overrun detection, /SafeSEH, Data Execution Protection and Function Pointer Obfuscation. As Microsoft's Michael Howard explained when ASLR was added to Windows Vista Beta 2, it is not a panacea or a replacement for insecure code. "[But] when used in conjunction with other technologies,it is a useful defense because it makes Windows systems look 'different' to malware, making automated attacks harder."]
Apple introduced randomization of some library offsets in Mac OS X v10.5[3], presumably as a stepping stone to fully implementing ASLR at a later date.
Wayne
participants (1)
-
billing