comp.lang.ada
 help / color / mirror / Atom feed
From: "Brian Catlin" <brianc@sannas.org>
Subject: Re: Partial Hardware Protection for Buffer Overrun Exploits
Date: Wed, 16 Apr 2003 12:13:29 -0700
Date: 2003-04-16T19:17:41+00:00	[thread overview]
Message-ID: <b7ka8l$bs6$1@slb6.atl.mindspring.net> (raw)
In-Reply-To: 3E9D8AB6.4090009@cogeco.ca

"Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca> wrote in message
news:3E9D8AB6.4090009@cogeco.ca...
> 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:

[snip]

An excellent idea.  Unisys implemented this 30 years ago in their 'A series'
machines; however, getting this to work on a more conventional processor
architecture (the Unisys machines are stack-based, and no assembler is sold for
them, just high-level languages) would be rather difficult, I suspect.  The
beauty of allocating space on the stack for strings, is when the routine
returns, the storage is automatically returned.  A software-only solution could
be implemented purely in the compiler, by allocating the string storage on the
heap (with guard pages around it), and then deallocating everything when the
routine returns.  This would impact performance, but would also make the system
less vulnerable to this particular attack.

It seems to me, that the real root of the problem is the C language, and its
lack of a native string type (and the really crappy run-time library).  While
these sorts of attacks probably aren't limited to C programs, I'd be willing to
bet that they are LOTS less prevalent in other languages.  It also seems to me,
that programming has been made too easy; there are lots of people out there
writing software that should really be out cleaning toilets instead.

 -Brian





  parent reply	other threads:[~2003-04-16 19:13 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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
replies disabled

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