[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Stratos-dev] Xen Rust VirtIO demos work breakdown for Project Stratos
On Tue, Sep 28, 2021 at 9:26 AM Stefano Stabellini <sstabellini@xxxxxxxxxx> wrote: Hi Stefano, all [Sorry for the possible format issues] On Mon, 27 Sep 2021, Christopher Clark wrote: Well, the foreign memory mapping has one advantage in the context of Virtio use-case which is that Virtio infrastructure in Guest doesn't require any modifications to run on top Xen. The only issue with foreign memory here is that Guest memory actually mapped without its agreement which doesn't perfectly fit into the security model. (although there is one more issue with XSA-300, but I think it will go away sooner or later, at least there are some attempts to eliminate it). While the ability to map any part of Guest memory is not an issue for the backend running in Dom0 (which we usually trust), this will certainly violate Xen security model if we want to run it in other domain, so I completely agree with the existing concern. It was discussed before [1], but I couldn't find any decisions regarding that. As I understand, the one of the possible ideas is to have some entity in Xen (PV IOMMU/virtio-iommu/whatever) that works in protection mode, so it denies all foreign mapping requests from the backend running in DomU by default and only allows requests with mapping which were *implicitly* granted by the Guest before. For example, Xen could be informed which MMIOs hold the queue PFN and notify registers (as it traps the accesses to these registers anyway) and could theoretically parse the frontend request and retrieve descriptors to make a decision which GFNs are actually *allowed*. I can't say for sure (sorry not familiar enough with the topic), but implementing the virtio-iommu device in Xen we could probably avoid Guest modifications at all. Of course, for this to work the Virtio infrastructure in Guest should use DMA API as mentioned in [1]. Would the “restricted foreign mapping” solution retain the Xen security model and be accepted by the Xen community? I wonder, has someone already looked in this direction, are there any pitfalls here or is this even feasible? [1] https://lore.kernel.org/xen-devel/464e91ec-2b53-2338-43c7-a018087fc7f6@xxxxxxx/ Regards, Oleksandr Tyshchenko
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |