1) Regarding prevention of "no updates available" attack -- I neither
see how signing of repomd.xml could solve it, nor I see how this is a
practical problem for current Qubes users (who should be reading Qubes
Security bulletins anyway, and verify the proper packages got installed
anyway). HTTPS which might make it a bit harder for the MITM "no updates
attacks" is not a good solution because it would bump CPU requirements
for our hosted updates server, which would translate to higher costs.
Again, because I consider this problem not very practical one, I don't
think we will switch to HTTPS for our yum server anytime soon.
In the future, when we will be offering remote system management
infrastructure for Qubes OS, such attacks would be become practically
important.
2) Today, a more important problem is a possibility for the attacker who
either compromised the updates server or is doing MITM on the
connection, to attack the network-facing and metdata-processing code of
the package manager (yum, apt, you name it). The only viable solution to
that problem has been discussed earlier in this thread: Dom0-like update
scheme. By splitting the updates mechanism into "resolve & download" and
"verify and install", like we do for Dom0, we minimize the attack
surface significantly, because we get rid of all the network and
metadata processing code from the TCB. Note: it's totally unimportant
which VM (DispVM or whatever) you use for downloading of the rpms.
Sadly we cannot do anything (affordable) about potential malicious RPMs
that could be exploiting hypothetical bugs in GPG --verify. We can only
switch between distros and package managers, but any could be viable to
same hypothetical bugs. ITL could write one, but the overhead to
maintain our own repos with "normal" updates for Fedora or whatever
distro in the template, is just unacceptable.
Let me repeat it again: if somebody feels like the updates
infrastructure we offer/use is inadequate, there is really nothing
stopping you from offering your own.
Unfortunately we don't have resources to address every single wish and
request of our users. We're not aiming to create a perfect security
platform -- we try to make a Reasonably Secure platform. We use our
experience and intuition to judge which features should get priority and
which we can afford not to work on. We might make mistakes, of course.
And that's why we made Qubes GPL to allow others to help implement
features others want and which we cannot afford to work on (or decide
were not-so-important).
joanna.