Live data from Hacker News

Virtual Machine as a core Android Primitive

android-developers.googleblog.com

51–60 of 177 posts

Re: Virtual Machine as a core Android Primitive

#53
post #16

Earlier quoted context omitted.

This is such a bad take. I'd love the easy ability to run confidential computing loads with fine grained control over the data it gets access to. You can do this now on the desktop using SGX (etc) but on mobile it's really hard. As a specific example of this, it'd be great to be able to run Whisper continually and have strong, system level guarantees about what can read the data.

The threat model you have in your head seems to imply that you don't trust your OS to not peek into what Whisper is doing? There are very few workloads that need or can operate under that model.

So I'm most familiar with using this in cases like machine learning on private data in cloud environments where you want to make it impossible for the cloud operator to see the data you are using.

I think there are usecases like this outside the mobile _phone_ that are interesting. For example on-device learning for edge devices where the device is not under your control.

Re: Virtual Machine as a core Android Primitive

#54

Earlier quoted context omitted.

It's not really a matter of need, more a matter of good hygiene. Do you trust any modern OS not to accidently include sensitive information when it generates a crash report for an app and sends it off the some remote server in the background? Isolation is a useful tool. In an ideal world it can be done perfectly at the OS level, but we don't live in that world.

I agree that being able to isolate things that have different security domains is a useful tool. That said, I am not really seeing how pKVM provides useful primitives for much other than DRM, which has historically been the primary usecase for trusted execution that isolated VMs seem to provide.

As I said in my other response, I make heavy use of trusted (confidential) VMs for machine learning in cloud environments.

There are also vendors that are doing smart contract execution in trusted computing devices so you can get the benefits of trusted execution without the overhead of everyone executing the same code.

Re: Virtual Machine as a core Android Primitive

#56
post #52

How does two way isolation work? How do you prevent the host kernel (which presumably has full control of the hardware?) from inspecting the guest VM?

It must be relying on a TPM somehow, right? That isn't possible with any normal software VM

Re: Virtual Machine as a core Android Primitive

#57
post #25

Earlier quoted context omitted.

I used to work at Google adjacent to this stuff and A) you wouldn't boot up a whole VM for this, on a phone, that'd be very wasteful B) there's much simpler ways to provide the same guarantee. So in general, just would avoid labeling the quality of other people's takes. You never know who is reading yours

I agree there are currently better ways of doing this (because as you mention the resource/protection trade off for this technology on this application is sub-optimal), but the context here is as an example on HN where the data privacy is obvious so I didn't have to write a whole paper explaining it.

Its "not even wrong", if you had a million monkeys on a million typewriters with a million trillion millenia, still, none would come up with a paper long enough to explain how that'd help anything (ex. trivially, microphone)

Re: Virtual Machine as a core Android Primitive

#58
post #52

How does two way isolation work? How do you prevent the host kernel (which presumably has full control of the hardware?) from inspecting the guest VM?

You can inspect their hypervisor code and verify the host kernel can not access the VM after creation but if you are running as root then you can obviously inspect whatever process is under host/hypervisor control.

Re: Virtual Machine as a core Android Primitive

#59

Earlier quoted context omitted.

> if I spin up a VM with networking disabled I feel pretty confident I can run anything safely, even malware is not going to escape. You are putting too much faith in your VM monitor to keep you safe. There's a lot of attack surface in (for example) QEMU peripherals, and there's plenty of examples of VM escape [1]. CrosVM is probably the only publicly available VMM I'd be willing to trust, and even then I'd be nervou…

I'd probably trust firecracker too since it was designed specifically to avoid qemu's attack surface and runs in production for Amazon.

[deleted]

Re: Virtual Machine as a core Android Primitive

#60

Earlier quoted context omitted.

> if I spin up a VM with networking disabled I feel pretty confident I can run anything safely, even malware is not going to escape. You are putting too much faith in your VM monitor to keep you safe. There's a lot of attack surface in (for example) QEMU peripherals, and there's plenty of examples of VM escape [1]. CrosVM is probably the only publicly available VMM I'd be willing to trust, and even then I'd be nervou…

I'd probably trust firecracker too since it was designed specifically to avoid qemu's attack surface and runs in production for Amazon.

Qemu also runs in production darn near everywhere, especially on Xen.
Post reply on HN