Re: OS stopping stack buffer overflow exploits

From: Matthew Dharm (mdharm-kernel@one-eyed-alien.net)
Date: Sun Jun 04 2000 - 03:51:51 EST


Trampolines are most often used in embedded applications. Interrupt
handling/dispatching code is the first example that comes to mind. But
that's not the point. (Tho I have written them -- I'm an embedded systems
developer).

The point is that, the proposed change would break a very valuable
programming tool. This is simply yet another example of how security is
inversely proportional to useablility -- and this is one feature that I'd
really rather not lose.

The point isn't that I don't have an example piece of "important code" --
the point is that, if I do come up with one in the future, the proposed
change would make it useless. And I don't think that the change would
necessarily actually stop anyone (tho I admit it would raise the bar
slightly).

Matt Dharm

P.S. Here's one (non-trampoline) example which I have done (and on a linux
platform, too!) -- run-time loading of code _manually_. Just allocate a
big block of RAM, and copy data from a file into that RAM, then just
de-reference the pointer as a procedure call. Icky, yes. Useful, very (at
the time).

On Sun, Jun 04, 2000 at 10:03:37AM +0200, Ingo Oeser wrote:
> On Sat, Jun 03, 2000 at 07:48:17PM -0700, Matthew Dharm wrote:
> > Hrm... this could cause some problems for applications which use
> > self-modifying code (i.e. trampoline handlers, etc.)
>
> Could you please show a daily example of any *need* for
> trampolines? I mean code, which could only be implemented
> (efficiently) via trampolines.
>
> I never saw one generated by GCC and never wrote an explicit one
> by myself. So for what important piece of code we do need it and
> can't code it without trampolines?
>
> Thanks in advance
>
> Ingo Oeser
> --
> Feel the power of the penguin - run linux@your.pc
> <esc>:x

-- 
Matthew Dharm                              Home: mdharm@one-eyed-alien.net 
Senior Engineer, QCP Inc.                            Work: mdharm@qcpi.com

What, are you one of those Microsoft-bashing Linux freaks? -- Customer to Greg User Friendly, 2/10/1999

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Jun 07 2000 - 21:00:18 EST