fedora-startqa

Erik LaBianca erik at totalcirculation.com
Fri Apr 2 17:29:29 UTC 2004


> Two problems:
> 1) In batch mode, the human element is missing.  If it is insecure,
> there needs to be a way to disable mach building from the commandline.
> 
> 2) If the script is aimed at newbies, there should be a warning of the
> potential dangers of building the source package and what can be done
to
> reduce that risk.  In qa-assistant's checklist, I tried to create a
list
> of High Security items that should be evaluate before the reviewer
> started doing anything else.  Maybe a list like that (minus things
that
> are checked automatically) spit out to the screen before viewing the
> spec file?
> 

The whole point of building from within mach is that it IS secure. If it
isn't, it is a bug in the linux chroot system or mach and must be fixed
there. Mach builds are also run as a user, so in order to destroy a
system the SRPM would have to be able to both break a chroot jail and
have a local root exploit applicable to the reviewers currently running
kernel.

In my opinion, we can assume that a build from within mach is secure.
Obviously, you should be doing QA under a dedicated user account as
well.

> I'll give this a try too.  I think, though, what I want is for the
> script to automatically make a decision that an SRPM with a valid GPG
> does not have to have it's md5sum checked.
> 
> Slightly more paranoid is to make the following checks:
> 1] GPG signature of SRPM
> 2] Is the md5sum of the relevant SRPM in the md5sum file?
> 3] GPG signature of md5sum file
> 4] Did the same key sign both files?
> 
> If all pass, then pass the test.
> If 1] Pass and 2] Is fail, pass the test.
> All other cases fail.

I don't see the point in this. All it adds is protection against the
unlikely case that there is a bug in the MD5 checksum code or crypto
routines included in GPG. These tools are designed and tested to be
reliable, second guessing them is a waste of time. If you know enough
about crypto to prove its necessary, I suggest applying that knowledge
to improving those tools.

You still haven't necessarily verified the gpg signature against a web
of trust, which is FAR more likely to be the source of a problem. I'm
not really involved with any of these (webs of trust), but when we
convert the script over to checking RPM sigs using GPG (imminent) we can
indicate whether or not the signature that passed was a "trusted" one in
your review accounts gpg keyring.

In my opinion, the only reason to deal with MD5sums at all is they are
an easy "look at the screen and compare them" method of knowing the
reviewer's reviewed the same SRPM that the author posted. Otherwise, the
author could change the SRPM (but not the filename), resign it, and two
reviewers would end up reviewing different packages and never know it.

MD5Sums obviously provide an easy method of checking download integrity
as well.

Thanks for your input!

--erik






More information about the fedora-devel-list mailing list