View Single Post
Posts: 1,341 | Thanked: 708 times | Joined on Feb 2010
#44
Originally Posted by Jaffa View Post
With Extras we know who uploaded it (not to the extent of a GPG signature, but at least to the extent of a username/password or SSH key) through the user of authenticated Extras Upload Assistant or scp/dput with pre-registered SSH key.

Not in the same league, of course, but almost certainly Good Enough (for now).
No it is not good enough, because people install packages also just by wget'ing them and installing with dpkg -i.
MITM-attack for example on open WLAN-accesspoints is really easy. Also many kind of redirections and tricks can be made so although the user thinks he is getting something from some netsite with Firefox/Fennec/microB/wget/lynx, (s)he instead gets the file attacker has changed.

Also, if some package has been installed now from a repository, and it has checked with Release.gpg that it is in fact that very same package what repository maintainers have checked for.

If there is a compromise in the system and you would like to know what files have been changed, in RPM-based system you can just check authenticity and integrity of any installed package with "rpm -V", because there still is the package's GPG-signature available locally, and if you want to be real sure, you check the filesystem externally using 100% trusted non tampered tools.

With DEB-system, once some package is updated, it is much more difficult to check that files from the package you have installed are non-tampered. The Release.gpg file supports only the recent version of that package in the repository.

IN RPM-based system, lets assume you think wget has been tampered when your friend's friend had a 5 minute time root access when you were visiting toilet. Let's assume, in the repository wget has a new version already. But you want to know if wget was tampered on your local system.
You just run command: rpm -V wget
It will check wget-package against all the md5sums and against the GPG-signature which was embedded in the package when you installed it.