Live data from Hacker News

A Kernel Hacker Meets Fuchsia OS

a13xp0p0v.github.io

51–60 of 296 posts

Re: A Kernel Hacker Meets Fuchsia OS

#52
post #47

The people who work on fuchsia are very good engineers - I’ve worked with many of them in person. But the project itself has always been a staff retention project. It only existed to keep said engineers from going to a competitor. I don’t know how any understanding of fuchsia is possible without this crucial fact

Does that mean you don't believe it's going to replace Android/AOSP? It's in some Nest devices right now.

Android is being ported into Fuchsia,

https://android-review.googlesource.com/q/fuchsia

What is more likely to happen is to replace Linux with the Fuchsia infrastructure.

Re: A Kernel Hacker Meets Fuchsia OS

#53

I think the more interesting thing here is the fact that so much code in their repository appears to be bit-rotted or half baked, despite being documented. KASLR is mentioned all over the place but doesn't work and the answer is "we know, it's there only to stop it bit-rotting". You need to patch the system to do kernel debugging because otherwise the toolchain hangs. Syscalls are documented as enforcing security rul…

I think you are downvoted because you touch on the BLM/Asian Pacific stuff, which tickles people. But yeah you are also very right.

Just because they have those banners up doesn't mean those point to some latent reason for whatever is responsible for their woes. Granted it gives a window in to the culture of the Fuschia team at Google, but to me, personally, it doesn't come off as virtue-signalling at all but rather a conscious effort to put diversity and inclusion in the front and center of what they do. As another example, Google has had socio-political doodles for decades, but I never considered those as virtue-signalling.

Re: A Kernel Hacker Meets Fuchsia OS

#54
post #27

My takeaway from the article is that Fuchsia exposes a capability-based interface externally, but uses the old kind of privilege-checking inside the kernel. Once a single sloppy check was found, the game was over: a privilege escalation and planting of arbitrary code into the kernel followed. Did I miss anything?

Yes - you can't run untrusted native code in the first place outside of the emulator ;)

That's why the bug says: "The overall impact of this bug is pretty minimal in our current set of supported products, since none support running untrusted native code, and if you can run your own code on the system, then (at present) you can also use other existing supported workflows to obtain kernel logs, but it does seem to be a useful stepping stone towards privilege escalation if you have already obtained code-exec in some process through another exploit."

So while not awesome, also not possible on a real device right now without a code-exec exploit.

Re: A Kernel Hacker Meets Fuchsia OS

#56

I think the more interesting thing here is the fact that so much code in their repository appears to be bit-rotted or half baked, despite being documented. KASLR is mentioned all over the place but doesn't work and the answer is "we know, it's there only to stop it bit-rotting". You need to patch the system to do kernel debugging because otherwise the toolchain hangs. Syscalls are documented as enforcing security rul…

Or maybe it's just that building a kernel, network stack, etc from scratch, and getting it to the point where it's stable, secure, sufficiently performant, compatible etc, compared to what's already out there is a massive undertaking - microkernel or not - and they just need more time.

Let's not forget that Android didn't even have smooth 60fps scrolling until well into the 2010s.

Re: A Kernel Hacker Meets Fuchsia OS

#57
post #47

The people who work on fuchsia are very good engineers - I’ve worked with many of them in person. But the project itself has always been a staff retention project. It only existed to keep said engineers from going to a competitor. I don’t know how any understanding of fuchsia is possible without this crucial fact

Does that mean you don't believe it's going to replace Android/AOSP? It's in some Nest devices right now.

I'm sure in the next 10 years it will replace both Android and ChromeOS. Starting with ChromeOS first, then Android itself.

Otherwise, why is Fuchsia already running the Chrome web browser? [0]

[0] https://9to5google.com/2022/03/04/full-google-chrome-browser...

Re: A Kernel Hacker Meets Fuchsia OS

#58
post #38

Earlier quoted context omitted.

Not necessarily. The core idea of capabilities is more like having a URL to a Web page. Using the URL (the capability), you can access the contents of the page. Inside the contents, you can possibly find other URLs (more privileges granted to you). But the URL happens to be something like an UUID, or a short link; looking at it, you cannot derive another URL (discover another "capability", not granted to you). In oth…

Interesting. Is this in practice implemented as just capabilities being large numbers so it's impractical to guess them, or does the kernel have a table with all of a process's capabilities and when a message is sent to a process with capabilities the kernel adds them to the table? That is -- are capabilities just pieces of data in a message you can detect and try to use, or do they have to be added explicitly to a m…

The kernel maintains a table of which handle values each process owns and uses that to check the capabilities of the calling process when handling a syscall. Sending a capability in a message updates this table as the ownership changes.

We use (somewhat) large and non-dense numerical values for handle values to reduce the risk of accidental reuse of values.

Re: A Kernel Hacker Meets Fuchsia OS

#59
post #16

Wow, it is surprising how awful every last bit of Zircon code reproduced here is. I have to guess the rest is about as bad. This dreck would never pass code review at my shop.

I skimmed through the article and nothing stood out. Can you give an example of a piece of code you didn't like?

Re: A Kernel Hacker Meets Fuchsia OS

#60
post #2

Very nice right up on how unfinished and insecure Fuchsia is as a result of it being so unfinished.

Unfinished does not justify unsecure!

You start with something secure and rudimentary and add features over time.

You don't start with something unsecure and then add security to it.

Post reply on HN