From: David Wagner <daw@cs.berkeley.edu>
To: rwatson@FreeBSD.org (Robert N. M. Watson)
Cc: oliver.pntr@gmail.com (Oliver Pinter),
freebsd-hackers@FreeBSD.org, linux-kernel@vger.kernel.org,
daw@cs.berkeley.edu (David Wagner)
Subject: Re: Security: information leaks in /proc enable keystroke recovery
Date: Sun, 16 Aug 2009 17:58:36 -0700 (PDT) [thread overview]
Message-ID: <200908170058.n7H0wahu005383@taverner.cs.berkeley.edu> (raw)
In-Reply-To: <7F29E9E1-AB92-45E3-9DF3-C8455533BA19@FreeBSD.org> from "Robert N. M. Watson" at Aug 17, 2009 12:25:07 AM
I still think my definitions of "covert channel" vs "side channel"
better reflect accepted usage these days, but whatever. I don't
have any great desire to debate the definitions. That doesn't seem
like a good use of everyone's time.
I was trying to define some shorthand to more concisely make my point.
Since it appears my preferred shorthand turned out to be a barrier to
communication, rather than an aid, I'll try to make my point again, this
time spelling it out without using the problematic shorthand. I care
more about the ultimate point than the language we use to communicate it.
My broader point is this:
I accept your argument that there is no point trying to defend
against deliberate communication of information between two cooperating
processes via some sneaky channel; there is no hope of stopping that
in general-purpose commodity OS's. If process X and Y are both
colluding to send information from X to Y, they will succeed, no
matter how hard we try. We have no hope of closing all such channels,
for general-purpose commodity OS's (like FreeBSD or Linux).
However I do not accept that this argument means we should throw up
our hands and ignore cases where the kernel allows malicious process
Y to spy on process X, against X's will. If the kernel has a leak that
lets process Y eavesdrop on keystrokes typed into process X, that's
arguably worth fixing. Trying to prevent that is not clearly hopeless.
There is a significant difference in threat model between
"both X and Y are malicious and colluding with each other to
facilitate some joint purpose shared by both X and Y"
vs
"Y is malicious and is attempting to subvert the security of
process X, against X's will".
If the designers deliberately intended to allow process Y to snoop on
the ESP and EIP of process X, even when there is no relationship between
X and Y (e.g., they don't have the same uid, and Y isn't root), well,
I would claim that was a design error. Facilitating keystroke recovery
does not seem like a good design goal.
It's possible that the impact could be broader than discussed in the
Usenix Security paper. Imagine if process X is doing crypto, say an RSA
decryption, and process Y is running on the same machine and is malicious.
If process Y is allowed to observe the EIP of process X, then process Y
may be able to observe which path process X has taken through the code.
In some cases, such as a naive implementation of RSA decryption, this
may reveal X's private key.
Leaking EIP and ESP to every other user on the same system strikes me
as pretty dubious.
next prev parent reply other threads:[~2009-08-17 0:58 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-15 22:21 David Wagner
2009-08-15 23:25 ` Oliver Pinter
2009-08-16 20:06 ` Robert Watson
2009-08-16 21:09 ` David Wagner
2009-08-16 23:25 ` Robert N. M. Watson
2009-08-17 0:58 ` David Wagner [this message]
2009-08-17 10:11 ` Robert Watson
2009-08-19 1:57 ` Dag-Erling Smørgrav
2009-08-16 0:33 ` Theodore Tso
2009-08-16 0:44 ` David Wagner
2009-08-16 1:33 ` Theodore Tso
2009-08-16 8:18 ` david
2009-08-17 0:31 ` David Wagner
2009-08-17 2:22 ` Theodore Tso
2009-08-17 2:45 ` James Morris
2009-08-17 3:16 ` Arjan van de Ven
2009-08-21 14:02 ` Pavel Machek
2009-08-22 17:22 ` Henrique de Moraes Holschuh
2009-08-17 1:39 ` Amerigo Wang
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=200908170058.n7H0wahu005383@taverner.cs.berkeley.edu \
--to=daw@cs.berkeley.edu \
--cc=freebsd-hackers@FreeBSD.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oliver.pntr@gmail.com \
--cc=rwatson@FreeBSD.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
all inboxes | Powered by JetHome®