oss-sec mailing list archives

Re: upstream source code authenticity checking


From: "Eric H. Christensen" <sparks () redhat com>
Date: Wed, 24 Apr 2013 22:19:15 -0400

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

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?

- --Eric

- --------------------------------------------------
Eric "Sparks" Christensen
Red Hat, Inc - Product Security Team

sparks () redhat com - sparks () fedoraproject org
097C 82C3 52DF C64A 50C2  E3A3 8076 ABDE 024B B3D1
- --------------------------------------------------

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.13 (GNU/Linux)

iQGcBAEBCgAGBQJReJKfAAoJEB/kgVGp2CYvKFUL/RP5T8bQd6gnZiduldsgBPLd
07k/7VNB5shjtaaweKRRBahJ780ELusJ5bYSKsJxFkPkWBu+JR3A/ilz0VINMdR8
jhPXpXUiBC5VsK3DIBe+MgQkXcnRBPZ751X1ENAEyf3qIKK54Wr2+UgMcLg9Wf3U
FPemO3bcW2A6kEfyAvt1yrjatuR2bTg8xjDACE07ly7JodqwlpFrYC9zgS331SF0
y+SRdV+vhCcBQ10AE4Ho81xfHpTvfBT1Odyzn5KYgFRePYMmLgCiUHwaJ9nb+nJR
0pcZmj40ZSK/DTWuO8bgp/0xoNRKqFmL5Imn1may4HTmFuc02kExE6b2+MKxKO6H
FhJVnPRrXAV2nxcjRNG6loUYA49wSUtfrxXelMX2KtYUBEZccs6P5VtA4sBFOAqv
SYk9pJ+kyzCjHzcXpnQdEixJD/RnjP0FukcY5W59V/3hvJVD0lyi5aLmHS7D0dIb
RtoqU4fPu++x7MIMkdgxlLZQYY5RzVwSuYKx8Ynftw==
=WovK
-----END PGP SIGNATURE-----


Current thread: