workflows.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Theodore Y. Ts'o" <tytso@mit.edu>
To: Bjorn Helgaas <helgaas@kernel.org>, Eric Wong <e@80x24.org>,
	Han-Wen Nienhuys <hanwen@google.com>,
	workflows@vger.kernel.org
Subject: Re: Lyon meeting notes
Date: Fri, 1 Nov 2019 17:30:36 -0400	[thread overview]
Message-ID: <20191101213036.GA10609@mit.edu> (raw)
In-Reply-To: <20191101200755.h7gyt63rgwyxuqbd@pure.paranoia.local>

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.

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.

	      	    	 	     	- Ted

  parent reply	other threads:[~2019-11-01 21:30 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-29 15:41 Lyon meeting notes 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 [this message]
2019-11-02  1:17         ` Eric Wong
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=20191101213036.GA10609@mit.edu \
    --to=tytso@mit.edu \
    --cc=e@80x24.org \
    --cc=hanwen@google.com \
    --cc=helgaas@kernel.org \
    --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;
as well as URLs for NNTP newsgroup(s).