A key-infra open-source project can get compromised
lof.flounder.online
lof.flounder.online
> $ base64 private.key
> RBjU5k0Dfdqtyzx4ox6PfQoqrdCft/aFJieD2DQvloY=
> I'm publically leaking the key myself now. Don't trust it.
What?
I find it easy to get tangled up in the pedantry of correctness sometimes, and see things like security as effectively binary (99.99999% might as well be as good as 0%). Simplifying things down that way makes for a very mentally straightforward (black and white) way of looking at things but simply does not gel with human imperfection in practice.
I accidentally left Xvnc running "for a quick thing" on my VPS once to find it mining Monero when I returned later and wondered why it was a bit slow. That taught me a few good lessons - like the security ramifications of the "once you've started you're on a roll" mental intertia thing, which can intuitively turn something I anticipate to maybe take 30min into something longer once I'm over the hurdle of starting it; but it also taught me that I'm a bit OCD about intrusions, and (despite the fact that whoever found the VPS was likely more interested in XMR than the boring files on it) I still completely nuked it and reinstalled from scratch... because of course I had NOPASSWD in sudoers :/.
So I empathize with total local device compromise, which would hurt. But by the same token, it may be singularly effective to grab a favorite/preferred device, reinstall just that, turn everything else off (and maybe even notifications as well) for a week or two, and just decompress.
I've never actually heard of this project before (anything involving video with my hardware/internet connection = not going to work lol) but I can easily see that it's up near the top in terms of competence and execution at what it does and the niche it fills. The resiliency that comes with that will probably take more than a week or two to put a dent in, FWIW.
And this article has actually got me wondering about the wisdom of just segregating everything, BeyondCorp style, even in home LAN situations. The challenge there would be to achieve a comfort zone that makes it hard for lazy-me to make mistakes and which doesn't introduce friction that makes me want to throw up my hands and just mush everything onto the same network switch. I suspect that would probably wind up being an emergent, site-specific DevOps problem and a case of modeling the humans, not the computers (which in a home/lab setting are just prototyping tools).
I still have to do some figuring about how to expose services I want to expose; I may create a second ZT network as a "DMZ" and then use an intermediary host as a choke point to filter and screen traffic.
The article just (badly) sums up what you can find in the release notes, the issues, and the readme.
That leads to an argument for updates being performed manually after inspection of the changes involved.
Counter-arguments could include:
- Users will not care to see what has changed in an update
- Security updates are important to roll out immediately
Responses to those could include:
- Automated update rollout to the majority of users could be conditional on a smaller, inspective subset community of users manually examining and approving the update first (not too dissimilar to a Quality Assurance process). In the context of project owner compromise like the example in the article, this should catch the issue and prevent rollout to users. If an update is approved "with concerns", then the review community is likely to share those concerns with a wider audience, leading to awareness and hopefully resolution.
- Security updates could be rolled out more quickly -- but with a requirement for sign-off by multiple security-focused engineers and product specialists. That could help to reduce exploit exposure time for users while providing for adequate review of changes (security fixes can, in themselves, be challenging to review and confirm).
Also potentially relevant to this topic: how would a community that uses proprietary software develop confidence in an update before choosing to apply it locally?
This is a Linux distribution, and the users paying more attention are the contributors or package maintainers. The trouble is this doesn’t scale with the sheer volume of software we use today. You don’t see many distros trying to individually package everything they use from NPM for example, and for good reason.
I’m convinced that the only way around this in the long term is for our software to actually run with least privilege, including the libraries within applications.
https://medium.com/agoric/pola-would-have-prevented-the-even...
then proceeds to mention a project which is not officially packaged/distributed by any of the major distributions.
Trust is always relative. Just as in commercial software, trust in the original authors is never total and can only grow with continuous verification and non-exploitation.
Why do you even accept giant patches which you can’t review?!
I don’t know what happened there, but the issue linked sets off so many alarm bells that all I want is to run away.
The best safety net I'm aware of is that source code and/or diffs in plaintext (not binaries) are distributed, and that recipients inspect them.
It's reasonable to distribute binaries in addition, although recipients take on risk by using those. That risk can be mitigated in the presence of source code and reproducible builds.
So to harness that optimism again: it's a challenge and an opportunity to build the correct collaboration and analytical tools to audit codebases quickly and effectively in a distributed environment.
If you are adding large changes without carefully reading the diffs and you do not sign the commits it's just a matter of time.
Signed commits are a nice way of also sealing that history and validating authorship or approval of some sort.
However, if someone wanted to use this code immediately they could run it in a qemu VM and forward a port or something.
Is the codebase itself compromised? Did the developer's computer get compromised?
Did one of the external libraries that it pulls in from git get compromised?
https://github.com/lawl/NoiseTorch/issues/254#issuecomment-1...
Also this is very good example, why everyone should use VM for browsing internet, or better yet - different machine. If you're popular enough, there alway be people who will use that $1mil RCE on you.
Well, it seems the maintainer panicked hard really quickly, assumed NoiseTorch was compromised, and deleted everything on his computer that could help knowing if it was actually the case...
> This program comes with ABSOLUTELY NO WARRANTY
when it says no warranty, they mean it