From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, dgdegra@tycho.nsa.gov
Cc: James McKenzie <james.mckenzie@bromium.com>,
sstabellini@kernel.org, Wei Liu <wei.liu2@citrix.com>,
Lars Kurth <lars.kurth.xen@gmail.com>,
openxt@googlegroups.com, Doug Goldstein <cardoe@cardoe.com>,
George Dunlap <george.dunlap@citrix.com>,
Ross Philipson <philipsonr@ainfosec.com>,
Rich Persaud <persaur@gmail.com>, Jan Beulich <jbeulich@suse.com>,
Anthony PERARD <anthony.perard@citrix.com>,
Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [Hackathon 16] Notes from Security Session
Date: Mon, 25 Apr 2016 14:32:29 -0400 [thread overview]
Message-ID: <20160425183229.GB13411@char.us.oracle.com> (raw)
In-Reply-To: <5715F640.1070206@citrix.com>
On Tue, Apr 19, 2016 at 10:11:28AM +0100, Andrew Cooper wrote:
> On 19/04/16 10:02, Doug Goldstein wrote:
> >On 4/18/16 12:20 PM, Lars Kurth wrote:
> >>Hi all,
CC-ing XSM maintainer :-)
> >>
> >>I took notes as much as I could. CC'ed the people who participated most. If I missed/misrepresented something, please add to the discussion. I know that George for example took some extra notes in the one or other area.
> >>
> >>Regards
> >>Lars
> >>
> >>== Topics discussed ==
> >>QEMU
> >>De-privilige of QEMU
> >>XSA
> >>x-Splice
> >>x86 Emulator
> >>Enabling XSM By default
> >>
> >>=== Slimline QEMU ===
> >>
> >>Konrad: Some inroads on making QEMU better
> >>Konrad: QEMU is too big and it is hard to strip down the platform : how can we chop it up
> >>
> >>Wei: Wei attempted this 2 years ago : Wei defined some Xen stub CPU model, which was rejected at the time
> >>Stefano: Maybe what we need is different
> >>Stefano: Containers / Intel have similar issues
> >>Stefano: Intel have a very similar problem with ClearContainer
> >>Stefano: Re-implementing ClearContainers with QEMU because of market needs
> >>Stefano: QEMU does have already a no-default option
> >>
> >>Doug: In the QEMU model: you cannot run a board without a CPU
> >>Doug: KConfig may be acceptable, but re4moving boards may not (initially discussed with Antony L)
> >>
> >>George: Distros don't want to ship two versions of QEMU
> >>George: Compile configurability doesn't help with distros
> >>
> >>Konrad: PVH/HVMLite does not use QEMU (or only as a back)
> >>
> >>Lars: If we had a proposal, working with Intel and the QEMU community, we could discuss at Xen Summit / KVM Forum is co-located
> >>
> >>James: If we had a future with OVMF, then we probably wouldn't need QEMU (aka if you want security use PVH with OVMF)
> >>James: Proposal for security conscious applications we could fork and use a stubbed out version of QEMU
> >>
> >>Options:
> >>- KConfig
> >>- Run-time disablement
> >>- Xen Summit / KVM Forum
> >>- Intel work / collaboration
> >>- PIX3 > 935
> >>- OVMF
> >>- Remove xl.cfg (stop configs - in fact we probably only can print a warning "this is not secure and has no security support" or something similar)
> >>
> >>Doug: Issue
> >>- For example Oracle could deal with Config
> >>- BUT, this approach won't work for distros
> >>
> >>ACTION: Konrad is volunteering to drive this discussion
> >>
> >>=== De-privilige Qemu ===
> >>Konrad: What's the status
> >>Stefano: not done, you need
> >>- QEMU as non-root (that is in 4.7 and QEMU part is there)
> >>- Now you still have a libxc and xenstore interface that needs to be de-priviliged
> >> - There is a patch for QEMI and xenstore to deal with the libxc part (not upstreamed) ... pretty big series, but won't make it for 4.7 - QEMU part is tiny
> >> - Libxc is sizeable (Ian Campbell was working on it), but it is now dormant : QEMU support is there, but Dom0 interface is missing
> >> - Ideas: Do registration in Dom0
> >>[George has some additional notes]
> >>
> >>ISSUE: A proposal and a plan, but nobody to do this. Without this what we have is not useful
> >>Andrew: XenServer still using qemu-trad because of some gaps in emu-upstream
> >>Andrew: XS may end up working on this at some undefined point in the future
> >>
> >>There is a problem with using CD drive's to open ISOs as you need to be privileged to do this
> >>Andy Cooper: there may be real end-user issues
> >>Stefano: Could change ownership
> >>Doug: Issue was tried to be fixed in libvirt and went nowhere
> >>Andy: Qemu-trad does it wrong (QEMU in libxenlight does not do that)
> >>
> >>ACTION: High;right lack of owner
> >>
> >>Konrad: Seccomp may work
> >>Doug: everything has to be passed as file descriptor
> >>
> >>=== Narrower XSA Coverage ===
> >>Jan: XSA 77 (whitelisted a set of dom control and sys control) which are supposedly ... http://xenbits.xen.org/xsa/advisory-77.html
> >> See http://xenbits.xen.org/docs/unstable/misc/xsm-flask.txt (Security Status of dom0 disaggregation)
> >>Jan: Who runs this in production: running part of toolstack not in Dom0 - OpenXT wants to do this
> >>Jan: The observation is that we went to far with the XSA 77 => if we had a shorter whitelist, and reduce whitelist
> >>Jan: If there was agreement, then the security team
> >> would not handle issues in these areas as XSA's
> >>
> >>Ross Phillipson: Typic ally we have only higher level stuff in a different xl, but lower level stuff runs on Dom0. So there should be no issue
> >>
> >>George: QEMU stub domains should have security support
> >>George: There are a whole set of other things, which we don't know whether they are used
> >>George: Do we want to security support of disaggregated tools-stub
> >>
> >>Agreed: Propose patch to change http://xenbits.xen.org/docs/unstable/misc/xsm-flask.txt on the list
> >>Jan: We can only discuss in public if no issues are pending
> >>Cc: Christopher Clark <christopher.w.clark@gmail.com>, Ross Philipson <ross.philipson@gmail.com>, Daniel Smith <dpsmith@apertussolutions.com>
> >>CC the folks on this thread or openxt@googlegroups.com (OpenXT mailing list)
> >>
> >>=== x86 Emulation de-privilige ===
> >>Anthony is working on it
> >>Stefano: I think you had some measurements
> >>Anthony: Measurements were not very good
> >>Andrew: If you are introspecting, you sacrifice 70% performance
> >>Andrew: Patches were very complicated
> >>Andrew: Re-writing the emulator would only fix the outbound path
> >>Stefano: Risk would probably go from High/Critical to Low in terms of impact but not remove the issues
> >>Jan: The issue is really with in-guest security issues
> >>Doug: Could we look at QEMU emulator
> >>Andrew: Did this, but does not seem a good enough baseline
> >>James: Have a set of patches which may fix this issue
> >>Jan: Would still not fix in-guest security issues
> >>Andrew: Reduces the severity of XSAs
> >>
> >>Konrad: We still want this?
> >>Jan: If it is doable, then yes ...
> >>Andrew: Huge amount of extra set-up in HV
> >>
> >>ACTION: James to sent patches as RFC to xen-devel@
> >>
> >>Jan: The real issue is the quality and maintainability of emulator code
> >>Konrad: Two paths - emulator code more robust or de-privilege emulator
> >>
> >>
> >>=== x-Splice ===
> >>Konrad: At some point, we can provide catches for which we can create payloads
> >>Konrad: There are areas which are difficult to do, such as patching data
> >>Konrad: Questions - if we had xSplice - should we publish patches to generate the "payload" and as we have in the past
> >>
> >>Andrew: believes that there are only a small number of XSA's that could not easily be changed into payloads
> >>
> >>Agreement: do this as a best-effort
> >>
> >>James: Asks whether chaining patches is an issue
> >>Konrad: No issues, but you should deploy binary patches ...
> >>
> >>Konrad: Can you deploy
> >>Jan: Same as with deploying binaries
> >>Lars: Could just change the boilerplate
> >>
> >>Ross: Is there a way to encode dependencies
> >>Konrad: Yes
> >>
> >>=== Enabling XSM By default ===
> >>Andrew: There are some issues which we need to work through; a lot of little paper cuts
> >>Rich: Could we create a list of issues on the wiki?
> >>Lars: Definitely
> >>Doug: Could we not have a policy which is equivalent to XSM being compiled out
> >>Andrew: Could make policy more modular instead of one big global policy
> >>
> >>Re-apply policy of guest after running
> >>
> >>ACTION: Need a wiki page, Konrad can start one and we can collaboratively flesh it out
> >>Lars: See http://wiki.xenproject.org/wiki/XSMAsDefault_TODO_List
> >>
> >>ACTION: Konrad and others to add detail to it
> >>
> >>
> >It was pointed out to me that I did not get my comments about XSM across
> >clearly. I believe we need to improve the default policy to be
> >equivalent to disabling XSM and/or create a policy called "dummy" that
> >is the same as XSM disabled. To make XSM usage more smooth I propose we
> >bake the default policy into .initdata so that when you boot Xen
> >compiled with XSM you are no worse off than compiling XSM out.
> >
> >The rationale here is that prior to a recent commit when you compiled
> >Xen with XSM enabled but did not provide a default policy then any domUs
> >that you ran had as much access as dom0. The recent commit changed it so
> >that Xen by default does not boot without a policy.
> >
> >With my proposed change we would have "dummy" that would compile in and
> >if you provided another policy it would be used instead or you could
> >late load a replacement policy. Basically filling the gap of turning on
> >XSM and having a system less secure than XSM off until you developed
> >your policy.
>
> +1. It also avoids needing to play around loading an extra file as a grub
> module, which makes distro-integration easer.
>
> ~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-04-25 18:32 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-18 11:20 [Hackathon 16] Notes from Security Session Lars Kurth
2016-04-19 9:02 ` Doug Goldstein
2016-04-19 9:11 ` Andrew Cooper
2016-04-25 18:32 ` Konrad Rzeszutek Wilk [this message]
2016-04-25 19:51 ` Daniel De Graaf
2016-04-26 8:57 ` Lars Kurth
2016-05-17 21:08 ` Konrad Rzeszutek Wilk
2016-05-19 3:31 ` Doug Goldstein
2016-05-23 14:53 ` Daniel De Graaf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160425183229.GB13411@char.us.oracle.com \
--to=konrad.wilk@oracle.com \
--cc=andrew.cooper3@citrix.com \
--cc=anthony.perard@citrix.com \
--cc=cardoe@cardoe.com \
--cc=dgdegra@tycho.nsa.gov \
--cc=george.dunlap@citrix.com \
--cc=james.mckenzie@bromium.com \
--cc=jbeulich@suse.com \
--cc=lars.kurth.xen@gmail.com \
--cc=openxt@googlegroups.com \
--cc=persaur@gmail.com \
--cc=philipsonr@ainfosec.com \
--cc=sstabellini@kernel.org \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).