-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On Tue, Jun 16, 2020 at 02:49:32PM -0700, Thorsten Schierer wrote:
> > No, systems without working IOMMU are not supported anymore at all
> > (even with PV hack).
> > I know it may be inconvenient for test setups (in fact it also affects
> > some of our development setup too), but we won't support systems without
> > (or with broken) IOMMU in official builds anymore. This is mainly part
> > of ensuring that "I run Qubes OS" is a statement meaning some baseline
> > of system security, and having sys-net/sys-usb with unrestricted access
> > to the whole host physical memory falls outside of this baseline.
>
> Thanks for clarification.
> It's actually really a shame that it should no longer be supported at all,
> as it makes my development process a lot harder in the future.
>
> As for official builds, I understand that it's a security issue, but even
> then (imo) it's still better to use Qubes OS with PV than using a regular
> OS, depending on the use case.
> While you might be vulnerable to memory attacks in sys-net (which is also a
> problem in a normal OS), you'd still gain benefits from
> compartmentalization - e.g. protecting your separated data from spying
> software vendors or virus infections, webpage profiling/fingerprinting, etc.
> Wouldn't it make more sense to keep supporting it as a less secure
> operation mode in Qubes OS and rather display a warning in the installer
> (as it already does) and if necessary also display a notification (or maybe
> even a permanent watermark) in the OS itself, which states clearly that it
> only runs in a less secure mode?
But you do realize that "keep supporting" here actually means
introducing a patch that intentionally breaks a security feature of
an upstream Xen?
As for a clear message - currently installer does say pretty clearly,
that the system without IOMMU is not going to work. And yet, many people
choose to ignore this explicit warning and then complain it doesn't
work.
Anyway, a permanent watermark idea could actually work. Similar thing is
also implemented in Windows - you get a permanent marking on the
wallpaper in all kind of debug builds or debug configurations.
See more at the end of the message.
And BTW we do plan to remove PV support at some point too, to reduce
hypervisor attack surface. It is already possible to build upcoming Xen
4.14 without PV code included, but there are still some dependencies on
PV to be solved.
> Users with full hardware support would get the full security level while
> incompatible PCs (like my test machine) would still run it in a less secure
> mode, which I really don't mind at all in this case and more importantly,
> which is still more secure than any other OS?
>
> Since Qubes OS is open source and everyone can modify it to their needs, "I
> run Qubes OS" is not really an unambiguously statement.
> I mean, you said it yourself, if someone modifies xen, the feature would be
> back... while still running Qubes OS.
> And even without modifying the source code itself, e.g. if I modify my
> Qubes OS to allow direct networking in dom0, does it still meet that
> baseline of system security you were talking about?
It's funny you mention this as an example: we did have
qvm-dom0-network-via-netvm tool some years ago, and removed it exactly
to make such modifications harder.
> I mean yes, Qubes OS indicates a certain level of security in general and
> that's absolutely correct. But since it's also highly customizable (which
> is great and it should stay that way!), one could easily void that security
> by modifying it that way.
This is actually a thing that is also slowly changing. Greatly
customizable system is good for power users who indeed do understand
consequences of various configuration changes. But as a general
direction, as the system matures, we try to reduce required knowledge to
use Qubes, while still maintain strong security properties. This
basically means making harder to shoot oneself in the foot.
The work on GUI domain which isolates user interface from all-powerful
dom0 also is a step in this direction.
Another thing is, supporting many different configurations is difficult.
Our priority is trustworthiness of the system, flexibility comes only
later. Phasing out PV, while primarily done for security reasons, also
reduces complexity of supported configurations.
> So for me it's not a valid reason to no longer support broken IOMMU with PV
> mode and I think it should be up to the user to decide whether the security
> risk is acceptable or not.
The problem with this approach is such decisions in many cases have
quite severe consequences that may not be obvious at first sight. In
case of IOMMU-less sys-net, this for example means you are really
exposed when connecting to various wifi networks in random coffee shops.
And also you are no longer protected from some random USB stick you've
found on a parking lot.
> What's the alternative for people who can't afford to get new hardware, use
> Windows or Linux? Are they more secure than Qubes OS with sys-net in pv
> mode?
> In some years this might look different, as older hardware (with this
> problem) will get extinct, but currently this should still be a thing.
This is less and less about "older hardware" already. IOMMU is available
on the market since over 15 years. This is more about broken
implementations - and those probably will always be there.
Microsoft is increasing its requirements related to security features to
allow hardware to be named "Windows compatible", which generally does
have positive effect on availability of those features on consumer
hardware. Maybe one day they will also require IOMMU there. Or maybe one
day Qubes OS will have enough market share to dictate such requirements
;)
> > What you can probably do for the test setup, is to build Xen with this
> > check commented out. I haven't tried it, but it should be possible.
>
> I might give this a go, but that sounds pretty annoying with so many new
> builds going on.
> Instead of removing support at all, maybe we could add some boot option
> that allows xen to work with broken/missing IOMMU with PV?
> It would be similar to compiling your own xen, as you have to actively
> enable this feature, but without the hastle of having to recompile and
> install it every time over and over again. At least for the time being,
> until PV will eventually be removed.
I think a workable solution would require:
1. Very explicit user decision. Something that user needs to find
separately, possibly also being forced to read some warning.
Specifically this exclude any kind of semi-automatic enabling like a
"missing IOMMU, do you want to use PV?" prompt.
2. When enabled, a permanent and clearly visible warning that the system
configuration is less secure. Preferably including also an easy way to
restore "optimal" configuration.
For the first point, some boot option could work.
For the second one, some watermark on the desktop maybe? Forced a
specific wallpaper?
My proposal is this: if enough people are interested in adding/restoring
ability to run on machines with broken IOMMU (at least until PV is
completely removed), please provide patches implementing the second
point above. Then, I'll add the first one.
- --
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAl7pcpkACgkQ24/THMrX
1yxgDQf+LemMz2ykgUyDHH3Gn/8KTtxYansfwh3ncKEUQoUoPln06CNON5vYaHvv
FVVpSZc+q6Kc3lhB4fY0Y38u2/6+yEMVwD+uo5q44JbLsiuKttphqRenJT9HcJZc
yHw/nedb2OIaarsfQpUsoGH8f8RpajOsKJIvkqSs8HQOhzL+zvnRJbfnamJrPIqV
kh0ZTBgLzIY0Kdq/W+o6s9yzP83wtZ3kgSaHHxnpJekXuey2XwHfd7gYXG75BcxZ
bM7P+rFmnymC0nCyE85CLeBBdT94h4gNwatYCzSCgrheu/dpOFEb1n4kLMz2GPIJ
1ldK2uypQ1CfqYWoailGw2Xck98eWQ==
=uAGB
-----END PGP SIGNATURE-----