All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bennett Todd <bet@rahul.net>
To: Jan Petranek <jan@petranek.de>
Cc: selinux@tycho.nsa.gov
Subject: Re: Goal / Danger: Attack by malicious root
Date: Mon, 15 Jan 2001 11:22:53 -0500	[thread overview]
Message-ID: <20010115112253.H8565@rahul.net> (raw)
In-Reply-To: <01011516091701.13938@linux16>; from jan@petranek.de on Mon, Jan 15, 2001 at 04:08:34PM +0100

[-- Attachment #1: Type: text/plain, Size: 2131 bytes --]

The problem you describe is right in the heart of the design
principles of trusted computing systems.

Basically, the only way you can trust a computer to use it for
sensitive purposes (like presenting your reusable authentication
credentials to it) is if you _know_ that the code it's running
hasn't been tampered with. If you want to use a system that's out in
a public lab where people can whack on it, your only real hope is to
see if you can force it to boot from some media you take with you
(or, depending on your assumptions and your local network
architecture, possibly do a network boot from a secured server ---
that latter was the Athena approach). Maybe take a CD-ROM with a
known-good OS along with you.

The problem is that if someone has complete control over a system,
no OS feature can possibly save you, since the attacker is in a
position to completely revise or replace the OS.

Now _if_ you had a situation where the machine was sufficiently
thoroughly physically secured, and the software running on it
sufficiently tightly configured, that you were confident that the OS
wasn't tampered with, then the problem would reduce to a real oldie,
the trusted path. The typical fix for that is to have the OS
directly support a special hot-key combo that is absolutely
guaranteed to terminate all processes associated with that console,
and start a new login process, guaranteed to come from the real OS
and not any trojan left running by the last person on that console.
That would be easy to add to selinux. In fact, I thought I'd
remembered seeing something along those lines, but when I just
checked the todo.html I didn't find 'em, maybe my brain is playing
nasty tricks on me.

They do mention integrating the file mandatory access controls with
file encryption, so that part of your question is on the todo list,
but trusted path I do not see. Perhaps it's too trivial. Certainly
it wouldn't be too hard to rig a script around lsof to blow away
anything that has an open file descriptor on the console device, and
let a getty get respawned by init, and wire that to the crtlaltdel
hook in inittab.

-Bennett

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

  parent reply	other threads:[~2001-01-15 16:23 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-15 15:08 Goal / Danger: Attack by malicious root Jan Petranek
2001-01-15 13:02 ` Robert Hartley
2001-01-15 16:22 ` Bennett Todd [this message]
2001-01-15 16:52   ` Andi Kleen
2001-01-15 16:45 ` Preston L. Bannister
2001-01-15 17:53 ` Johnathon Day
2001-01-15 19:19   ` Bennett Todd
2001-01-15 21:18     ` Johnathon Day
2001-01-16  9:22       ` Matthew Pemble
2001-01-16 12:53 ` Stephen Smalley
  -- strict thread matches above, loose matches on Subject: below --
2001-01-16 12:28 Roger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20010115112253.H8565@rahul.net \
    --to=bet@rahul.net \
    --cc=jan@petranek.de \
    --cc=selinux@tycho.nsa.gov \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.