[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH V7 for-4.5 0/4] Basic guest memory introspection support

We need to be able to detect rootkits in HVM guests, in a way that
allows an application that runs in dom0 (or a similarly privileged
domain) to control what the guest is allowed to do once a threat is
detected. This has been done over the mem_event mechanism.

Here is a summary of the series:

a  1/4 xen: Emulate with no writes
a  2/4 xen: Optimize introspection access to guest state
A  3/4 xen, libxc: Force-enable relevant MSR events
a* 4/4 xen: Handle resumed instruction based on previous mem_event reply

Key to symbols:
 *   Updated in this version of the series.
 +   New patch in this version.
 /   Updated but only to remove changes into a separate patch.
 -   Updated with style changes only.
 a   Acked/reviewed by one reviewer.
 A   Acked/reviewed by more than one reviewer.

This new version has removed the "xen, libxc: Request page fault injection
via libxc" patch - for now we can make due with the original
HVMOP_inject_trap. In patch 4/5 (formerly 5/5) the GLA mem_event filtering
has been removed, and now all mem_events are being sent out. It becomes
the mem_event client's job to filter them. "For-4.5" has been added to the
prefix according to Ian Campbell's recommendation.

We needed to:

1. Be able to execute the current instruction without allowing it to
write to memory. This is done based on new mem_event response
fields sent from the controlling application.

2. Have the guest as responsive as possible amid all the processing. So
we had to cache some information with each mem_event sent.

3. Not allow the hypervisor to disable sending information about
interesting MSR events.

4. Add an additional mem_event type, namely a VMCALL event - in order to
do its work, our application occasionally triggers VMCALLs in the guest
(not included in the current series, but included in the initial RFC

5. Extend libxc to allow triggering page faults in the guest (in order
to be able to bring back in pages swapped out by the guest OS). For now,
this patch has been skipped in favour of plain HVMOP_inject_trap.

Razvan Cojocaru

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.