4 ms·
There's a simple solution for that. Use a unikernel and make the entire OS immutable. I'm really looking forward to the day where the tools are mature enough t
by EvanPlaice 11y ago
There's a simple solution for that. Use a unikernel and make the entire OS immutable.
I'm really looking forward to the day where the tools are mature enough to make this an option.
- api 11y agoFine for single-purpose app deployments, but on a grander scale you've just pushed all the security problems back to the APIs and interfaces of your cloud provider and/or virtualization engine. Now an AWS access token constitutes a root password for everything (for example).
- digi_owl 11y agoBingo. the PCs of old were more secure in that they did only one thing at once. These days even the most barebones install have all manner of things running in the background, and any normal user setup is likely to add a dozen more.
- EvanPlaice 11y agoAccess tokens are a 'manageable' risk and AWS provides tools to enforce best practices where necessary. Locating and regularly patching security vulnerabilities across thousands of components in a fully-featured monolithic operating system isn't. It's a potential disaster waiting to happen. You don't need... ...a huge bundle of drivers when the OS will always run on a VM. ...extensive filesystem support when everything will be either transient or run directly from memory. ...multiple users when only one is required. ...OS-level sandboxing (ie kernel/user-space) when the VM already provides sandboxing. ...native POSIX tools when 'safe' alternatives can be run from the VM. Despite the best intentions of developers and admins alike, the current approach to security is not working. Despite my own vigilance, I have personally had my sensitive information leaked by two separate multi-billion dollar organizations in the past year. It's a simple fact that every feature added, increases the attack surface of the entire system. All I'm suggesting, is that it's not a bad idea to start looking to the alternatives that are becoming available.
- drdrey 11y agoI don't think it qualifies as a "simple solution" if it's not feasible with today's standards.
- fake-name 11y agoSimple != trivial. A space elevator is simple. Building one is very much not trivial. This is similar.
- EvanPlaice 11y agoNodeOS is well on the way. Packaging a server backend along with a minimal kernel and V8 VM isn't any more complicated than most of the build tools used today. Here are the specifics: http://node-os.com/GitBlog/article.html#!200 http://node-os.com/GitBlog/article.html#!200 When you cut 99% of the crap out of an OS, it becomes a lot easier to package/distribute. Most of the work on NodeOS has to do with replacing POSIX with Javascript equivalents. Immutable operating systems aren't a new idea either. How you think a Linux LiveCD works? ChromeOS is basically an immutable OS with an added persistence layer. There's a lot more work to be done before any of the Unikernel implementations (ie NodeOS isn't the only one) are ready for production. With that said, for webservers that aren't required to persist any state locally, it makes sense to remove mutability -- and there fore OS-level security vulnerabilities -- as a concern. That way, devs have more time/resources to focus on app-level security.
- drdrey 11y agoSo this happened: https://twitter.com/shit_hn_says/status/686782891716521984 https://twitter.com/shit_hn_says/status/686782891716521984