Live data from Hacker News

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

news.ycombinator.com

31–40 of 469 posts

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

#32
post #11

I don’t have ultimate trust in any software or hardware, but I get to “good enough” by deciding which providers I trust: * Software: Canonical, Google, Microsoft, Valve, Oracle, Dropbox. I install software from their official repos and keep it up to date. Anything 3rd-party/unofficial/experimental/GitHub goes in a VM. * Hardware: I built my main PC from mainstream commodity components. I have no way of knowing if the…

"which providers I trust:

* Software: Google, Microsoft"

I trust that Google and Microsoft won't hack into my bank account and steal money, even though they could, but otherwise I assume they collect anything they want and can.

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

#33
Bios? I'm not sure I can ever be certain.

For the rest, I run a pretty esoteric setup (compiled-from-source custom configured linux kernel with no binary blobs; all software compiled from source, with no exceptions; aggressive, burdonsome-to-me privilege separation; chroots and VMs for various degrees of potential threat; etc). I have no illusions that it is perfectly safe. What I am comfortable with is that, in order to compromise me, you would have to know a lot about what I run and how I run it. I believe that I would have to be nearly individually targeted to extract any useful data from my machine, and that I am not nearly a valuable enough target for anyone to do so. I think you would have to be a state-level actor or someone with similar capabilities to compromise me, and none of them would care enough.

My security paranoia stems from extremely sensitive work I did as a lawyer long ago, but I am now so used to it that I carry on as a scientist, even though my current work is not nearly so sensitive (if at all). I give up a lot of convenience and some functionality to operate this way, so it is not for everyone. I am not an adversary to anyone, so outside state actors surely don't care about me. And my own government can just get a warrant and knock on my door, so they don't care about me either.

Embedded device firmware besides the bios is probably my main vulnerability, but if you're successfully getting at me through my hard drives or mouse, then I was surely an incidental rather than actual target.

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

#34
post #11

I don’t have ultimate trust in any software or hardware, but I get to “good enough” by deciding which providers I trust: * Software: Canonical, Google, Microsoft, Valve, Oracle, Dropbox. I install software from their official repos and keep it up to date. Anything 3rd-party/unofficial/experimental/GitHub goes in a VM. * Hardware: I built my main PC from mainstream commodity components. I have no way of knowing if the…

"which providers I trust: * Software: Google, Microsoft" I trust that Google and Microsoft won't hack into my bank account and steal money, even though they could, but otherwise I assume they collect anything they want and can.

I assume they profile me, but I don't assume they steal my files.

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

#35
post #9

Here's a short, fairly practical guide that you might find helpful: https://www.ncsc.gov.uk/files/Cyber-Essentials-Requirements-... . It is aimed mostly at small businesses, but I find a lot of the guidance to be pretty relevant to my personal IT. My even shorter (and incomplete) summary of the document would be: configure your router and firewall; remove default passwords and crapware from your devices; use a lock s…

Would be interested in hearing other things that HN'ers do to limit risk.

Mostly the same basics as you. The document you linked is a good starting point.

I'd add extensive use of virtualisation and sandboxing. I run less and less software as native, installed applications on any device I use personally or professionally. Instead it tends to run inside things like VMs or Docker containers or cloud-hosted platforms now.

My basic policy is to try and make every device and installed application expendable/replaceable in case anything breaks or gets compromised and then focus on the data. I apply the principle of least privilege for access to any sensitive data, try to keep all important data in standardised formats and avoid lock-in effects as much as reasonably possible, and keep good back-ups under my own control with the ability to redeploy/restore anything quickly and as automatically as possible.

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

#36
Like others here are saying, you can never be 100% sure. But that doesn’t mean there’s nothing you can do.

If you’re worried about the impact to your broader organization (which is what most of the sophisticated threats tend to target), you should think about risk mitigation through the Swiss Cheese defense model. Each system is inevitably going to have holes, but layering them on top of one another will incrementally improve your coverage.

For instance:

- Your team should be trained about phishing attacks. But inevitably some will get through, so…

- You should implement 2FA in case a password is compromised. But a threat actor may be able to capture a 2FA-passed SSO session token, so…

- Production access should be limited to a small number of individuals. But even they might get compromised, so…

- You should programmatically rotate credentials to make old leaked credentials useless. But a newer one might be captured, so…

- Data should be sufficiently encrypted at rest and in transit, and…

- Your team should have an incident management system and culture in place to quickly respond to customer reported incidents and escalate it to the right level and…

- Audit logs should be tracked to understand the blast radius in case of compromise - and so forth

When you look at incidents like CircleCI and LastPass, a good security organization will understand that there was more than just one point of failure and should talk in detail about how they are shoring up each level.

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

#37
BIOS/Firmware: I just do, if I am compromised then I won't find out anyway.

OS/app level: occasional AV scans, though I don't trust clamav as much as I trust Windows antivirus.

I should really properly set up secure boot on my desktop to make rootkits harder to install, but Linux and secure boot are just too much of a kludge.

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

#38
post #25

Great question. I don't anymore. Decades ago when I had a 286 and knew what each file did and what all the software was, and threats were limited and crude, I had good confidence of controlling my machine. Today, when my laptop has millions of files and each website - even hacker news - could inject something malicious and my surface is so broad (browsers applications extensions libraries everything) and virtually an…

On the backup question, this is one reason why I have a set of backups that are physically disconnected and not automated.

I have a backup NAS that's normally powered off, but it's scheduled to turn on, perform backup, shut down.

It doesn't wake on LAN and there should be no way of knowing it exists outside of checking DHCP static addresses reservations - and now that I mention it, maybe I should remove it from there too.

This minimises the size of the window, and network-snoopable information, required to compromise this set of backups.

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

#39
post #23

Earlier quoted context omitted.

Not helpful

Why not? It still possible to communicate securely using compromised devices and networks.

Could you expand on this? How would I securely communicate from a device that, say, has a kernel level implant? This is one of those cases where SGX/TrustZone would be immensely helpful but nobody has built a messenger that actually somehow fully lives in an enclave.

If you assume every device you use is compromised, how can you possibly use any encryption?

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

#40
Some OS mitigations:

  All: patch, encrypt, backup, track power, isolate workflow by device/VM
  Network: router with OSS firmware, workflow segmentation, reduce wireless
  iOS: (>A12 SoC) Lockdown mode, Brave w/o JS, daily reboot
  iOS: periodic reinstall from DFU mode, Apple Configurator / MDM policy
  macOS: hardening script based on workflow, outbound firewall
  Windows: Secured Core device + SystemGuard + App Guard VM isolation
  Windows: HP device + SureStart (f/w check) + SureClick (browser VMs)
  Linux: vPro device + QubesOS with Anti-Evil-Maid 
  Linux: generic device + non-persistent LiveCD OS image
Post reply on HN