Is pre-linking worth it?
Is pre-linking worth it?
Posted Jul 15, 2009 21:11 UTC (Wed) by nix (subscriber, #2304)In reply to: Is pre-linking worth it? by jake
Parent article: Is pre-linking worth it?
of prelinking: even if ASLR *is* statically determined when prelink is
active, the address space is large enough that an attacker has little
chance of success anyway. And the address space on 32-bit is small enough
that ASLR is at best a band-aid.
The danger with prelink isn't that it lets attackers bruteforce their way
past ASLR (they can do that anyway). It's that *if* they have a multistage
attack to carry out (guess ASLRed addresses then guess something else,
say) and *if* they can tell that ASLR has been defeated and *if* each
attack round involves exec()ing a new program (rather than fork()ing an
old one or using a thread pool), then they can eliminate the effects of
ASLR more rapidly and concentrate on the second part of the attack, if
prelink is in use.
I'm not sure this actually affects many programs. openssh is the only one
I can think of that actually exec()s a new copy of itself when a request
comes in (specifically to allow ASLR to rerandomize things). Apache
doesn't do this and neither does anything else I can think of except for
services run from inetd.
Can anyone think of any other network-facing programs this might affect?
(I don't prelink my 32-bit firewalls for exactly this reason. Boxes behind
the firewall get prelinked.)
