Announcing ASLR Completion
hardenedbsd.org
hardenedbsd.org
http://man7.org/linux/man-pages/man7/vdso.7.html
It seems the main reason is to make gettimeofday and friends faster. On the x86-64, the vDSO contains the following system calls:
clock_gettime
getcpu
gettimeofday
time
Namely, system calls were latency really matters.they aren't. some syscalls get hammered so much by user space code that any overhead is too much overhead. especially with gettimeofday/clock_gettime which are used for timestamping and measuring intervals. you don't want overhead on your timing code.
However, this paper presents an interesting blind hacking technique which includes defeating ASLR.
The BROP attack is very interesting although it assumes you can read the program binary.
As a general side note: just because there's a way to defeat a particular security feature doesn't mean the security feature is worthless. If it were worthless, we wouldn't have locks on our cars.
They just limit attacker's possibilities of getting what he wants. There is no absolute security. Maybe in some kernels like sel4 but they are so small compared to something like linux that it's incomparable.