comp.lang.ada
 help / color / mirror / Atom feed
From: "Nick Roberts" <nickroberts@adaos.worldonline.co.uk>
Subject: Re: Ada's Slide To Oblivion ...
Date: Wed, 6 Feb 2002 21:27:06 -0000
Date: 2002-02-06T21:27:06+00:00	[thread overview]
Message-ID: <a3s70v$1ac4bu$1@ID-25716.news.dfncis.de> (raw)
In-Reply-To: 7v8za79id0.fsf@vlinux.voxelvision.no

"Ole-Hjalmar Kristensen" <oleh@vlinux.voxelvision.no> wrote in message
news:7v8za79id0.fsf@vlinux.voxelvision.no...

> > Both C and C++ are fundamentally insecure languages, because they
require a
> > 'flat' address space, with no differentiation between the executable
> > (read-only) and variable (read-write) parts. This completely subverts
the
>
> Where do you get this wild idea from? There is nothing in the language
> definition which demands this. At least on UN*X, the executable part
> is normally put in a read-only segment. But this is not an attribute
> of the language, but of the  hardware, OS, and the linker/loader.

Perhaps I did not express myself clearly enough. If you were to re-read what
I said, carefully, I think you will see that what I wrote does not deny that
the executable part is put into read-only memory; on the contrary, I
actually imply it.

Allow me to try to clarify. The C language requires (in practice if not
strictly in theory) that all pointers fit into one machine word. On 32-bit
architectures, this almost invariably forces the use of a 'flat' address
space (just an offset, with no segment number or equivalent). Which means
that, for many architectures, the operating system cannot use segmentation
(or other memory divisions) to detect a call or jump into read-write memory.
If it were able to do this, it could prevent the execution of code which has
been (maliciously caused to be) written into memory (by the program itself,
due to a bug being exploited).

On many architectures, then, C prevents the OS from using available memory
protection mechanisms to prevent buffer overrun exploitation, whereas most
other programming languages do not. In this way, C is a security liability.
C++ generally has the same fault.


"Ian S. Nelson" <nelsonis@earthlink.net> wrote in message
news:3C6144E7.4010801@earthlink.net...

> This is flat out wrong.

I refer the honourable member to my previous answer.


--
Nick Roberts






  reply	other threads:[~2002-02-06 21:27 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-30 23:09 Ada's Slide To Oblivion Volkert
2002-01-30 23:57 ` Marin David Condic
2002-01-31  3:04   ` Richard Riehle
2002-01-31  3:05     ` Eric Merritt
2002-01-31 16:26       ` Richard Riehle
2002-01-31 16:41         ` Larry Kilgallen
2002-02-02 15:51           ` Zach Swanson
2002-02-02 19:18             ` Richard Riehle
2002-02-04  4:43         ` Richard Riehle
2002-01-31 14:37     ` Marin David Condic
2002-01-31 15:14   ` Ted Dennison
2002-01-31 17:16     ` Marin David Condic
2002-01-31 18:32       ` Steve O'Neill
2002-01-31 18:27     ` Warren W. Gay VE3WWG
2002-01-31 19:22       ` Marin David Condic
2002-01-31 20:40       ` Christopher A. Bohn
2002-01-31 21:08         ` Marin David Condic
2002-02-01 14:22           ` [off-topic - to lighten the air] Wes Groleau
2002-02-01  2:31         ` Ada's Slide To Oblivion Richard Riehle
2002-02-04 16:51           ` Jerry Petrey
2002-02-04 17:49             ` Richard Riehle
2002-02-04 18:24               ` Marin David Condic
2002-02-05  9:04                 ` DPH
2002-02-05 14:46                   ` Marin David Condic
2002-02-05 16:37                 ` Wes Groleau
2002-02-05 17:22                   ` Marin David Condic
2002-02-05 18:42                   ` Preben Randhol
2002-02-06 21:37                     ` Warren W. Gay VE3WWG
2002-02-07 11:30                       ` Georg Bauhaus
2002-02-05 13:48               ` Georg Bauhaus
2002-02-06  7:07             ` Anders Wirzenius
2002-02-01  2:26       ` Richard Riehle
2002-02-01 14:27         ` A. Nonny Mouse
2002-02-01 17:18         ` Dale Pontius
2002-02-06  2:37           ` Nick Roberts
2002-02-06  7:31             ` Ole-Hjalmar Kristensen
2002-02-06 21:27               ` Nick Roberts [this message]
2002-02-06 22:03                 ` Ian S. Nelson
2002-02-07  1:44                 ` Philip Cummins
2002-02-07 13:56                 ` Ian Wild
2002-02-07 17:25                   ` Ray Blaak
2002-02-07 19:20                     ` Hyman Rosen
2002-02-07 21:36                       ` David Brown
2002-02-08 10:36                         ` Ian Wild
2002-02-08 12:23                           ` Ole-Hjalmar Kristensen
2002-02-08 12:51                             ` Ian Wild
2002-02-08 14:28                               ` Marin David Condic
2002-02-08 15:52                               ` Ole-Hjalmar Kristensen
2002-02-08 13:08                             ` Nick Roberts
2002-02-08 21:28                               ` Matthew Woodcraft
2002-02-08 21:45                               ` Nick Roberts
2002-02-08 22:44                                 ` Darren New
2002-02-09  0:39                           ` David Brown
2002-02-18  3:54                 ` David Thompson
2002-02-06 14:59             ` Ian S. Nelson
2002-01-31 18:28     ` Warren W. Gay VE3WWG
2002-01-31  2:37 ` Jim Rogers
2002-01-31 15:02   ` Marin David Condic
2002-01-31 18:28     ` Steve O'Neill
2002-01-31 19:41       ` Larry Kilgallen
2002-01-31 19:53         ` martin.m.dowie
2002-01-31 20:06         ` Marin David Condic
2002-01-31 21:06         ` Steve O'Neill
2002-01-31 22:28           ` Marin David Condic
2002-01-31 19:42       ` Marin David Condic
2002-01-31 18:41     ` Warren W. Gay VE3WWG
2002-01-31 19:52       ` Marin David Condic
2002-02-01 18:31         ` Warren W. Gay VE3WWG
2002-02-01 12:28     ` David Gillon
2002-02-01 21:02       ` Marin David Condic
2002-02-02  4:05         ` Adrian Hoe
2002-02-02 12:51           ` Jeffrey Creem
2002-02-04 15:58           ` Marin David Condic
2002-02-02  4:02       ` Adrian Hoe
2002-02-02 17:35         ` tmoran
2002-02-01  1:42 ` Randy Brukardt
2002-02-01 16:56   ` Nick Roberts
  -- strict thread matches above, loose matches on Subject: below --
2002-02-06  7:02 Christoph Grein
replies disabled

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