Live data from Hacker News

Virtual Machine as a core Android Primitive

android-developers.googleblog.com

171–177 of 177 posts

Re: Virtual Machine as a core Android Primitive

#171
post #155

Earlier quoted context omitted.

Multics stands for Multiplexed Information and Computer Services (not multi-user). I don't think UNIX was ever meant to be single-user. This interview suggests that's not where the name came from anyway: https://www.linuxjournal.com/article/7035

Since Multics is written for modern or next-generation time-sharing OS at the time hence it must support multi-process and multi-user capability. This capability is represented by the multiplex terminology. In the early days of analog and digital communication, multiplex is the scheme to transmit and receive multi-user information in time or frequency domain. If you think about it, much of the complexity of Multics c…

Your reference doesn't claim that the OS was single-user, only that it was developed for a single person (Thompson). There is no evidence that it was ever a single-user system or that it was named after that.

> Because the new operating system supported only one user (Thompson), he saw it as ...

This has a lot more good references too: https://retrocomputing.stackexchange.com/questions/10907/was...

Re: Virtual Machine as a core Android Primitive

#172
post #171

Earlier quoted context omitted.

Since Multics is written for modern or next-generation time-sharing OS at the time hence it must support multi-process and multi-user capability. This capability is represented by the multiplex terminology. In the early days of analog and digital communication, multiplex is the scheme to transmit and receive multi-user information in time or frequency domain. If you think about it, much of the complexity of Multics c…

Your reference doesn't claim that the OS was single-user, only that it was developed for a single person (Thompson). There is no evidence that it was ever a single-user system or that it was named after that. > Because the new operating system supported only one user (Thompson), he saw it as ... This has a lot more good references too: https://retrocomputing.stackexchange.com/questions/10907/was...

My previous reference is for the skunkworks not for multi-user. Since it's a skunkworks project there is no requirement for the OS to have multi-user so basically Ken is free to design the Unix system as simple as he wished. That's why initially Unix is a single user, flat file, etc [1]. It's not only for single user but also only support single task or process initially. This design of original Unix is the antithesis to the Multics (thus the name Unix) and the latter was designed from the start as per requirements as multi-process and multi-user hence the inherent complexity. Ken is still alive today perhaps you should ask him directly about this fact and I've no reason to believe otherwise.

[1] Unix:

https://en.wikipedia.org/wiki/Unix

Re: Virtual Machine as a core Android Primitive

#173
post #5

Will this allow running linux VMs on any Android device ? Via something like nestbox: https://www.patreon.com/posts/74333551 ?

Straight from the horse's mouth:

> pKVM is built on top of the industry standard Kernel-based Virtual Machine (KVM) in Linux. It means all existing operating systems and workloads that rely on KVM-based virtual machines can work seamlessly on Android devices with pKVM.

Re: Virtual Machine as a core Android Primitive

#174

Earlier quoted context omitted.

Possibly one cybersecurity-related thing you could do is run a headless browser inside this VM, and bridge the network requests to the host network (a little bit like Docker). Using my open-source BrowserBox^0 project then you could have a "bit more isolated" Browser running on your Android device that would add "VM escape" to any zero-day exploit chain that might be a risk. This is speculation tho, I don't know if i…

Why do you need VM for isolation? ARM architecture already provides tools for isolation, like MMU and privilege levels. Why do you need another kernel, emulation of hardware devices? It is completely wrong method.

The kernel simply has too much code in it and too wide of a boundary to consider a good security boundary. VMs have a much smaller surface by comparison. I don't think reaching for a VM would be necessary if you had a smaller kernel.

Re: Virtual Machine as a core Android Primitive

#175

Looks like something absolutely overengineered and unnecessary. Why do you need a virtual machine with a separate kernel? Why do you need to protect it from kernel? I guess, it is made mostly for playing DRM content?

Run an older/newer version of android in the VM, assuming the host is light enough?

Maybe another OS, if someone does the groundwork on that. Or, fully suspend and move running instances across devices, which I think xen can already do.

Re: Virtual Machine as a core Android Primitive

#176

Earlier quoted context omitted.

Pretty sure Android already uses Linux containers/namespaces for app isolation.

You're thinking of ChromeOS I think, which uses a combination of containers and virtualization (via the same VMM in this article) for Linux and Android apps..

Yeah, apparently Android uses users and namespaces, but not containers as we typically know them like ChromeOS does.

Re: Virtual Machine as a core Android Primitive

#177

Earlier quoted context omitted.

The question is whether something is exploitable or just a crash. It is also a disservice to user to worry them about having to do an immediate update and evacuation of all hosts because of an out of bounds access in Gravis Ultrasound emulation. Would any crash in GCC be a vulnerability because compilers are fed untrusted source code? Perhaps, but in practice godbolt.org is going to be the only case in which you care…

Crashes are classifed as a denial of service, which is CVE. Imagine how mad any cloud host would be if they found you could crash the host from the guest. > Would any crash in GCC be a vulnerability because compilers are fed untrusted > source code? Perhaps, but in practice godbolt.org is going to be the only > case in which you care. "Untrusted" is one those other fine lines that makes assigning and rating difficult…

Crashing the host kernel is DoS. Crashing QEMU from the guest is bad because a use-after-free could be a possible avenue for privesc. But if an assertion failure can be triggered from the guest kernel, in the end it's just another way for a virtual machine to terminate itself. It sucks but it is not security sensitive.
Post reply on HN