-
-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Brainstorming: security hardening tools #181
Comments
Key points from OT RaspiBolt discussion:
Additionally, requiring physical access can be annoying and even then covertly compromising a device is not entirely impossible. Perhaps best approach it with paranoia: if the device is off/locked verify checksum of its bootloader, then unlock. Use UPS to reduce false positives. Also possible to automate it with a USB stick with bootloader that does it automatically and the owner carries it around all the time or just has it at a hidden separate place. This still requires the owner to check bios settings to guarantee that it'll boot from that stick only. |
This is one huge project 😮 Also, honoured to be the first "foreign" poster 😄 |
I do not have specific background in system security, nor IT is my trade actually, yet my idea is to have a system that will boot, and independently go to operational state, only as long as its hardware has not been tampered with, much like what you exemplified above. This wouldn't require any unlocking, either remote or local. |
Thanks for feedback! You can actually very granularly install things here! E.g. Yes, the maintenance required is pretty significant, I managed to automate bunch of it but there are still a few pieces missing and some developers don't care much about compatibility. But so far this is working pretty well and the users seem to be satisfied. If you're willing to share any scripts I'd be interested since I want to provide similar things here at some point and inspiration would be nice. To actually guarantee the security you want you need some kind of tamper-detecting case for your device. E.g. something like what Orwl has. I'm interested in this too but I consider it a long-term plan. I have a pretty good understanding of how and why such should be designed but it requires lot of work to actually execute. |
My scripts are an unreleased work in progress, and they are inspired to what 03d is doing on LEGALIZE_MATH repo on a much more advanced stage, while he uses nodejs I code in PHP which is the only advanced language I'm fluent in. It's used to automanage fees and rebalances for now, and I need to complete both functions to my liking; in the future I might add a function to suggest new channels, or channel closures, who knows. Orwl is extremely expensive, and that's not what I'm after on my raspberry, and yet that looks like going in the right direction |
Yeah, I didn't mean to suggest buying Orwl, just somehow having similar case. Perhaps it could be possible to DIY. |
I would love to DIY something like that, and yet I cannot fathom how someone would go about having an encrypted system to boot up to operating status without user input and still being inaccessible unless password is enterede |
The trick is having the password stored in a safe battery-backed chip that erases it if anything suspicious happens (tampering with the case, low battery ...) If nothing suspicious happened the chip sends the password to the device on boot. The operating system knows that the password entered is not the same as logging in so it doesn't allow use by anyone. (Something similar can be observed in Qubes OS - the password has to be entered twice - for decryption and login.) |
So the chip would have to be seen, for convenience's sake, as a /dev/sdX mounted as fat or ext4 or whatever, that contains the keyfile after you copy it over, and is mounted via /etc/fstab, and it might auto-erase itself given the conditions you stated, or rather, just erased when a pin is pulled to ground, whatever triggers that grounding... or if there is no power. So maybe plugged in a usb port, you wouldn't need the "autoerase on grounded pin", it might just be any volatile usb pendrive? If it's taken out, bam no more keyfile to be read by an attacker. Downside is that after a power outage that takes out the ups, you'd still need to be there to insert the password and copy over the keyfile. |
There are security considerations mildly out of scope of the repository itself (the repository assumes OS is securely installed) but perhaps we could provide additional tools to make things easier for people.
Things that come to mind:
The text was updated successfully, but these errors were encountered: