Wietse Venema:> [ having getty select the tty for readability without actually
> reading the login name from stdin]
> Yes, this means that you lose all those cutesy features of my agetty
> program [...]
Rogier Wolff:> One of the classical "getty" features that you loose this way is
> the autobauding that classical getty''s perform. (i.e. read a
> character, and change the baudrate whenever it''s "bad")
True, however with today''s speed-buffering modems this behavior
can be undesirable. At least I haven''t needed speed switching in
my agetty program since I hooked up a ZyXEL modem in 1991 or so.
One also loses detection of parity, erase and kill characters.
Loss of parity detection can be a problem with 7-bit terminal
settings. So it seems best to preserve getty functionality.
Does LINUX have the moral equivalent of the TIOCSTI ioctl() call
(simulate tty input)? If so, that could be used by (a)getty to
stuff the login name back after reading it, so that /bin/login can
pick it up from STDIN.
[mod: Yes. -- REW]
Wietse
From mail@mail.redhat.com Tue Sep 1 18:29:29 1998
Received: (qmail 12653 invoked from network); 1 Sep 1998 22:28:49 -0000
Received: from mail.redhat.com (199.183.24.239)
by mail2.redhat.com with SMTP; 1 Sep 1998 22:28:49 -0000
Received: from rosie.BitWizard.nl (root@3dyn229.delft.casema.net
[195.96.104.229])
by mail.redhat.com (8.8.7/8.8.7) with ESMTP id SAA22416
for <linux-security@redhat.com>; Tue, 1 Sep 1998 18:29:29 -0400
Received: from cave.BitWizard.nl (wolff@cave.BitWizard.nl [130.161.127.248])
by rosie.BitWizard.nl (8.8.5/8.8.5) with ESMTP id AAA17671
for <linux-security@redhat.com>; Wed, 2 Sep 1998 00:28:28 +0200
Received: (from wolff@localhost)
by cave.BitWizard.nl (8.8.8/8.8.8) id AAA03338
for linux-security@redhat.com; Wed, 2 Sep 1998 00:28:25 +0200
Received: from dutepp0.et.tudelft.nl
by rosie.BitWizard.nl (fetchmail-4.2.9 POP3 run by wolff)
Approved: R.E.Wolff@BitWizard.nl
for <wolff@localhost> (single-drop); Tue Sep 1 08:50:38 1998
Received: from ferryman.ocn.nl (root@ferryman.ocn.nl [193.78.195.1])
by dutepp0.et.tudelft.nl (8.8.8/8.8.8/CARDIT) with SMTP id EAA23808
for <wolff@dutepp0.et.tudelft.nl>; Tue, 1 Sep 1998 04:00:22 +0200 (MET
DST)
Received: from mail2.redhat.com (mail2.redhat.com [199.183.24.247]) by
ferryman.ocn.nl (8.6.13/8.6.9) with SMTP id DAA11271 for
<r.e.wolff@BitWizard.nl>; Tue, 1 Sep 1998 03:47:38 +0200
Received: (qmail 10595 invoked by uid 501); 1 Sep 1998 01:48:49 -0000
Received: (qmail 20687 invoked from network); 31 Aug 1998 20:51:31 -0000
Received: from mail.redhat.com (199.183.24.239)
by mail2.redhat.com with SMTP; 31 Aug 1998 20:51:31 -0000
Received: from jvelders.tn.tudelft.nl (root@jvelders.tn.tudelft.nl
[130.161.48.129])
by mail.redhat.com (8.8.7/8.8.7) with ESMTP id QAA16400;
Mon, 31 Aug 1998 16:52:17 -0400
Received: from localhost (jpv@localhost [127.0.0.1]) by jvelders.tn.tudelft.nl
(8.8.7/8.8.3) with SMTP id WAA05802; Mon, 31 Aug 1998 22:50:13 +0200
Date: Mon, 31 Aug 1998 22:50:11 +0200 (CEST)
From: Jan-Philip Velders <jpv@jvelders.tn.tudelft.nl>
X-Sender: jpv@jp-gp.vsi.nl
Reply-To: Jan-Philip Velders <jpv@jvelders.tn.tudelft.nl>
To: redhat-announce-list@redhat.com, linux-security@redhat.com
Subject: StackGuard-protected Linux and a New StackGuard Compiler (fwd)
Message-ID: <Pine.LNX.3.96.980831224827.5795B-100000@jp-gp.vsi.nl>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-moderate: yes
Hi all,
perhaps this is something of interest to all of us RedHat users ?
Later Crispin added:
| In response to many comments pointing out a glaring omission (grovel
| grovel) the SOURCE CODE for StackGuard is now on line, both as a complete
| tar ball and as a source patch to gcc 2.7.2.3, available here:
|
| http://www.cse.ogi.edu/DISC/projects/immunix/StackGuard/compiler.html
Greetings,
Jan-Philip Velders
<jpv@jvelders.tn.tudelft.nl>
_---------- Forwarded message ----------
_Date: Thu, 27 Aug 1998 22:26:54 -0700
_From: Crispin Cowan <crispin@CSE.OGI.EDU>
_To: BUGTRAQ@NETSPACE.ORG
_Subject: StackGuard-protected Linux and a New StackGuard Compiler
StackGuard is a compiler to protect programs against stack smashing
attacks. When stack smashing exploits are deployed against
StackGuard-protected programs, the protected program halts and logs the
attack attempt in syslog, rather than yield control to the attacker''s
code.
This post is to announce a new release of StackGuard, providing better
performance, and support for shared libraries. We have re-compiled the
entire set of programs and libraries provided in the Red Hat 5.1
distribution. In addition to providing the compiler, we are also
providing these protected programs and libraries in the form of binary
RPMs on our server:
http://www.cse.ogi.edu/DISC/projects/immunix/StackGuard/
These 526 RPMs are drop-in replacements for the RPMs provided by
Red Hat, except that stack smashing is no longer an alternative means
of getting into the box when you forget the root password :-) There are
a few other errata covered in the README.SG file.
Note that StackGuard-protected programs are inter-operable with
un-protected shared libraries, and StackGuard-protected libraries are
inter-operable with un-protected programs. This is a mixed blessing:
on one hand, it means that if you are concerned with glibc
vulnerabilities, you need only install the StackGuard-protected glibc
RPM. On the other hand, if you are concerned with all shared library
vulnerabilities, the unprotected libraries will still function with
your new StackGuard-protected programs, and so you must be careful to
install all libraries used by all programs that you wish to protect.
The source code used for the re-build is the source code provided by
ftp.redhat.com as of July 13, 1998. There were a small number of
changes that we had to make to the source to successfully re-build it,
documented in README.SG.
The StackGuard compiler itself is an enhancement to gcc 2.7.2.3, and
for the most part is a drop-in replacement for gcc. The one major
caveat is that StackGuard protection must be turned OFF to build the
Linux kernel. This is because the kernel knows what a function
activation record looks like to do context switching, and StackGuard
changes the format of an activation record to do the integrity check.
The support for shared libraries and the enhanced performance are
enabled by an enhancement originally proposed by der Mouse, to the
effect that a null next to a value is not possible to overflow
undetected, because string ops terminate on null. However, some string
operations actually do copy through nulls, such as gets(). We have
enhanced der Mouse''s technique so that the integrity word is a
combination of Null, CR, LF, and -1, which should cover the range of
termination symbols for C string operations.
A paper describing StackGuard appeared at the 1998 USENIX Security
Conference. The paper is also on our web page.
Naturally, we would appreciate feedback on either security or
functionality problems with any of the RPMs that we have provided.
Crispin
-----
Crispin Cowan, Research Assistant Professor of Computer Science, OGI
StackGuard: protect your software against Stack Smashing Attack
http://www.cse.ogi.edu/DISC/projects/immunix/StackGuard/
Support Justice: Boycott Windows 98