3 ms·
I don't think you understand the difference and fluidity of what a distribution is and how it differs from likelihood curves. You've made some significant assu
by than3 4y ago
I don't think you understand the difference and fluidity of what a distribution is and how it differs from likelihood curves.
You've made some significant assumptions, one of those assumptions is that the brute force way is the most efficient way or put another way there is no optimal way to calculate collisions better than brute force.
That line of thinking is very flawed. Has shown to be flawed many times in the past several decades, and shouldn't even be up for debate given the evidence and deprecation of various cryptographic functions (as vulnerabilities become known publicly). We all know vulnerabilities were known before the deprecation because detection is a lagging process.
Also note, as far as the respondents of the project I've spoken with have said, they do not even check for existing collisions. So if a collision did occur, you wouldn't even know it without specialized knowledge.
- anon291 4y agoWhat kind of collision are you envisioning? And what's the failure case? Two packages that suddenly have the same hash are still going to differ in the package name and version string, and thus different directories on the nix store. You can never have something compromised injected onto your computer this way either because nix requires signed builds to download from a remote repository. If you trust a malicious repository... that's on you. By default, only nixpkgs is trusted with the default hydra.
- than3 4y agopackage name and version string are part of what, the metadata manifest provided right? As a thought experiment, say a collision is found for libc or the standard library, thanks to all that research on primes that's been released recently, assume a more efficient search is found. What would the failure domains be for those two libraries if, a) the library was non-functional suddenly, or b) the library remained functional but malicious. Would Nix detect the collision, or would Nix simply recreate the dependency graph overwriting the old but secure with this new malicious software. Almost all of the security primitives are implemented at domain edges, which means local access, or remote exploitation would have equal effect, and a watering hole/supply chain attack may not even be necessary.
- the_gipsy 4y agoNothing would happen. Like the other commenter said, you trust your package repo like with any other distro.
- shakow 4y agoSo, basically, you're saying that Nix is insecure, because you need hash collision + signature forgery + malicious access to repos; whereas in a standard distro, you only need signature forgery + malicious access to repos? I really don't get your point.
- viraptor 4y ago> thanks to all that research on primes that's been released recently, assume a more efficient search is found. That's just trolling. Primes have nothing to do with sha256 beyond the initial value. It's just bitwise operations and additions.