RE: Preventing exploitation with rebasing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Three different rebasing scenarios:

(1) other people's compiled code
(2) other people's source code
(3) your own code

Points:

A. There are better things to do in the case of (2) and (3) than rebase the
binary.

B. In the case of (1) rebasing offers some value in certain circumstances,
particularly if you have access to the source (2) -- in which case point A
applies and you shouldn't bother with rebasing somebody else's binary.
Rebase the entire build, and throw in a boatload of NOPs and other
spaghetti. The less predictable your binaries are from the perspective of a
remote attacker, the better.

C. Remember the threat: uncontrolled/arbitrary remote procedure calls. Don't
let them happen in the first place. Authenticate every caller. Filter and
block all anonymous callers. Stop the bits from entering your box (or
process space) in the first place.

D. Don't allow compiled code to execute on your box unless it has been
authorized to execute in advance based on its hash code.

E. If code is vulnerable, don't use it.

Jason Coombs
jasonc@science.org


[Index of Archives]     [Linux Security]     [Netfilter]     [PHP]     [Yosemite News]     [Linux Kernel]

  Powered by Linux