Live data from Hacker News

Assume your devices are compromised

go350.com

21–30 of 197 posts

Re: Assume your devices are compromised

#21
post #15

Er, I’m confused. Is the point of this essay that endpoints might be compromised? I mean, yeah? I agree, I guess? But also, that’s not an interesting observation, is it?

It runs counter to popular belief. The author makes however a good case for it going the way of "deleting cookies / using VPNs ... anonymizes you" soon. You get a while of "this is only theoretical" till one day its common knowledge.

I blame complexity btw. Burn it all down and we might be able to start over in rather acceptable digital stone age.

Re: Assume your devices are compromised

#22

To that point, how many people run browser proxies in the cloud to obfuscate their location and minimize the blast radius if compromised? One could filter much of the crapology somewhere safe, and then have a relatively tidy local browsing experience. I'm too busy to take this idea past the handwaving stage, but it seems like someone should have already done the homework.

> I'm too busy to take this idea past the handwaving stage, but it seems like someone should have already done the homework.

Indeed. https://www.mightyapp.com/

Re: Assume your devices are compromised

#23

The lack of per-application isolation with desktops is one of those ugly truths people try and sweep under the rug. I foresee two potential solutions to this. 1) Run everything in a VM like Qubes (essentially nerfs certain application like 3D acceleration without major R&D) 2) Utilize some container runtime to provide isolation for legacy applications and stub out features such as filesystem calls so they do not to b…

Fuschia from Google also looks to have a very good solution to this problem but is probably still a couple of years away.

Re: Assume your devices are compromised

#24

The lack of per-application isolation with desktops is one of those ugly truths people try and sweep under the rug. I foresee two potential solutions to this. 1) Run everything in a VM like Qubes (essentially nerfs certain application like 3D acceleration without major R&D) 2) Utilize some container runtime to provide isolation for legacy applications and stub out features such as filesystem calls so they do not to b…

FireJail does at least some isolation

Re: Assume your devices are compromised

#25
post #14

The lack of per-application isolation with desktops is one of those ugly truths people try and sweep under the rug. I foresee two potential solutions to this. 1) Run everything in a VM like Qubes (essentially nerfs certain application like 3D acceleration without major R&D) 2) Utilize some container runtime to provide isolation for legacy applications and stub out features such as filesystem calls so they do not to b…

Does chrome OS do this?

Chrome OS has sandboxed developer environments, which is pretty neat: https://www.youtube.com/watch?v=pRlh8LX4kQI

Re: Assume your devices are compromised

#26

The lack of per-application isolation with desktops is one of those ugly truths people try and sweep under the rug. I foresee two potential solutions to this. 1) Run everything in a VM like Qubes (essentially nerfs certain application like 3D acceleration without major R&D) 2) Utilize some container runtime to provide isolation for legacy applications and stub out features such as filesystem calls so they do not to b…

Apple will likely launch Armv9 CPUs (iDevice A16 and MacBook M2) this year. If they don't enable CCA and memory tagging, then we have to wait for Armv9 support in QEMU and a future Qualcomm SoC, https://www.anandtech.com/show/16584/arm-announces-armv9-arc... > CCA introduces a new concept of dynamically created “realms”, which can be viewed as secured containerised execution environments that are completely opaque to…

That's great! The processor's hypervisor-like firmware should handle task switching, page table manipulation, etc, and the OS kernel should use upcalls to the firmware instead of needing to have various special-case paths for various minor hardware variants. Had the x86 BIOS been a bit better designed (and a bit more performant), we likely would have seen OS kernels leaning much harder on firmware that shipped with the processor instead of having to make as many assumptions about the hardware and special-case checks.

Besides allowing for more easily isolated security domains, this allows things like (if properly designed) not needing to wait for kernel improvements to take advantage of more/wider vector registers or other changes that change the amount of processor state to serialize/deserialize when task switching.

