Secure Coding mailing list archives
Managed Code and Runtime Environments - Another layer of added security?
From: smb at cs.columbia.edu (Steven M. Bellovin)
Date: Thu, 30 Mar 2006 20:30:44 -0500
On Wed, 29 Mar 2006 14:50:39 -0500, Olin Sibert <u3902 at siliconkeep.com> wrote:
While we're on Multics lessons, let's not forget upward-growing stacks (which were a natural consequence of the segmented addressing architecture). Multics code was not immune to buffer overflows, but in most cases the effect was blunted because the out-of-range index values could only affect data beyond the current activation record--in contrast with most linear addressing systems where an overflow is almost always able to reach important values like the return address.
I've heard that claim before; I've always thought it overrated. In an
upward-growing stack, if you overflow a parameter passed to a
subroutine it will overwrite the subroutine's return address. Since
many buffer overflows happen as a result of library calls -- think
strcpy() or scanf() -- this can be *more* of a danger.
The real advantage on Multics was PL/I, where character strings of
declared lengths were a built-in data type.
I'm teaching Operating Systems this semester; the textbook I'm using
constantly mentions the similarities of the Pentium hardware
architecture to Multics, complete with segments and rings. (I've
also told my students to read Organick's book, because I can't bear
the thought of a CS major knowing nothing of Multics....) When was the
last time you did an inter-ring call on a Pentium? The real issue, even
on Multics, wasn't the hardware features, it was the lack of
applications that were designed in a way that made them useful.
--Steven M. Bellovin, http://www.cs.columbia.edu/~smb
Current thread:
- Managed Code and Runtime Environments - Another layer of added security? Peter G. Neumann (Mar 29)
- Managed Code and Runtime Environments - Another layer of added security? der Mouse (Mar 29)
- Managed Code and Runtime Environments - Another layer of added security? Olin Sibert (Mar 29)
- Managed Code and Runtime Environments - Another layer of added security? der Mouse (Mar 29)
- Managed Code and Runtime Environments - Another layer of added security? Steven M. Bellovin (Mar 30)
