Live data from Hacker News

Virtual Machine as a core Android Primitive

android-developers.googleblog.com

161–170 of 177 posts

Re: Virtual Machine as a core Android Primitive

#161

Earlier quoted context omitted.

This is already possible if your phones ship with the KVM kernel module, like on some Pixel devices, but reading the article suggests that KVM will become standard on all Android devices to enable this. edit: according to this[1], yes, the pKVM functionality that's standard in Android exposes KVM functionality so that you can run VMs on Android. [1] https://www.xda-developers.com/android-13-dp1-google-pixel-6...

A full linux environment (with external monitor support) sounds awesome. I hope that enabled KVM becomes standard Would graphics acceleration work properly?

Depends on the kind of acceleration you want. VirGL is available on Linux host/Linux guest setups with recent kernels, not sure if QXL/SPICE will be available or can be added to the userland. Can't imagine a hardware passthrough situation making sense on a phone/tablet, either.

Re: Virtual Machine as a core Android Primitive

#162

Earlier quoted context omitted.

This is already possible if your phones ship with the KVM kernel module, like on some Pixel devices, but reading the article suggests that KVM will become standard on all Android devices to enable this. edit: according to this[1], yes, the pKVM functionality that's standard in Android exposes KVM functionality so that you can run VMs on Android. [1] https://www.xda-developers.com/android-13-dp1-google-pixel-6...

Which Pixel devices? Is it something new or not-so-new?

I couldn't tell you, sorry. Just going off what I've read in some articles like the one I posted.

Re: Virtual Machine as a core Android Primitive

#163
post #160

Earlier quoted context omitted.

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)

> trivially, microphone Qualcomm has trusted input for at least touch sensors into their trusted enclave (unsure about microphone input at this point). Look for "TUI" in https://www.qualcomm.com/content/dam/qcomm-martech/dm-assets...

Yes

Re: Virtual Machine as a core Android Primitive

#164
post #146

Earlier quoted context omitted.

Sure, you shouldn't always get to be root on other people's computers. But you absolutely should get to be root whenever you want on your own computers.

Depends, that is how normies get Ask Jeeves toolbars.

Interesting choice of example, since malicious browser extensions don't require admin rights to get installed.

Re: Virtual Machine as a core Android Primitive

#165
post #82

Earlier quoted context omitted.

Android apps are already running on top of a Virtualisation Technology", both current ART (Android Runtime) and the previous one, Delvik, runtimes are virtual machines, process level virtual machines, but they do bytecode translation/JIT nonetheless. If AVF allows running native code, it might actually be cheaper than the current arrangement.

Android apps can already run native code, so there's no performance benefit. Also, Java "virtual machines" and native virtual machines are two very different things, they shouldn't be equated.

[deleted]

Re: Virtual Machine as a core Android Primitive

#166
post #155

Earlier quoted context omitted.

The multi-user part for Android OS is not an extrapolation, it is inevitable. Fun facts, Unix name is a joke to Multics, where Multi stands for multi-user, and everyone know what happened soon to Unix single user name indication.

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 come from its multi-user requirement with overly complex access control matrix, multitude of file types including design for multi-user support, etc. Thus the Unix name metaphor or pun is to make it the latter simple by requirement and design. Remember that Unix was started as a skunkwork and even the original PDP-7 that being used originally was donated by other department of AT&T if I remember correctly it was the sound signal processing department [1]. If it is an official project, the multi-user requirement will be there from the start since arguably AT&T is the largest technical company at the time and they will want multi-user from the get-go.

But after some time and considerable success of Unix, the designers probably looks childish due to the naming since they did introduce multi-user at the later stage, and toned down the exact meaning of Unix. What is the opposite of multi, it is uni.

[1] The Strange Birth and Long Life of Unix:

https://spectrum.ieee.org/the-strange-birth-and-long-life-of...

Re: Virtual Machine as a core Android Primitive

#167
post #146

Earlier quoted context omitted.

Depends, that is how normies get Ask Jeeves toolbars.

Interesting choice of example, since malicious browser extensions don't require admin rights to get installed.

An example, I could have picked something else, doesn't make less relevant in how normies mishandle their computers, and if being pedantic with this specific example, unless using Firefox, in what concerns Safari and Chrome installing such extensions can be disabled, at least in corporate computers.

Re: Virtual Machine as a core Android Primitive

#169

Earlier quoted context omitted.

> We are colleagues by the way. :) I'm aware, I see you comment here regularly. QEMU doesn't have to assign CVE's but any other CNA can. I do not believe that its good security or even good practice to negotiate out of exploitable flaws. Its a dis-service to users. I don't have enough skin in the game to change upstream QEMU's mind on this, systems in exploitable configurations are just as exploitable with or without…

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 and not something that is taken lightly. Compiling software as a user with additional capabilities, could escalate an attackers position assuming they can inject code into the tree to be built. It would be easier to abuse 'make' to execute code, however this is different than the qemu use case.

The QMEU "development" case could (and likely is) someones regular runtime use case. I dont see a clean way for the qmeu team to communicate this, and even if they did, privesc is privsec. Until we as an industry have a clear definition of what we will and wont "support" and users are familiar with the expectations, we're stuck with the hand we've been dealt.

Hopefully that all makes sense, none of it is said to antagonise or draw hate.

Re: Virtual Machine as a core Android Primitive

#170

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.

If defense in depth is a foreign concept I imagine a lot of modern security mitigations will look wrong to you too.
Post reply on HN