<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF 
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns="http://purl.org/rss/1.0/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
>

  <channel rdf:about="http://lwn.net/headlines/353970/">
    <title>LWN: Comments on "LinuxCon: Secure virtualization with sVirt"</title>
    <link>http://lwn.net/Articles/353970/</link>
    <description>
This is a special feed containing comments posted
to the individual LWN article titled &quot;LinuxCon: Secure virtualization with sVirt&quot;.

    </description>

    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>2</syn:updateFrequency>
    <items>
      <rdf:Seq>
	<rdf:li resource="http://lwn.net/Articles/356502/rss" />
	<rdf:li resource="http://lwn.net/Articles/354645/rss" />
	<rdf:li resource="http://lwn.net/Articles/354521/rss" />
	<rdf:li resource="http://lwn.net/Articles/354456/rss" />
	<rdf:li resource="http://lwn.net/Articles/354449/rss" />
	<rdf:li resource="http://lwn.net/Articles/354447/rss" />
	<rdf:li resource="http://lwn.net/Articles/354443/rss" />
	<rdf:li resource="http://lwn.net/Articles/354386/rss" />
	<rdf:li resource="http://lwn.net/Articles/354383/rss" />
	<rdf:li resource="http://lwn.net/Articles/354298/rss" />
	<rdf:li resource="http://lwn.net/Articles/354206/rss" />
	<rdf:li resource="http://lwn.net/Articles/354121/rss" />
	<rdf:li resource="http://lwn.net/Articles/354109/rss" />
	<rdf:li resource="http://lwn.net/Articles/354102/rss" />
	<rdf:li resource="http://lwn.net/Articles/354090/rss" />
      
      </rdf:Seq>
    </items>

  </channel>
    <item rdf:about="http://lwn.net/Articles/356502/rss">
      <title>LinuxCon: Secure virtualization with sVirt</title>
      <link>http://lwn.net/Articles/356502/rss</link>
      <dc:date>2009-10-12T02:04:41+00:00</dc:date>
      <dc:creator>vonbrand</dc:creator>
      <description>
      &lt;blockquote&gt;
On the other hand, path-based approaches like AppArmor are very easy to use. But they had not gained any traction within the security community. Probably, because it's too easy to use.
&lt;/blockquote&gt;
&lt;p&gt;
In Unix, the same object can be accessed by wildly different paths (think links) or can move around, so this won't give much security. That it is easy to use makes no difference if it is easy to bypass.
&lt;p&gt;
You also misrepresent the security community: A mechanism that is hard to understand and use won't be secure &lt;em&gt;in practice&lt;/em&gt;, and they do know that very well; so they &lt;em&gt;are&lt;/em&gt; looking for simple to use mechanisms.
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/354645/rss">
      <title>All VMs run as the same user...</title>
      <link>http://lwn.net/Articles/354645/rss</link>
      <dc:date>2009-09-28T17:35:30+00:00</dc:date>
      <dc:creator>danpb</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
The ability to run KVM as non-root is already in libvirt. In Fedora 12 all 'qemu:///system' connections run VMs under a dedicated 'qemu' user account, while 'qemu:///session' connections run VMs under the UID of the user using that connection.&lt;br&gt;
&lt;p&gt;
Also in Fedora 12,  /dev/kvm has mode  0666 out of the box, allowing qemu:///session uses to use KVM acceleration.&lt;br&gt;
&lt;p&gt;
The libvirt security architecture that deals with sVirt is modular allowing arbitrary security plugins. The Ubuntu devs have got an impl using AppArmour. It would also be possible to write an impl that ran each VM as a unique user ID.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/354521/rss">
      <title>All VMs run as the same user...</title>
      <link>http://lwn.net/Articles/354521/rss</link>
      <dc:date>2009-09-27T10:22:03+00:00</dc:date>
      <dc:creator>nix</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
That would be extremely interesting, thanks. (I didn't realise the &lt;br&gt;
namespaces stuff was at a usable state yet, but I haven't been paying much &lt;br&gt;
attention to it.)&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/354456/rss">
      <title>All VMs run as the same user...</title>
      <link>http://lwn.net/Articles/354456/rss</link>
      <dc:date>2009-09-26T10:17:13+00:00</dc:date>
      <dc:creator>rwmj</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
There you have it.  Thanks Avi :-)&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/354449/rss">
      <title>All VMs run as the same user...</title>
      <link>http://lwn.net/Articles/354449/rss</link>
      <dc:date>2009-09-26T09:04:10+00:00</dc:date>
      <dc:creator>avik</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
It's safe.  Access to /dev/kvm doesn't give any access to other virtual machines.&lt;br&gt;
&lt;p&gt;
Of course, if a process has access to another process (via kill(2) or ptrace(2)) it can affect or access data belonging to that process.  So if you run all virtual machines as the same user, you need to further isolate them.  I believe sVirt does that with its random selinux contexts. but I'm no selinux expert.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/354447/rss">
      <title>All VMs run as the same user...</title>
      <link>http://lwn.net/Articles/354447/rss</link>
      <dc:date>2009-09-26T07:19:51+00:00</dc:date>
      <dc:creator>rwmj</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