The DEC Alpha AXP worked somewhat like this with its PALCode firmware. The Tru64 UNIX (and Linux, *BSD, etc.) and VMS kernels actually were unable to execute the privileged CPU instructions. The OS kernel needed to make upcalls to the PALCode, which then could use privileged instructions and could see model-specific registers, etc. The PALCode version used for Tru64 emulated two protection rings, and the PALCode version used with VMS emulated more (I think 4) rings of protection by just keeping an extra integer around for each task, and using that to determine which tasks could currently make which upcalls. One could (and probably should) extend this ring emulation to a bit vector of per-task revokable capabilities that could be passed to child tasks/processes/threads.

Hopefully we see something like this for RISC-V, using seL4 for the "realm manager". This would probably require an extra userspace driver process running to intermediate realm setup and manipulation, but wouldn't be in the critical path for system calls or other userspace drivers.

We're already running hypervisors so many places that it makes sense to run a formally verified separation kernel everywhere, and run hypervisors and OS kernels as userspace daemons. This avoids the hypervisor needing to emulate hardware as an ad-hoc upcall mechanism and instead simplifies both the hypervisor and the OS kernel. The overhead of modern microkernels is so low that your cell phone's baseband processor is likely running an L4 microkernel. It's called paravirtualization when the OS kernel is modified to use upcalls to the hypervisor instead of trying to perform privileged operations that will be trapped (and then emulated) by the hypervisor. Paravirtualization improves VM performance and potentially sidesteps hypervisor emulation bugs, but it would simplify the kernel (and potentially make it easier to optimize) if OS kernels ran paravirtualized even when there is one guest OS per physical computerp

Edit: Of course, there's a small performance hit in the single guest OS case, but if that's the common code path, presumably both hardware and the kernels could be better optimized. Also, if you're supporting OS-opaque realms, you're already paying this hypervisor cost all the time anyway.

Re: Assume your devices are compromised

#27
post #3

These are fun thought experiments, but I think having a personal Disaster Recovery plan is a far more applicable security exercise. What would you do if you lost your phone? If you were locked out of your google account? If you forgot your password manager master password? If your home was destroyed in a fire? Having a secure plan for quickly recovering from these scenarios is more important than trying to keep state…

If you forgot your password manager master password?

Short of brain damage, I don't think that would ever happen.

It would be a hassle for my family if I died, though. I'm young, but I should still get that scenario worked out.

Re: Assume your devices are compromised

#28
Bought a desktop recently. Thought about setting up verified boot and disk encryption, but...

[M]y biggest takeaway was that all of this was quite complicated and did not really have anything to do with what I bought this system for. So I decided to throw in the towel and flip SecureBoot off.

(See last section here, on trust): https://cameronnemo.gitlab.io/posts/lagomorpha/

Re: Assume your devices are compromised

#29
post #3

These are fun thought experiments, but I think having a personal Disaster Recovery plan is a far more applicable security exercise. What would you do if you lost your phone? If you were locked out of your google account? If you forgot your password manager master password? If your home was destroyed in a fire? Having a secure plan for quickly recovering from these scenarios is more important than trying to keep state…

If you forgot your password manager master password? Short of brain damage, I don't think that would ever happen. It would be a hassle for my family if I died, though. I'm young, but I should still get that scenario worked out.

With a death certificate, you don't need passwords, or even account numbers, to access savings, accounts at fiscal types of businesses.

It helps pf course, to have account info, but just knowing the place of business is typically enough.

For clarity, living people lose account numbers and access all the time. The death cert. gives you this same power.

Re: Assume your devices are compromised

#30
post #3

These are fun thought experiments, but I think having a personal Disaster Recovery plan is a far more applicable security exercise. What would you do if you lost your phone? If you were locked out of your google account? If you forgot your password manager master password? If your home was destroyed in a fire? Having a secure plan for quickly recovering from these scenarios is more important than trying to keep state…

If you forgot your password manager master password? Short of brain damage, I don't think that would ever happen. It would be a hassle for my family if I died, though. I'm young, but I should still get that scenario worked out.

When I am on a longer vacation and I do not use a certain password, I struggle remembering it.

If I were chucked into a prison and let out after several years with no computer use in between, I would likely forget all my passwords in the meantime. No brain damage needed, just disuse.

Post reply on HN