Re:Hvdos, a simple DOS emulator based on the OS X Hypervisor...
by X-Istence on Sunday January 04, 2015 @08:56PM
(#8836744)
This is something I've been thinking about. What if we could easily allow all programs to be sandboxed using virtualisation technology? Run your web browser or parts thereof inside of a VM so that any exploits are limited to just that VM.
Re:Hvdos, a simple DOS emulator based on the OS X Hypervisor...
by transpute on Sunday January 04, 2015 @09:21PM
(#8836805)
Bromium does this for common apps (web, pdf, office) on Windows, e.g. each browser tab and HTTP request is a separate VM.
Re:Hvdos, a simple DOS emulator based on the OS X Hypervisor...
by NickNameNick on Sunday January 04, 2015 @11:21PM
(#8837258)
It also alerts if a process does something 'weird',
it allows exploits to run in a sandbox and records what they do, so you can analyse it later.
Re:Hvdos, a simple DOS emulator based on the OS X Hypervisor...
by blinkingled on Sunday January 04, 2015 @09:57PM
(#8836926)
That's way more heavy weight compared to regular seccomp like sandboxes that Chrome uses on Linux - and for too little gain.
Re:Hvdos, a simple DOS emulator based on the OS X Hypervisor...
by mschuster91 on Sunday January 04, 2015 @11:04PM
(#8837188)
The question is, what exactly is the overhead of VT-d and friends, especially when done at OS-level (every process gets its own "virtual" cpu?)
Re:Hvdos, a simple DOS emulator based on the OS X Hypervisor...
by 0x0 on Sunday January 04, 2015 @11:55PM
(#8837360)
Well, you would need to install 20 copies of OSX if you have 20 apps installed, for one.
Also, for a regular app process, standard unix-level memory protection plus sandboxing should be enough. Regular apps have no use for the virtual ring0 privileges available in a "bare-metal" environment that such virtualization emulates.
Re:Hvdos, a simple DOS emulator based on the OS X Hypervisor...
by mschuster91 on Monday January 05, 2015 @12:09AM
(#8837397)
> Well, you would need to install 20 copies of OSX if you have 20 apps installed, for one.
Shouldn't it be possible to use bindmounts or other virtual filesystems for the core services?
Re:Hvdos, a simple DOS emulator based on the OS X Hypervisor...
by wmf on Monday January 05, 2015 @12:16AM
(#8837416)
Sure, that's like novm (https://github.com/google/novm). But you're still running 20 kernels. A picoprocess architecture is better, but I'd still go with containers.
Re:Hvdos, a simple DOS emulator based on the OS X Hypervisor...
by mschuster91 on Monday January 05, 2015 @02:19AM
(#8837709)
20 kernels... well, not every kernel needs to be a full kernel. Maybe tiny microkernels?
Re:Hvdos, a simple DOS emulator based on the OS X Hypervisor...
by 0x0 on Monday January 05, 2015 @04:03AM
(#8837958)
But, you'd need a complete implementation of the OSX kernel and library API surface, because that's what an OSX app expects. If you're going to try to re-use the host kernel via a virtualCPU backdoor, you're not really virtualizing anything anymore and could just stick with the unix process model?
Re:Hvdos, a simple DOS emulator based on the OS X Hypervisor...
by mschuster91 on Monday January 05, 2015 @05:07AM
(#8838085)
Not exactly, because using a separate CPU with a shared kernel can very effectively isolate processes from each other which is not possible with the unix process model. It would take either a serious kernel bug or a bug in the CPU hardware/microcode to cross the barrier in case of an exploit e.g. in a browser.
Re:Hvdos, a simple DOS emulator based on the OS X Hypervisor...
by 0x0 on Monday January 05, 2015 @06:50AM
(#8838314)
I'd rather see the sandbox model for process isolation improved, instead of trying to re-invent it from scratch with a virtual CPU that has backdoor traps for calling into the original kernel for almost everything. I'd think the attack surface would be about the same for that, and any kind of virtualization that is so lightweight that it reuses most of the host kernel. That's exactly the problem that the x86/x86_64 memory protection and CPU ring levels were intended to solve! :) Plus you won't have the stress of having to virtualize a separate network card, file system and memory map.
Re:Hvdos, a simple DOS emulator based on the OS X Hypervisor...
by wmf on Monday January 05, 2015 @11:02PM
(#8842853)
I encourage both of you to check out picoprocesses: http://research.microsoft.com/en-us/projects/drawbridge/
Maybe it's the start of an "extreme sandbox" model, where appstore apps are all virtualized.