Re: Applikations-Passwoerter im Speicher

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Fri, 17 Dec 2004 12:23:27 +0100 (CET)

Peter Ross <Peter.Ross(at)alumni.tu-berlin.de> wrote:
> Karsten W. Rohrbach wrote:
> > Peter Ross(Peter.Ross(at)alumni.tu-berlin.de)@2004.12.09 11:43:01 +0000:
> > > stellt dich mir die Frage, wie Programme, die waehrend ihrer
> > > Ausfuehrung ein Passwort wiederverwenden, mit diesen umgehen.
> >
> > Wenn ich mich richtig erinnere, dann kam dieses Thema bei GPG vor
> > laengerer Zeit schon auf und wurde geloest, indem man das Binary SUID
> > machte (optional), und wenn das Binary dann SUID laeuft (Runtime Check)
> > die Seiten im Speicher gelockt werden. Damit gelangen sie nicht in den
> > Swap.
>
> Auch wenn nicht im Swap - ist es nicht trotzdem ueber die Memory devices
> des OS lesbar (und so fuer root)?
>
> Bei procfs ausserdem noch dort?

Ja, natürlich. Ob es in den Swap gelangen kann oder nicht,
ist gehupft wie gesprungen, und ich würde einem lausigen
Programm wie GPG deswegen keinesfalls ein SUID-Bit geben.
Wer root-Rechte hat, kann auch direkt in das laufende Pro-
zeß-Image reingucken. Wer root-Rechte hat, kann auch das
Paßwort direkt bei der Eingabe auf dem TTY/VTY mitlauschen.
Wer root-Rechte hat, kann (vorübergehend) einen Debugger an
den Prozeß attachen und die Variable auslesen. Wer root-
Rechte hat, kann einen libc-Wrapper installieren, der alle
I/O-Vorgänge, die nach Paßwörtern aussehen, mitloggt.
Es gibt tausend Möglichkeiten, und auch der Secure-Level
bewahrt Dich nicht vor allen.

Fakt ist, daß Du den Menschen, die auf einem Rechner root-
Rechte haben, wohl oder übel vertrauen mußt. Dies ist ein
Grund, warum ich meinen privaten PGP-Schlüssel niemals auf
einem Rechner verwenden würde, auf dem es außer mir noch
andere Admins gibt. Ein Bekannter von mir ist da völlig
konsequent: Er hat seinen PGP-Schlüssel ausschließlich auf
seinem alten Atari-XT (ohne Netz) gespeichert. Zum Ver-
schlüsseln oder Signieren werden die Dateien per Floppy
übertragen. Etwas umständlich, aber ziemlich sicher.

Manche Betriebssysteme (z.B. Solaris) unterstützen inzwi-
schen eine sehr feingranulierte Rechtevergabe, wo man je-
dem Benutzer (inkl. root) bestimmte Rechte vergeben und
auch entziehen kann. Allerdings kostete es Zeit und Er-
fahrung, dieses sinnvoll zu konfigurieren, und welcher
Admin beschneidet schon gerne seine eigenen Rechte? Das
passiert wohl höchstens, wenn Firmen-Policies in beson-
ders sensitiven Umgebungen (z.B. Banken, Behörden) dies
zwingend vorschreiben. FreeBSD ist von solchen Möglich-
keiten leider noch meilenweit entfernt.

Fazit: Vertraue root, oder tu's halt nicht, aber sei Dir
im Klaren, daß root im Prinzip alles sehen kann.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
'Instead of asking why a piece of software is using "1970s technology,"
start asking why software is ignoring 30 years of accumulated wisdom.'
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-chat" in the body of the message
Received on Fri 17 Dec 2004 - 12:23:57 CET

search this site