oss-sec mailing list archives

Re: upstream source code authenticity checking


From: nicolas vigier <boklm () mars-attacks org>
Date: Thu, 25 Apr 2013 16:03:15 +0200

On Wed, 24 Apr 2013, Eric H. Christensen wrote:

On Sun, Apr 21, 2013 at 12:39:39AM +0400, Solar Designer wrote:
i just found this recent blog post by Allan McRae of Arch Linux:

http://allanmcrae.com/2012/04/how-secure-is-the-source-code/

This is a great article and I really appreciate the work that went into the research.

I think that placing both "MD5 checksum provided on same site as
download" and "PGP signature, key difficult to verify" in the same
"yellow" category is inconvenient for us.  "MD5 checksum provided on
same site as download" only helps verify downloads from mirrors against
the master site, whereas "PGP signature, key difficult to verify"
achieves a lot more - once a distro is already including the package
(and has already taken the risk of it having been tampered with), then
verifying further updates to the package becomes almost as reliable as
it would have been with proper signing (with a "readily verifiable" key).
So we need four categories, or simply "MD5 checksum provided on same
site as download" should be in "red", not in "yellow".

This is a good discussion to have.  I've recently started working on "best practices" articles at Red Hat and feel 
this would make an excellent article on how we can all improve the security of our source code that inevitably gets 
pushed into the various distributions.  

What is really the best, most proper way of desiminating releases?  I really don't like the use of MD5 for checksums 
(I'd prefer something out of the SHA-2 or SHA-3 family of hashing algorithms) and I really *do* like the use of PGP 
for signing the code.  I do foresee some practices within the use of PGP that might not be great, though.

So what is the best way of authenticating the source code?

The good thing about PGP signed tarballs is that an automated check
could be integrated in package build, with some standard macros or
script to make it easy to check signature from a specific key. If it's
easy and does not cost time then more packagers will do it.


Current thread: