Inspired by: Why don't OSes protect against untrusted USB keyboards?
Related: What can a hacker do when he has physical access to a system? (I address the points of its main answers below.)
There seems to be an old adage "if the bad guy gets physical access, the computer is no longer yours". My question is, is that just hardware manufacturers suck at security, or is there an intrinsic reason that is true. Can you create systems that are secure against physical access?
Now, keeping your data secure is easy: encryption and/or hashing. What I'm talking about is keeping the device secure such that you can still trust it.
Really, it doesn't seem much different then software security. All you have to do is:
- Require any hardware add-ons to be approved by the user before being trusted:
- Use Privelege Separation. Just like when you download an app, the OS tells you what permissions it needs, you could have a computer tells you what permission the hardware needs. That way if you have a thumb-drive that requires keyboard access, you'll know something is up.
- Establish public-private key encryption between the computer and hardware. This would defeat key-loggers and other security threats.
- Just like we have certificates for websites, you can have certificates for hardware (keyboards and monitors it particular).
- As an extra layer, put all ports in the front, where the user can see them.
- Make the system physically durable, so the attacker can't rewire/insert malicious components inside the system.
- You can make it also shatter completely or something if it does break, so its obvious something is up. Basically, make it tamper evident.
- Glue it/lock it to the ground so the system can't be replaced.
- Just as an extra layer, make the computer prove itself to the user's phone, somehow. Perhaps they the user's phone and computer have setup a system that can thwart Man-in-the-Middle attacks (for example, the phone tells the user the password, but signs it with the computers public key).
Is there any other reasons I'm missing, particularly ones that make physical security completely impossible, or do hardware manufacturers just suck at security? (Even if the above aren't completely full proof, they seem like a step in the right direction.) - To prevent against spy cams, make the monitor VR Goggles, that has an encrypted connection to the computer (again, resistant to man in the middle). (Okay, this is a little fanciful, but so are spy cams.) - Actually, one way to eliminate a lot of attack vectors is to make the room sound proof and X-Ray proof (if you are worried about that stuff), and then only allow authorized persons in. You run into all the same problems as above, but know its a lot simpler, and its an extra layer. - Even just putting a lock on the keyboard can prevent physical key loggers.
I believe my question rules out the answers of Methods for protecting computer systems from physical attacks and What can a hacker do when he has physical access to a system?.
Bonus Question: Are there any systems that are secure against physical access?