It's a good question.  I talked to Gleb and Avi about this a few months back, and I came away with &lt;br&gt;
the impression that it was safe.  _However_ rereading their responses this morning, I'm now not so &lt;br&gt;
sure it provides isolation between users who have VMs on the same system, so I guess I'm going to &lt;br&gt;
have to dig into the code and check it myself.&lt;br&gt;
&lt;p&gt;
Rich.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/354443/rss">
      <title>All VMs run as the same user...</title>
      <link>http://lwn.net/Articles/354443/rss</link>
      <dc:date>2009-09-26T06:22:05+00:00</dc:date>
      <dc:creator>Cato</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Worse than that, presumably anyone wanting to write to kernel data structures can just write to /dev/kvm.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/354386/rss">
      <title>All VMs run as the same user...</title>
      <link>http://lwn.net/Articles/354386/rss</link>
      <dc:date>2009-09-25T20:19:33+00:00</dc:date>
      <dc:creator>smoogen</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Would not those permissions still allow for any process to look at another one through the device? &lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/354383/rss">
      <title>All VMs run as the same user...</title>
      <link>http://lwn.net/Articles/354383/rss</link>
      <dc:date>2009-09-25T20:10:18+00:00</dc:date>
      <dc:creator>lutchann</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
In addition to using one UID per KVM instance, use the new native container features in Linux to put each KVM into its own container.  With an extremely limited view of the filesystem, namespaced process tables and IPC, an empty capabilities bounding set and appropriate iptables OUTPUT rules, breaking out of the VM into the KVM process does an attacker no good.  No SELinux necessary.&lt;br&gt;
&lt;p&gt;
With such a setup, the only thing you have to pray for is that there are no vulnerabilities that allow a guest VM to break into the host's ring 0.  Unfortunately, such bugs have already been discovered in Xen.&lt;br&gt;
&lt;p&gt;
(I can share my C wrapper for containerizing KVM if anybody's interested.  Post a followup to this comment and I'll tar it up and post it somewhere.)&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/354298/rss">
      <title>All VMs run as the same user...</title>
      <link>http://lwn.net/Articles/354298/rss</link>
      <dc:date>2009-09-25T11:29:16+00:00</dc:date>
      <dc:creator>rwmj</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
You can chmod 0666 /dev/kvm if you want to run KVM as non-root with hardware acceleration.  (I &lt;br&gt;
run it like this all the time).&lt;br&gt;
&lt;p&gt;
The ability to run KVM processes as non-root is something that is to be added to libvirt in the near &lt;br&gt;
future.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/354206/rss">
      <title>All VMs run as the same user...</title>
      <link>http://lwn.net/Articles/354206/rss</link>
      <dc:date>2009-09-24T17:44:32+00:00</dc:date>
      <dc:creator>smoogen</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
I believe (and this is a weak belief from too little research) that most VM's have to run with root priveledges at some place in their structure (this is to get use of the hypervisor CPU accelerations). Most of the people I know who are researching 'escapes' usually find the way out of the VM cage is in those areas.. thus the breakout has root access already. &lt;br&gt;
&lt;p&gt;
The aim is with any of the security mechanisms is to limit what that root can do. &lt;br&gt;
&lt;p&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/354121/rss">
      <title>All VMs run as the same user...</title>
      <link>http://lwn.net/Articles/354121/rss</link>
      <dc:date>2009-09-24T11:00:33+00:00</dc:date>
      <dc:creator>epa</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
If, as the article notes, all virtual machines run as the same user on the host system, wouldn't it make more sense to fix that by running each VM as a separate user and using classical Unix permissions?&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/354109/rss">
      <title>LinuxCon: Secure virtualization with sVirt</title>
      <link>http://lwn.net/Articles/354109/rss</link>
      <dc:date>2009-09-24T09:41:54+00:00</dc:date>
      <dc:creator>danpb</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
If you look at the Xen vulnerabilities there has been a good split between flaws in the hypervisor/host kernel, and flaws in the QEMU device model.  sVirt doesn't claim to protect the kernel, but it does offer valuable protection against QEMU device model flaws.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/354102/rss">
      <title>LinuxCon: Secure virtualization with sVirt</title>
      <link>http://lwn.net/Articles/354102/rss</link>
      <dc:date>2009-09-24T09:28:13+00:00</dc:date>
      <dc:creator>Cyberax</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
&quot;As they learned from the Xen compromise, leaving the labeling up to administrators does not work&quot;&lt;br&gt;
&lt;p&gt;
Yeah, have they _seen_ the complexity of SELinux policies? It's no wonder that most administrators dare not touch SELinux. Personally, I usually just pray that it works. &lt;br&gt;
&lt;p&gt;
On the other hand, path-based approaches like AppArmor are very easy to use. But they had not gained any traction within the security community. Probably, because it's too easy to use.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/354090/rss">
      <title>LinuxCon: Secure virtualization with sVirt</title>
      <link>http://lwn.net/Articles/354090/rss</link>
      <dc:date>2009-09-24T08:42:28+00:00</dc:date>
      <dc:creator>djm</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Let me get this straight: an attacker has gained access to a VM, escalated &lt;br&gt;
privilege, escaped the (probably-hardware assisted) VM containment and they &lt;br&gt;
think that more OS-level controls will prevent the same thing happening in &lt;br&gt;
the host OS? IMO it is more likely that they escaped the VM by exploiting &lt;br&gt;
bugs in the host OS kernel to begin with so sVirt couldn't help anyway...&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
</rdf:RDF>

