|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Device model operation hypercall (DMOP, re qemu depriv)
>>> On 26.08.16 at 13:38, <ian.jackson@xxxxxxxxxxxxx> wrote:
> Jan Beulich writes ("Re: Device model operation hypercall (DMOP, re qemu
> depriv)"):
>> On 08.08.16 at 15:46, <ian.jackson@xxxxxxxxxxxxx> wrote:
>> > So would it therefore be OK to introduce the enhanced security promise
>> > - the lack of `class 2' bugs - for HVMCTL from the beginning ?
>>
>> I think so, since ...
>>
>> > This would involve a small amount of extra thought for each invididual
>> > hypercall, just to check that the assumptions we are relying on (as
>> > you put them above) are not violated.
>>
>> ... this looks to be a manageable amount of code auditing (albeit
>> I'd like to see whether someone else can perhaps come up with
>> some potential, more realistic kind of bug that could fall into class
>> 2 before volunteering to make an attempt at doing such an audit).
>
> Right.
>
> Let me try to think of some examples. Thinking `aloud':
>
> The real problem comes if a DMOP talks about the calling domain's
> resources or namespaces, implicitly or explicitly.
>
> An example of an explicit reference to the calling domain's resources
> is the references to memory space in the calling domain (vaddrs). We
> have already had an extensive discussion of that...
>
> Another example would be a DMOP that takes (or returns) an event
> channel number in the calling domain. This would be a problem because
> there would be nothing to stop qemu from messing about with evtchns
> which dom0 is using for other purposes (or conversely, there would be
> no way for the dom0 evtchn driver to know about the returned evtchn
> number and allow qemu to receive it).
Doesn't that follow the more general "mixing up own and target
domains" pattern, which is relatively easy to audit for?
> Another might be a DMOP that implicitly grants the target domain some
> of the calling domain's scheduling priority. (I realise this is quite
> implausible from a scheduling API POV, but it gives an idea.)
>
> Another example is that of course VCPU pool management and VCPU-PCPU
> pinning must not be available via DMOP.
>
> (I write `qemu' here for brevity and clarity, but really I mean any
> DMOP caller which is supposed to be privileged for the target domain
> but not generally privileged.)
These all look rather contrived, especially keeping in mind that
what we mean to exclude right now are accidental violations of
the intended isolation. I.e. I think for all of those one would need
to go to some lengths to actually achieve the "goal", but they are
rather unlikely to be the result of a bug.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |