comp.lang.ada
 help / color / mirror / Atom feed
* Partial Hardware Protection for Buffer Overrun Exploits
@ 2003-04-16 16:54 Warren W. Gay VE3WWG
  2003-04-16 17:28 ` Vinzent Hoefler
                   ` (2 more replies)
  0 siblings, 3 replies; 20+ messages in thread
From: Warren W. Gay VE3WWG @ 2003-04-16 16:54 UTC (permalink / raw)


I am curious if anyone has discussed this idea before:

REVIEW:

Buffer exploits work of course, by allowing the attacker to
overwrite a buffer (array) with hacker code to be executed.
Part of this exploit includes the necessity of overwriting
the return address on the _stack_ frame, that the current
function will use when it exits (opcode RET?  My assembly
knowledge is admitedly (for Intel) is very rusty).

The RET instruction is how control is being given to planted
"hacker code". Obviously, this is _not_ what we want
happening on Internet exposed machines.

SUGGESTED HARDWARE SOLUTION:

For UNIX/Linux anyway (and I think for Win32 also), the
code is in protected segments that are at least "read only"
and on some platforms perhaps even marked "executable". In
UNIX terms, this represents the "text" area of an executable.
This means that _normally_, the return address should only
refer to text region addresses.... (or alternatively,
"read-only" regions of virtual memory).

If it is possible for the CPU to distinguish between the
"text" region and the "data" regions (including stack), then
a new instruction (say RETT - Return to Text), could cause
a fault to occur, if the return address is not to a text
virtual memory address (for exploits this address points
to a "data" region, and usually part of the current stack
frame).

Then GCC could be enhanced to replace the dangerous RET
instruction with the safer RETT (say) instruction, and one
large class of exploits would be foiled in newly compiled
code. This does not of course fix the denial of service
problems with overruning buffers, but that is another
matter. At least we eliminate the ability of the
attacker to execute planted code.

As far as I see, the only way to exploit buffers would
then require the attacker to find usable sections of text
to do his bidding. I suspect that this would make the
attack considerably more difficult, and perhaps in many
cases, impossible or not worth pursuing.

YOUR FEEBACK?

Has this been discussed before?  Is Intel listening?

There has to be a better solution to the current crop of
buffer exploits, that are being used daily.

-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2003-04-24 18:49 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-04-16 16:54 Partial Hardware Protection for Buffer Overrun Exploits Warren W. Gay VE3WWG
2003-04-16 17:28 ` Vinzent Hoefler
2003-04-17 16:33   ` Warren W. Gay VE3WWG
2003-04-17 21:29   ` Robert A Duff
2003-04-16 19:13 ` Brian Catlin
2003-04-17 15:00   ` Bob French
2003-04-17 16:14   ` Warren W. Gay VE3WWG
2003-04-17 23:22     ` Randy Brukardt
2003-04-21 16:42       ` Warren W. Gay VE3WWG
2003-04-21 17:26         ` tmoran
2003-04-22  1:40           ` Frank J. Lhota
2003-04-22 21:15             ` Robert A Duff
2003-04-22 21:19               ` Ed Falis
2003-04-24  2:00                 ` Randy Brukardt
2003-04-24 13:49                   ` Ed Falis
2003-04-24 18:42                     ` Randy Brukardt
2003-04-24 18:49                       ` Ed Falis
2003-04-17 21:22 ` Robert A Duff
2003-04-21 16:33   ` Warren W. Gay VE3WWG
2003-04-21 19:28     ` Robert A Duff

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox