From: linux@horizon.com
To: git@vger.kernel.org, torvalds@osdl.org
Subject: Re: [zooko@zooko.com: [Revctrl] colliding md5 hashes of human-meaningful
Date: 13 Jun 2005 19:50:38 -0000 [thread overview]
Message-ID: <20050613195038.9191.qmail@science.horizon.com> (raw)
> So the problem is totally different from the way git uses a hash. In the
> git model, an attacker by definition cannot control both versions of a
> file, since if he controls just _one_ version, he doesn't need to do the
> attack in the first place!
You are insufficiently paranoid, Grasshopper.
The basic attack goes like this:
- I construct two .c files with identical hashes. One is something
useful; perhaps a device driver for some piece of hardware that my
desired target has. The other is similar, but includes a remote
root explot.
(With an n-bit hash and an automated way to make harmless changes
to source files, I can generate 2^(n/2) variants of each and expect to
get a match, even in the absence of a better attack.)
- I submit the first one to the Linux kernel. It's valid and gets
merged.
- A kernel release, including the "interesting" driver, gets made and
sprinkled with holy penguin pee. Signatures, hashes, and all that.
- Through various means (possibly just running a kernel download mirror,
or possibly by splicing into my target's upstream Internet connection),
I substitute the malware file for the real source code.
- My target verifies all the hashes and signatures, decides that this "Linus"
person signing it is trustworthy, and compiles and installs the kernel.
- I walk in my back door and do suitable rude things.
The point is, it *is* possible for an attacker to control both versions of
a file. The reason he needs to do the attack is that one version looks
legitimate and the other includes a Nasty Surprise.
next reply other threads:[~2005-06-13 19:50 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-13 19:50 linux [this message]
2005-06-13 20:08 ` [zooko@zooko.com: [Revctrl] colliding md5 hashes of human-meaningful Linus Torvalds
2005-06-13 20:17 ` Jason McMullan
2005-06-13 21:03 ` linux
2005-06-13 21:39 ` Linus Torvalds
2005-06-13 23:03 ` linux
2005-06-14 1:49 ` Benjamin Herrenschmidt
2005-06-13 20:46 ` Junio C Hamano
2005-06-13 20:52 ` Radoslaw Szkodzinski
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=20050613195038.9191.qmail@science.horizon.com \
--to=linux@horizon.com \
--cc=git@vger.kernel.org \
--cc=torvalds@osdl.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;
as well as URLs for NNTP newsgroup(s).