Bugtraq mailing list archives

Re: Preventing exploitation with rebasing


From: Seth Breidbart <sethb () panix com>
Date: Wed, 5 Feb 2003 19:07:15 -0500 (EST)

In theory, it's easy to prove that some programs cannot be relocated,
period.  Anybody who has been programming long enough has seen people
re-use a memory location as both an address and a constant in order to
keep the program small enough (12k OK; 12k + 2 bytes really bad
news).  That can't be relocated.

Even under the assumption that locations aren't re-used, it's provably
impossible (Turing-complete) to determine whether the contents of a
location can be used as an address by a program.

That said, _if_ a program is relocatable, relocating it would seem to
be an easy way to gain some security.  Whether that's worth the cost
(in fragility and undebuggability) is another question.

Seth


Current thread: