This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] protecting xen startup

To: "Neugebauer, Rolf" <rolf.neugebauer@xxxxxxxxx>
Subject: Re: [Xen-devel] protecting xen startup
From: Luke Kenneth Casson Leighton <lkcl@xxxxxxxx>
Date: Wed, 24 Nov 2004 15:24:02 +0000
Cc: Mark Williamson <maw48@xxxxxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxxx, SE-Linux <selinux@xxxxxxxxxxxxx>
Delivery-date: Wed, 24 Nov 2004 15:23:39 +0000
Envelope-to: xen+James.Bulpin@xxxxxxxxxxxx
In-reply-to: <39CC97884CA19A4D8D6296FE94357BCBF5CCD7@swsmsx404>
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
Mail-followup-to: "Neugebauer, Rolf" <rolf.neugebauer@xxxxxxxxx>, Mark Williamson <maw48@xxxxxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxxx, SE-Linux <selinux@xxxxxxxxxxxxx>
References: <39CC97884CA19A4D8D6296FE94357BCBF5CCD7@swsmsx404>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
User-agent: Mutt/
On Wed, Nov 24, 2004 at 11:48:15AM -0000, Neugebauer, Rolf wrote:
> Yes, in principle you should be able to do that (and we have been
> thinking along similar lines). However, at the moment the linux kernel
> in the exporting VM (BE) does not know anything about other VMs so as
> far as my understanding goes you can't apply SELinux policies to it as
> you don't have a subject.

 that can be dealt with by... (this is speculation, here!)

 by writing an selinux policy in advance that defines how many
 virtual machines you have, and creating xen_vm0_t, xen_vm1_t
 etc. to represent them.

 you then define what operations can be carried out, and then
 grant a program the right to perform that operation on SPECIFIC
 machines.  [yes there is a short-hand which allows you to specify an
 operation be allowed by a program on all machines].

 then it would be necessary to modify the linux kernel to call the
 avc_has_perm() function at the appropriate point to check, at the time
 that an operation was being done (e.g. read from block device), as to
 whether that process had the right to perform that operation on that
 xen virtual machine.

 in order for this to work, it would be necessary to have a translation
 mechanism between the numbering xen_vm_0_t etc. and the actual xen
 virtual machines.

 looking at avc_has_perm(), you'd need a SID per virtual machine,
 as the second argument...

 xen_communication_has_perm(struct task_struct *tsk,
                            struct xen_info *xen,
                                                        u32 perms)
         return avc_has_perm(tsec->sid,
                             xen->sid, SECCLASS_XEN, perms, NULL, NULL);

 where xen->sid contains "xen_vm_0_t", "xen_vm_1_t" etc.
 and tsec->sid contains "xen_xm_bin_t" - representing the xen control
 binary /usr/bin/xm.

 the question i can't answer (the bit that i don't quite grok) is
 how do you get hold of the right xen_info struct and how do you blat
 the sid into it?


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. 
Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>