Re: How to develop a random number generation device



On Wed, 12 Sep 2007 13:42:56 +0000, No Spam wrote:

Nothing the OS does can prevent machine code from overrunning a buffer.

That's not true. Many operating systens are by design, immune to
buffer over-runs modifying unrelated code.

The issue isn't about modifying code, related or otherwise. It's about
either injecting new code or executing existing code with
attacker-supplied data.

This isn't about protecting one process from another, but about protecting
a process from itself. Most of the existing mechanisms for mitigating
buffer overruns are implemented in either the compiler or libraries. The
only OS-level mechanisms (things that work on any executable, however it
was built) involve making it harder to exploit an overrun (e.g.
randomising memory locations) rather than actually preventing the overrun.

Given that:

a) this would make Windows totally incompatible with most existing
software, and

Did you mean to write "nothing the *Windows* OS does can prevent machine
code from overrunning a buffer?

No, the issues apply to any OS. But binary compatibility is much more
important for Windows (and Mac) than for Linux.

If you try to run a 5-year old Linux binary on a current distribution,
you'll probably find that a lot of the interfaces on which it depends have
either disappeared or have changed in an incompatible manner. Lack of a
stable ABI is a simple fact of life on Linux.

.



Relevant Pages

  • Re: How to develop a random number generation device
    ... Many operating systens are by design, immune to buffer over-runs modifying unrelated code. ... randomising memory locations) rather than actually preventing the overrun. ... If you try to run a 5-year old Linux binary on a current distribution, ... Linux, and the API is very stable - new API's and system calls are added, but existing ones are seldom changed or removed, and never without very good reason. ...
    (sci.electronics.design)
  • Re: select()/write() semantics
    ... I am writing about Linux 2.6 and Linux 2.6 does not ... select behaviour on FIFOs was discussed. ... if a buffer was added). ... to a set of pipe buffers. ...
    (comp.os.linux.development.apps)
  • Re: How to develop a random number generation device
    ... what is in the memory you've over run into. ... subject to the caveat that the term "buffer overrun" is normally used ... Exploitation requires the write to succeed, ...
    (sci.electronics.design)
  • Re: [Lit.] Buffer overruns
    ... If you can prove that your program is free of buffer ... >be developed in such a way that buffers cannot be overrun. ... coding discipline, or a combination of a coding and testing discipline, ...
    (sci.crypt)
  • Re: Why is it dangerous?
    ... When I compile a program from our C course with a windows compiler ... Is linux more dangerous than windows? ... to the first character in a buffer, and stores an entire line from stdin ...
    (comp.lang.c)