We had a Xen/Security meeting at Linuxworld in Boston. Below is a
summary of the topics/discussion.
Rolf
Xen security meeting at LinuxWorld Thursday 17/02/05
----------------------------------------------------
The purpose of this initial meeting was to discuss various
additions/changes to Xen to create an open-source, high-performance,
secure VMM. It was initiated by some security researchers who
expressed interest to meet with the Xen team to discuss Xen/Security
issue. As such the meeting was primarily focused on Xen specific
issues rather than general security architecture issues. We plan to
have further meetings with the next one likely to coincide with the
Xen summit in Cambridge beginning of April.
Present:
- Keir Fraser, Christian Limpach (University of Cambridge, XenSource)
- Mona Vij, Carlos Rozas, Anand Rajan (Intel CTG)
- Joseph Cihula, Asit Mallick (Intel SSG)
- Leendert van Doorn (IBM Research)
- Rolf Neugebauer (Intel Research Cambridge)
Scope/usage model:
------------------
Leendert suggested to focus on fairly simple usage models akin to the
PR/SM system but keep in mind more advanced models in the process of
designing. As an working example he suggested a consolidated server
hosting VMs for different (competing) customers and use TCG derived
methods to assure customers of the secure isolation of their
service. Such a usage model would offer only limited sharing of
resources but we should keep more finer grained sharing in mind.
Everyone agreed that this was a sensible approach given the current
server orientation of Xen. At a later stage the security architecture
should also be extended to client systems.
Mandatory Access Control
------------------------
As adding MAC to Xen would initially require the most pervasive
changes to Xen the meetings main focus was on this topic. Everyone
agreed that the addition of MAC should not impact the overall
performance of Xen as this is one of its main advantages. Leendert
also expressed his believe that security should be always on,
i.e. should not be made optional.
Leendert detailed their addition of MAC to the IBM rHype research VMM
as described in the recently posted sHype paper. sHype performs MAC at
resource binding time and provides a revocation mechanism to revoke
access to a resource. This avoids the cost of access checks on every
resource access. To everyone present this seems like a sensible
approach to adapt for Xen.
Following was a discussion on the various shared resources in Xen for
which MAC would have to be performed, focusing in particular on event
channels and page sharing. In Xen, these primitives are used to
provide higher level abstractions such as virtual devices. In sHype,
higher level abstractions, such as virtual NICs are provided by the
hypervisor. After a brief description of these primitives and their
use it was thought that providing MAC at this (lower) level could be
used to provide similar functionality to sHype, which provides virtual
devices directly to VMs.
As event channels require an explicit binding to end-points, there
already exits a natural point for performing MAC. Adding a check for
revocation of access should be straightforward and shouldn''t impact
performance.
The grant-table design for page sharing also provides natural check
for MAC, however, revocation requires a little more thought,
especially its interaction with writable page-tables. However, as Keir
pointed out, if revocation is rare a relatively slow approach to
revocation (scanning all guest page tables) would be acceptable. If
this proves to be too slow, additional bookkeeping information could
be used to speed up revocation.
Intel noted that providing MAC on the privileged operations of Domain
0 and other hypercalls is also necessary but it was agreed that this
requires closer inspection. It was indicated that the Xen team is open
to changes to some of these interfaces should that be necessary from a
security point of view, especially the dom0 interface is far from cast
in stone. A detailed discussion of these issues was deferred to a
later meeting: first some initial implementation work on MAC should be
done.
MAC also requires the introduction on an access control module into
Xen with appropriated interfaces to push policies into Xen from within
a VM. Intel noted that the access control module could be hosted in
user space and that a simpler access vector cache could be maintained
in Xen along the lines of the Flask architecture. There are various
ways of doing this (shared memory, hyper-calls) and the dom0 interface
could be used as an example. The access control module might also
require the ability to call back into the security manager VM
depending on the implementation. This mechanism can be provided on top
of events. It was discussed to initially use a simple policy, such as
Chinese Wall, to gain some experience with implementing this interface
in Xen. The Xen team is open to suggestion as to what the interface
should look like and that it shouldn''t be a problem to add such an
interface to Xen.
The final item under the MAC subject was that of resource
naming/labeling. This issue was only briefly discussed. Leendert
suggested that the use of certificates might be more appropriate than
labels. It was also flagged that it requires some careful
considerations in a dynamic system. Apparently more fun can be had
when considering VM migration.
Reducing the TCB
----------------
An issue that came up multiple times was that of reducing the TCB.
- Currently, dom0 is too privileged and its functionality needs to be
either cut down and/or carved up into smaller pieces. We deferred a
more detail discussion on this subject to a later meeting. This is
also to involve the possible restructuring of dom0_ops and the way
domains are built.
- The current toolset (xend) was also mentioned as a possible problem
area. However as there is a general desire to redesign them, and
possibly have multiple different implementation, this was not
discussed further.
- The use of device driver domains was briefly discussed. They
currently required higher privileges can be removed once the
grant-table design is implemented. However, without hardware support
(ie IO MMU), their capability of setting up arbitrary DMA operations
might require having smaller, specialized device driver domains (ie
not full Linux systems) which can be audited better.
- we also discussed the use of a small system controller (domain -1?)
to kick off the system as a measure to reduce the TCB.
- It was also pointed out that the planned removal of the platform
initialization code from Xen will significantly reduce the size of
Xen, but will add more privileged operations to domain 0.
Other Xen issues
----------------
- grant-tables: these should be implemented as soon as possible by the
Xen team. Not only are they necessary to reduce the privileges of
device driver domains (currently a device driver domain has to be
privileged in order to map a clients pages), but they are necessary
for MAC as well (and to use full shadow mode with para-virt device
drivers). The implementation should also include a revocation method
in order to implement sHype style MAC.
- page mapping visibility: several people said that they felt
uncomfortable with the global visibility of mappings from machine to
physical address in a guest as this provides a lot of information to
an attacker.
- VLANs: we need to investigate how to setup/provide clearly separated
VLANs under Xen as the current default setup uses a bridge running in
the network device driver domain. Its is possible that the current
implementation can be configured appropriately. Possible alternatives
were being able to setup point to point links between two VMs etc,
also an issue might be tool support for configuring them
appropriately.
Covert Channels
---------------
We had a brief discussion on covert channels and in the end decided
not to address them as a complete elimination of covert channels would
be prohibitively expensive (if at all possible). However, we should
look at possible covert channels and eliminate them were they are easy
to fix. For other covert channel we need to identify them and assess
their bandwidth. Leendert suggested to not make covert channels an
immediate high priority, to to focus on other issues first.
On this subject, we discussed the globally visible page mapping (see
above). As the Xen team is currently also implementing a full shadow
mode, this problem might go away, depending on the performance impact
of shadow mode vs writable pagetables as used at the moment. The Xen
team will provide a performance evaluation of the different modes.
Resource Control
----------------
We briefly discussed resource control, not primarily a security issue,
but an issue of robustness and useful as a first line defense against
DOS attacks. Since one of Xen''s main aims is to provide resource
isolated execution of VMs it was noted that the goals here are in
common. However, Xen might need to provide better resource metering
and might also need changes to the tool-set to easier set up things
like network bandwidth limiters etc.
Measurement/Attestation/TPM
---------------------------
Again we only briefly touched on this subject. While it would be
desirable to provide attestation from BIOS to applications, we decided
that for TPM enabling we should do small steps and build from
there. In an initial attempt we would only support attestation up to
the hypervisor level. Intel will initially be investigating what needs
to be measured within the hypervisor and how (command line args
etc).
Both Intel and IBM are looking at TCG enablement. IBM has a virtual
1.2 TPM solution working with on Xen and Intel is in the process of
porting their implementation to Xen.
We also briefly talked about research into dynamic (ie runtime)
measurements.
Another research topic, briefly discussed, is the impact of migration
on attestation, probably best addressed within the TCG.
Assurance
---------
We briefly discussed whether and what assurance level should be aimed
for. It was agreed that EAL5 would be really hard to achieve (but
might be possible). EAL4 should be possible. However, since any
official certification requires significant effort (and investment)
this is primarily a business decision which should be made
later. However, it was expressed that we should keep in mind possible
certification, ie keep a particular protection profile in mind when
setting requirements, have code/design reviews. Leendert also pointed
out that we should make sure that the Xen code passes IBMs source code
analysis tools.
Administrativa
--------------
- we will set up a public mailing list for security/xen issues as soon
as the proposed move of xen-devel has been done.
- we''ll use the xen summit in April to have the next meeting
- Keir pointed out that the best way of integrating code into Xen is
to supply patches early, but have new features disabled by default.
Activities
----------
Here is a brief list of what the various attendees will be working on:
IBM: - MAC, try to provide some initial code in soon
- TCG enablement + assurance
Intel: - Measurement/Assurance
Cambridge: - fix grant-table
- revocation mechanism for grants/event channels
- assist with integration of code
- set up xen security mailing list
All: - reducing TCB, restructuring of Dom0
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id396&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xen-devel