Live data from Hacker News

Ask HN: How do you trust that your personal machine is not compromised?

news.ycombinator.com

251–260 of 469 posts

Re: Ask HN: How do you trust that your personal machine is not compromised?

#251
post #230

Earlier quoted context omitted.

> Linux kernel is simply not equipped to run trusted code and untrusted code in the same memory. Just for interest sake, is Linux better or worse than MacOS, iOS and Windows at this?

Linux is a security shit show but it is at least publicly auditable, which is a prerequisite to form reasonably confidence in the security of software, or to rapidly correct mistakes found. OpenBSD by contrast has dual auditing and a stellar security reputation, but development is much slower and compatibility is very low. seL4 as an extreme is a micro-kernel with mathematically provable security by design, but no wo…

In the case of seL4, don't confuse formal verification with security. The code matches the spec, and security properties can be extracted very precisely, but spec might contain oversights/bugs which would allow an attacker to perform unexpected behaviors.

If you define security as a "lack of exploitable bugs", then security can never be proven, because it's impossible to prove a negative. Also many formally verified systems have had critical bugs discovered, like the KRACK attacks in WPA. The formal verification wasn't wrong, just incomplete, because modeling complex systems is inherently an intractable problem.

The fact that seL4 doesn't even offer bug bounties should be a huge red flag that this is still very much an academic exercise, and should not be used in places where security actually matters.

https://github.com/seL4/seL4/blob/master/SECURITY.md

Re: Ask HN: How do you trust that your personal machine is not compromised?

#252

Earlier quoted context omitted.

>Spin up VMs via scripts for .. games this is not sustainable. you do this once and then pray nothing breaks!

I just have a clone of a clean windows VM. If something breaks or I get bored, nuke the active one and start clone, update it and make another backup, then reinstall games again. On the other hand, gpu pass-through breaks once in a while and is annoying to fix.

so more like an OOBE snapshot?

would be annoying to initiate and wait for all the windows updates, drivers and game installations every time

also runs the risk of reusing the hwid (which e.g. Epic and Ubisoft are cottoning on to and permabanning)

gpu passthrough is a menstrual headache hence the set, forget, pray attitude

Re: Ask HN: How do you trust that your personal machine is not compromised?

#253
Before defining any strategy, you need to define an appropriate threat model. Which kind of information are you storing on your device and who can target you?

If you are a standard person and not doing any illegal, the information that you need to protect are mostly related to financial and personal standpoint. So you need to protect you bank/credit card/cryptowallet with encryption and/or MFA. For financial information, use the same criteria, according also to level of continentality that you want to achieve: it's stupid to encrypt your cat pictures, it may be worth to encrypt cipher your son pictures, it's mandatory to protect your health related files also with MFA. This is just to have an idea, you should make this exercise frequently (let's say every 6 months) and verify if the security controls are in place and have to be updated.

For my own devices, I am using this approach:

* Infrastructure: I am using a password manager with MFA for all my accounts and where is possible I have enabled MFA. I have Cloudflare ZT on my home network, so I am a bit protected against web threat. Moreover, I have a script that everyday download phishing and malicious feeds and update my router's ACLs. I am not exposing anything on public, all the services inside my house are accessible through VPN. My Chinese camera are heavy firewalled in a different VLAN and reachable only from specific host. Every device is upgraded to last version and no default passwords.

* Main laptop: is running Linux, so I am feeling a bit more safer during the web surfing. Anyway, I have an encrypted backup for important data over cloud, just to be ensure disaster recovery.

* Secondary laptop: is running Windows, I am keeping it regularly updated with scheduled MS Defender scans. My wife is mainly using it, but she is not installing anything without my approval (I am the admin of the laptop).

* Phone: Storage encrypted, access protected by strong PIN and no biometric. Applications are installed only from official stores and using a DNS blacklist. My phone has a native feature to reduce and auditing app permissions on a schedule and I am doing it by myself as well sometimes. In case I have to connect to an unencrypted public network, I am using a Wireguard VPN client.

Just my 2 cents, I hope to did not forget anything and be helpful.

Re: Ask HN: How do you trust that your personal machine is not compromised?

#255
post #251
post #230

Earlier quoted context omitted.

Linux is a security shit show but it is at least publicly auditable, which is a prerequisite to form reasonably confidence in the security of software, or to rapidly correct mistakes found. OpenBSD by contrast has dual auditing and a stellar security reputation, but development is much slower and compatibility is very low. seL4 as an extreme is a micro-kernel with mathematically provable security by design, but no wo…

In the case of seL4, don't confuse formal verification with security. The code matches the spec, and security properties can be extracted very precisely, but spec might contain oversights/bugs which would allow an attacker to perform unexpected behaviors. If you define security as a "lack of exploitable bugs", then security can never be proven, because it's impossible to prove a negative. Also many formally verified…

> don't confuse formal verification with security

It sure makes auditing that code conforms to an expected design a lot easier, which is most security bugs. This is a fantastic design choice for a security focused kernel.

I will grant that proving something was implemented as designed does not rule out design flaws so, fair enough.

Re: Ask HN: How do you trust that your personal machine is not compromised?

#256
post #159

Earlier quoted context omitted.

IMO we have to step back and be honest that the Linux kernel is simply not equipped to run trusted code and untrusted code in the same memory. New bugs are found every few weeks. If history is of any guide Android and ChromiumOS likely still have many critical bugs the public does not know about yet. Sadly the only choice is to burn extra ram to give every security context a dedicated kernel and virtual machine. Hype…

I've never used Qubes. Rather I heavily segment with manually configured VMs. The ones that run proprietary software (eg webbrowsing, MSWin, etc) generally run on a different machine than my main desktop. It's quite convenient as I can go from my office to the couch, and I just open up the same VMs there and continue doing what I was doing. I define the network access for each VM in a spreasheet (local services and I…

I used to leverage VMs more (and still do in certain cases) but I've moved to disposable/containerized by leveraging Kasm [0]. There's other ways to stream environments, but it's another option. Definitely check it out if you're looking for other options.

[0] https://www.kasmweb.com

Re: Ask HN: How do you trust that your personal machine is not compromised?

#257

ex-AOSP dev here Android and ChromiumOS are likely the most trustable computing platforms out there; doubly so for Android running on Pixels. If you don't prefer the ROM Google ships with, you can flash GrapheneOS or CalyxOS and relock the bootloader. Pixels have several protections in place: - Hardware root of trust: This is the anchor on which the entire TCB (trusted computing base) is built. - Cryptographic verifi…

Windows does all of those, in addition to fine grained access controls. I would go so far as to say that the Chromium sandbox implementation is better than on Android because of the ability to completely de-privilege processes.

Re: Ask HN: How do you trust that your personal machine is not compromised?

#259
You can try to "snoop" on the virus. For example, collecting all the internet packets, see if some ports are opened that is not needed. Collect logs on which apps are eating up the battery. These steps are not perfect by any means, but you can catch some noisy virus with this. If your virus is very stealthy you can only hope your passwords show up in haveibeenpwned.

This is also why using an open source OS is so important. At least you can investigate why something is happening in the OS. Without the source you can only guess at what is happening.

Post reply on HN