From: daw@cs.berkeley.edu (David Wagner)
To: linux-kernel@vger.kernel.org
Subject: Re: AppArmor FAQ
Date: Thu, 19 Apr 2007 20:08:33 +0000 (UTC) [thread overview]
Message-ID: <f08i81$a11$1@taverner.cs.berkeley.edu> (raw)
In-Reply-To: 1177002858.27654.119.camel@moss-spartans.epoch.ncsc.mil
Stephen Smalley wrote:
>Confinement in its traditional sense (e.g. the 1973 Lampson paper, ACM
>Vol 16 No 10) means information flow control, which you have agreed
>AppArmor does not and cannot provide.
Right, that's how I understand it, too.
However, I think some more caveats are in order. In all honesty,
I don't think SELinux solves Lampson's problem, either.
It is useful to distinguish between "bit-confinement" (confining the
flow of information, a la Lampson) vs "authority-confinement" (confining
the flow of privileges and the ability of the untrusted app to cause
side effects on the rest of the system).
No Linux system provides bit-confinement, if the confined app is
malicious. AppArmor does not provide bit-confinement. Neither does
SELinux. SELinux can stop some kinds of accidental leakage of secrets,
but it cannot prevent deliberate attempts to leak the secrets that are
known to malicious apps. The reason is that, in every system under
consideration, it is easy for a malicious app to leak any secrets it might
have to the outside world by using covert channels (e.g., wall-banging).
In practical terms, Lampson's bit-confinement problem is just not
solvable. Oh well, so it goes.
A good jail needs to provide authority-confinement, but thankfully,
it doesn't need to provide bit-confinement. I don't know enough about
AppArmor to know whether it is able to do a good job of providing
authority-confinement. If it cannot, then it deserves criticism on
those grounds.
Often the pragmatic solution to the covert channel problem is to ensure
that untrusted apps are never given access to critical secrets in the
first place. They can't leak something they don't know. This solves the
confidentiality problem by avoiding any attempt to tackle the unsolvable
bit-confinement problem.
Note that the problem of building a good jail is a little different from
the information flow control problem.
next prev parent reply other threads:[~2007-04-19 20:15 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-16 21:33 AppArmor FAQ John Johansen
2007-04-17 0:20 ` James Morris
2007-04-17 15:03 ` David Safford
2007-04-17 16:00 ` Karl MacMillan
2007-04-17 18:05 ` Andi Kleen
2007-04-17 17:47 ` James Morris
2007-04-17 18:10 ` Andi Kleen
2007-04-17 20:19 ` Casey Schaufler
2007-04-17 20:50 ` James Morris
2007-04-17 21:16 ` Andi Kleen
2007-04-17 21:41 ` Karl MacMillan
2007-04-17 21:51 ` David Wagner
2007-04-17 22:17 ` Alan Cox
2007-04-18 1:34 ` James Morris
2007-04-18 1:55 ` David Wagner
2007-04-18 2:20 ` James Morris
2007-04-18 2:31 ` David Wagner
2007-04-17 22:12 ` Andi Kleen
2007-04-17 22:29 ` Karl MacMillan
2007-04-17 21:58 ` Alan Cox
2007-04-18 13:45 ` James Morris
2007-04-18 14:33 ` Shaya Potter
2007-04-18 19:41 ` Crispin Cowan
2007-04-18 20:03 ` Shaya Potter
2007-04-18 21:14 ` James Morris
2007-04-19 16:35 ` David Wagner
2007-04-19 17:39 ` Stephen Smalley
2007-04-19 20:47 ` David Wagner
2007-04-24 0:58 ` Crispin Cowan
2007-04-24 2:03 ` Joshua Brindle
2007-04-25 1:03 ` Joshua Brindle
2007-04-19 17:14 ` Stephen Smalley
2007-04-19 20:08 ` David Wagner [this message]
2007-04-19 21:03 ` Stephen Smalley
2007-04-19 21:08 ` James Morris
2007-06-09 21:01 ` Pavel Machek
2007-06-09 21:28 ` david
2007-06-09 23:02 ` Pavel Machek
2007-06-10 0:06 ` david
2007-04-18 20:15 ` David Lang
2007-04-19 17:27 ` Stephen Smalley
2007-04-19 18:19 ` Bernd Eckenfels
2007-04-19 20:19 ` James Morris
2007-04-17 21:48 ` Karl MacMillan
2007-04-17 23:12 ` Casey Schaufler
2007-04-17 22:26 ` Karl MacMillan
2007-04-19 17:46 ` Stephen Smalley
2007-04-20 18:45 ` David Lang
2007-04-20 19:23 ` Karl MacMillan
2007-04-17 23:09 ` Crispin Cowan
2007-04-17 23:20 ` Karl MacMillan
2007-04-17 23:53 ` David Wagner
2007-04-18 1:56 ` James Morris
2007-04-18 2:08 ` David Wagner
2007-06-09 19:38 ` Pavel Machek
2007-04-19 17:56 ` Stephen Smalley
2007-04-19 20:54 ` David Wagner
2007-04-19 21:17 ` Stephen Smalley
2007-04-17 21:55 ` Karl MacMillan
2007-04-17 22:55 ` Crispin Cowan
2007-04-17 23:13 ` Karl MacMillan
2007-06-09 14:11 ` Pavel Machek
2007-04-18 7:21 ` Rob Meijer
2007-04-18 7:08 ` David Lang
2007-04-18 13:33 ` James Morris
2007-04-18 12:15 ` Joshua Brindle
2007-04-18 13:31 ` Casey Schaufler
2007-04-18 14:05 ` Rob Meijer
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='f08i81$a11$1@taverner.cs.berkeley.edu' \
--to=daw@cs.berkeley.edu \
--cc=daw-usenet@taverner.cs.berkeley.edu \
--cc=linux-kernel@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox