Linked by Dareka on Fri 19th Apr 2013 10:40 UTC
BeOS & Derivatives "Starting with hrev45522, address space layout randomization (ASLR) and data execution prevention (DEP) are available in Haiku. These two features, which have actually become a standard in any modern OS, make it much harder to exploit any vulnerability that may be present in an application running on Haiku, thus generally improving system security."
Permalink for comment 559507
To read all comments associated with this story, please click here.
RE[4]: Funny
by Alfman on Mon 22nd Apr 2013 21:33 UTC in reply to "RE[3]: Funny"
Member since:


"Virtual address mappings are a security feature designed exactly for this as the application can request ANY address whatsoever and it wouldn't know if it is physically at that location or not or if that physical location is used by something else and the application was instead given a virtual mapping."

Virtual mappings don't need to match the physical ones in order to have a global mapping. In fact it helps reduce multi-page fragmentation when they don't.

Just because all processes share the global page map doesn't imply all processes know which pages are used by which processes, nor even which pages are allocated at all unless you have functions that leak this sort of information.

"You do realize that you can still share the same, physical location between multiple applications even with private, virtual address mappings? Most OSes do provide facilities for this -- the OS only needs to map the same, physical address to some random private address on the processes' sides and then let the processes know which address to use."

Data pointers use logical addresses, not physical ones. Creating two different logical mappings to the same physical address isn't the same as two processes sharing logical mappings. It's an interesting (unconventional) use case, but it could facilitate the sharing of objects between processes of similar permissions.

While linux's version of mmap allows virtual address hints, it's hit or miss whether the processes that want to share the region will be able to map at the same location because they use a local page map.

I wouldn't actually use the technique myself, but I don't see any reason it'd be incompatible with ASLR.

Reply Parent Score: 2