From: Eric Wong <e@80x24.org>
To: "Theodore Y. Ts'o" <tytso@mit.edu>
Cc: Bjorn Helgaas <helgaas@kernel.org>,
Han-Wen Nienhuys <hanwen@google.com>,
workflows@vger.kernel.org
Subject: Re: Lyon meeting notes
Date: Sat, 2 Nov 2019 01:17:56 +0000 [thread overview]
Message-ID: <20191102011756.GA14539@dcvr> (raw)
In-Reply-To: <20191101213036.GA10609@mit.edu>
"Theodore Y. Ts'o" <tytso@mit.edu> wrote:
> On Fri, Nov 01, 2019 at 04:07:55PM -0400, Konstantin Ryabitsev wrote:
> > The argument was that attempts to sneak in malicious code while
> > pretending to be someone else would be quickly discovered, because any
> > significant code contribution requires back-and-forth and if the "From"
> > address is spoofed, then the real developer would quickly point out that
> > they are not the actual author of the code.
> >
> > My counter-argument is that history proves that we can't trust humans to
> > recognize maliciously misspelled domains. If you receive a submission
> > like this:
> >
> > From: Konstantin Ryabitsev <konstantin@linuxfoudnation.org>
> >
> > you will need to pay very close attention to that "d" and "n" to realize
> > that it didn't actually come from me.
>
> The other caution I'd raise here about why signing individual commits
> might not be the panacea we might hope it would be is that the vast
> majority of kernel developers don't today have cryptographic
> identities, and we are constantly welcoming new developers to kernel
> development.
>
> Even if we did have a way to get new ED25519 keys signed for all of
> these new developers, knowing their identity says nothing about how
> much they are (or should be) trusted.
>
> Consider that any sufficiently well-resourced actor who really wants
> to sneak in malicious code, especially when we consider how much
> zero-day exploits are worth on the open market, will be quite willing
> to establish a "legend" for a developer. The "developer" might submit
> a dozen cleanup patches, all of which are good, and genuninely improve
> the kernel --- and it will be the 13th or the 31st submit that will
> have the malicious change hidden in it. The fact that it is signed by
> a key that had previously signed 30 patches says nothing about how
> good the 31st patch will be.
Agreed. A well-resourced adversary could also coerce a
well-meaning developer into signing a malicious change. Perhaps
I'm paranoid, but that's a really scary thing if people rely on
identities and reputation too much. I've always cautioned users
against trusting me for that reason (that and I'm error-prone :x)
> For bonus style points, the patch might have something which claims to
> be the application of a Coccinelle semantic patch --- and maybe in the
> V1 and V2 version of the patch series, it was in in fact a Coccinelle
> patch, but in the v3 patch, that's where malicious code was slipped
> in, and since V2 had received a Reviewed-by, and it was supposedly an
> automatically generated Coccinelle patch, no one took a close look and
> noticed that the v3 version of the patch was different from the v2
> version....
>
> There are certainly ways we could try to make this sort of thing
> harder; we can have tools that verify that the Coccinelle script
> mentioned in the commit description actually matches with what the
> commit changes. And we could also have tools which flags deltas
> between the Vn and Vn+1 version of a patch, especially after the Vn
> version of the patch has gotten a reviewed-by. It's just that none of
> these fixes have anything to do with digital signed commits.
Some of that could be automated, yes, but maintainers must still
remain vigilant.
A lot of it could be a culture prioritizing feature development
over long-term maintenance and review; so improving the
eyes-to-code ratio is needed. That's a deeper issue which
affects every project, unfortunately.
next prev parent reply other threads:[~2019-11-02 1:17 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-29 15:41 Han-Wen Nienhuys
2019-10-29 22:26 ` Eric Wong
2019-10-29 23:13 ` Bjorn Helgaas
2019-11-01 20:07 ` Konstantin Ryabitsev
2019-11-01 20:46 ` Geert Uytterhoeven
2019-11-01 21:30 ` Theodore Y. Ts'o
2019-11-02 1:17 ` Eric Wong [this message]
2019-11-01 21:34 ` Dmitry Vyukov
2019-10-29 22:35 ` Daniel Axtens
2019-11-01 17:29 ` Konstantin Ryabitsev
2019-11-01 17:35 ` Dmitry Vyukov
2019-11-02 11:46 ` Steven Rostedt
2019-10-30 9:21 ` Jonathan Corbet
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=20191102011756.GA14539@dcvr \
--to=e@80x24.org \
--cc=hanwen@google.com \
--cc=helgaas@kernel.org \
--cc=tytso@mit.edu \
--cc=workflows@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