|
|
Log in / Subscribe / Register

Walsh: Secure Virtualization Using SELinux (sVirt)

Walsh: Secure Virtualization Using SELinux (sVirt)

Posted Aug 25, 2009 1:05 UTC (Tue) by ebiederm (subscriber, #35028)
In reply to: Walsh: Secure Virtualization Using SELinux (sVirt) by caitlinbestler
Parent article: Walsh: Secure Virtualization Using SELinux (sVirt)

My definition of small < 10K lines of code. Something a single person can wrap their head around and reasonably maintain, something about the size of the original unix core. Has anyone ever seen a hypervisor that is less than 10K lines of code?


to post comments

Walsh: Secure Virtualization Using SELinux (sVirt)

Posted Aug 25, 2009 9:02 UTC (Tue) by johill (subscriber, #25196) [Link]

Most drivers people will want/require in the HV are larger than that.

Walsh: Secure Virtualization Using SELinux (sVirt)

Posted Aug 25, 2009 9:08 UTC (Tue) by gebi (guest, #59940) [Link] (8 responses)

sel4 (secure embedded L4) has about 7k5 lines of code.

And it's the one of the few hypervisors with a proof of correctness http://ertos.nicta.com.au/research/sel4/

Walsh: Secure Virtualization Using SELinux (sVirt)

Posted Aug 25, 2009 10:22 UTC (Tue) by drag (guest, #31333) [Link] (1 responses)

And.. it does not actually do anything.

It's the perfect kernel from a security standpoint. Something with nearly
zero functionality has about zero chance of ever having a security
problem!!

To do anything with it you have to run Linux on top of it... which gets you
what, exactly? A system with nearly zero hardware support running a
application environment that is less secure and has less performance then
if you just ran it on bare hardware.

-------------------

And that goes pretty much the same for "lightweight" hypervisor like Xen or
ESX.

Lets look at Xen.(I am much more familiar with Xen, but I am sure that ESX
is in a similar situation)

In order to run anything you have to take a Linux kernel, shove it up into
Ring 1 and then have your hypervisor run in Ring0.

So.. theoretically you might have some security improvements, but in
practice the Linux environment needed for you to do anything and it has
pretty much full access to your hardware and all your guests. (anybody ever
heard of a term called "DMA"?)

Sooo.. in fact your _worse_ off. Because now your not just dealing with the
Xen hypervisor your dealing with all the code that is in Linux kernel and
then all the code that is required for the hardware emulation and I/O
virtualization and all that stuff.

And Xen is no featherweither either. 300k LoC I think.

So your "lightweight" hypervisor solution weighs in at about 2-3 times
amount of code running on your system to get the same work done as just
running Linux on the bare metal.

-------

To get rid of the dependence on Linux your going to have to write hardware
drivers, create a sort of userland interface, and then all the code
neccassry for management and I/O redirection/emulation and all that...

So now your hypervisor is essentially a Linux competitor and is huge, or
you have vastly reduced feature set.

You can't get away from the fact that if you want to support hardware and
have similar functionality that you get from a kernel your essentially just
going to have to write a kernel eventually. You can call it a hypervisor,
but a rose by any other name will require about the same amount of
functionality.

Meanwhile the "heavyweight" KVM code that turns Linux into a hypervisor is
what? 30k? 50k? If you want to go by LoC that is actually quite a bit less
then is required by Xen.

---------------

People need to get the idea out of their heads that virtualization can
increase security. This is a flawed way of looking at it.

The ideal solution is to have separate machines for each service you want
to deploy. But that is expensive. Virtualization can reduce costs.. and
that is the best way to look at it, I figure. VM's are a cost cutting
thing, not a security thing. When you can not afford to do the security
right (or at least the best way) then you use virtualization.

Walsh: Secure Virtualization Using SELinux (sVirt)

Posted Aug 25, 2009 11:17 UTC (Tue) by hppnq (guest, #14462) [Link]

People need to get the idea out of their heads that virtualization can increase security. This is a flawed way of looking at it.

Indeed, the article is about securing virtualized environments, not about using virtualization to secure systems.

Walsh: Secure Virtualization Using SELinux (sVirt)

Posted Aug 25, 2009 18:59 UTC (Tue) by mheily (guest, #27123) [Link] (5 responses)

seL4 sounded great until I read this part:

> The evolution of seL4 is continuing within NICTA, and it is the basis of ongoing research activities here at NICTA. However, it is also the subject of commercialisation activities, and thus is currently proprietary. We are endeavouring to release seL4 in the future, but the time-line and exact nature of the release is yet to be decided.

Thanks, but no thanks. There are already plenty of other free microkernels out there (L4, Mach, Coyotos, HURD, Minix, etc.)

Walsh: Secure Virtualization Using SELinux (sVirt)

Posted Aug 26, 2009 9:36 UTC (Wed) by renox (guest, #23785) [Link] (4 responses)

> seL4 sounded great until I read this part:
>
>> The evolution of seL4 is continuing within NICTA, and it is the basis of ongoing research activities here at NICTA. However, it is also the subject of commercialisation activities, and thus is currently proprietary. We are endeavouring to release seL4 in the future, but the time-line and exact nature of the release is yet to be decided.

> Thanks, but no thanks. There are already plenty of other free microkernels out there (L4, Mach, Coyotos, HURD, Minix, etc.)

Sure, but those don't have the 'proof of correctness' feature so you shouldn't say that they're plenty of free alternative: if you really need this feature then AFAIK only proprietary OS provide it currently, otherwise sure there are plenty of free alternative.

Walsh: Secure Virtualization Using SELinux (sVirt)

Posted Aug 26, 2009 16:40 UTC (Wed) by Wol (subscriber, #4433) [Link] (2 responses)

Unfortunately, a "proof of correctness" isn't worth the paper it's written on.

It's maths, therefor, as per Godel, it's either trivial, wrongly spec'd, or wrongly proved. At least ONE (and probably two) of those conditions MUST be true.

Poof! there's your proof gone up in smoke...

Cheers,
Wol

Walsh: Secure Virtualization Using SELinux (sVirt)

Posted Aug 26, 2009 20:34 UTC (Wed) by jordanb (guest, #45668) [Link]

Godel says no such thing.

Walsh: Secure Virtualization Using SELinux (sVirt)

Posted Aug 27, 2009 3:12 UTC (Thu) by njs (subscriber, #40338) [Link]

> It's maths, therefor, as per Godel, it's either trivial, wrongly spec'd, or wrongly proved.

Out of curiosity, which of those categories do you think Goedel's proof falls into?

Open Proofs

Posted Aug 27, 2009 14:05 UTC (Thu) by dwheeler (guest, #1216) [Link]

There's a big need for software that is proven correct and for which the implementation, proofs, and required tools are all open source software. I call such software "open proofs". If you're interested in helping, please visit the Open proofs web site; we need people who can package existing OSS tools, as well as people who can develop and prove programs.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds