Re: IP Level Encryption (kind of long)

From: Robert Wessel (robertwessel2_at_yahoo.com)
Date: 12/18/03


Date: 17 Dec 2003 21:30:12 -0800

daw@taverner.cs.berkeley.edu (David Wagner) wrote in message news:<brpc0l$1mgt$5@agate.berkeley.edu>...
> Robert Wessel wrote:
> >"Skybuck Flying" <nospam@hotmail.com> wrote:
> >> Ofcourse a hacker could still try to overwrite other data which contains
> >> pointers to executable code like Henrick mentioned.
> >
> >Trying to secure all of this in hardware inevitably leads to the
> >re-re-re-re-re-re-reinvention of capabilities. And even then, only
> >the more extreme versions of capabilities can deal fully with the
> >pointer-to-function problem.
>
> I don't see why this requires capabilities. It seems to me that
> bounds-checking ought to be sufficient to deal with the kinds of
> failures that "Skybuck Flying" mentions. What am I missing?

Yes, the immediate issue Skybuck Flying raised needs little more than
simple bounds checking or a segmentation scheme. My point was that
this solves only a small subset of the potential problem scenarios.
As you start to try and fix all the other stuff in hardware, you tend
to reinvent capabilities.

> >Of course direct injection into memory is hardly the only way to
> >inject code into a system. For example, just rename an executable
> >image *.html, and point a link at it. It'll get downloaded and
> >probably stored in the browser's cache in a disk file. Now get
> >something to execute that file. Perhaps we could buffer overflow into
> >a string that is to be passed to system() - not a code pointer in
> >sight! OK, we can fix that by marking the cache directory as not
> >allowing code execution (a feature of most OS's). But now what about
> >scripts? As you said, "Ieewww... difficult problem !"
>
> That's one way to fix it. I believe another workable way to fix
> it would be to prevent the buffer overflow in the first place
> (e.g., using bounds checking).

The problem remains, how do you implement bounds checking in C? And
even if you do fix that (or switch to another language resistant to
buffer overflows), there's certainly no requirement that the injected
code be executed via a buffer overflow, that was only an example. All
you have to do is find *some* function on the target system that will
kick off the code. Perhaps a directory traversal vulnerability from
the \cgi directory via a web server on the same machine to kick off
the script or executable you convinced a browser to store in its cache
directory (IOW, ask for the URL
"http...\cgi\..\..\browsercache\nastyscript.pl").



Relevant Pages

  • Re: IP Level Encryption (kind of long)
    ... >> pointers to executable code like Henrick mentioned. ... >something to execute that file. ... That's one way to fix it. ... it would be to prevent the buffer overflow in the first place ...
    (sci.crypt)
  • Re: Removal of SpywareStrike v2.5
    ... | I post it here for others to benefit, as I spent hours trying to fix ... It is suggested that you execute each tool in Normal Mode then in Safe Mode. ... It is suggested that you move the report out of c:\mcafee before performing another scan. ... Please Copy and Paste the contents of the HTML Log file; ...
    (microsoft.public.security.virus)
  • [Full-Disclosure] GLSA: sendmail (200309-13)
    ... Fix a potential buffer overflow in ruleset parsing. ... It is recommended that all Gentoo Linux users who are running ...
    (Full-Disclosure)
  • [Full-Disclosure] GLSA: sendmail (200309-13)
    ... Fix a potential buffer overflow in ruleset parsing. ... It is recommended that all Gentoo Linux users who are running ...
    (Full-Disclosure)
  • [Full-Disclosure] GLSA: sendmail (200309-13)
    ... Fix a potential buffer overflow in ruleset parsing. ... It is recommended that all Gentoo Linux users who are running ...
    (Full-Disclosure)