News for hackers. Stuff that matters.
Re:Nixos-unstable’s ISO_minimal.x86_64-Linux is 100% reprodu... by jnxx on Sunday June 20, 2021 @05:38PM (#27574159)
That's too black-and-white. Being able to reproduce stuff makes some kind of attacks entirely uninteresting because malicious changes can be traced back. Which is what many types of attackers do not want. Debian, or the Linux kernel, for example, are not fool-proof, but both are in practice quite safe to work with.
Re:Nixos-unstable’s ISO_minimal.x86_64-Linux is 100% reprodu... by zamadatix on Sunday June 20, 2021 @05:39PM (#27574165)
Who are you going to trace it back to if not the maintainer anyways? If the delivery method then why is the delivery of the source from the maintainer inherently any safer?
Re:Nixos-unstable’s ISO_minimal.x86_64-Linux is 100% reprodu... by jnxx on Sunday June 20, 2021 @05:45PM (#27574190)
No, it is not always the maintainer. Imagine you download a binary software package via HTTPS. In theory, the integrity of the download is protected by the server certificate. However, it is possible that certificates get hacked, get stolen, or that nation states force CAs to give out back doors. In that case, your download could have been changed on the fly with arbitrary alterations. Reproducible builds make it possible to detect such changes.
Re:Nixos-unstable’s ISO_minimal.x86_64-Linux is 100% reprodu... by zamadatix on Sunday June 20, 2021 @05:49PM (#27574221)
Same as when you download the source instead of the binary and see it reproducibly builds the backdoored binary. And at this point we're back to "Build from source. This will always be a deeply niche thing to do. It's slow, inconvenient, and inaccessible except to nerds." anyways.

It's not that reproducible builds provide 0 value it's that they don't truly solve the trust problem as initially stated. They also have non-security value to boot which is often understated compared to the security value IMO.

Re:Nixos-unstable’s ISO_minimal.x86_64-Linux is 100% reprodu... by bigiain on Sunday June 20, 2021 @07:09PM (#27574651)
I guess reproducible builds solve some of the problems in the same way TLS/SSL solves some of the problems.

Most of the world is happy enough with the soft guarantee of: “This is _probably_ your bank’s real website. Unless a nation state is misusing their control over state owned certificate authorities, or GlobalSign or LetsEncrypt or whoever has been p0wned.”

Expecting binary black and white solutions to trust problems isn’t all that useful, in my opinion. Often providing 50% more “value” in trust compared to the status quo is extremely valuable in the bigger picture.

Re:Nixos-unstable’s ISO_minimal.x86_64-Linux is 100% reprodu... by zamadatix on Sunday June 20, 2021 @08:24PM (#27575050)
Reproducible builds solve many security problems for sure but but the problems it solves in no way help you if the maintainer is not alturistic or bad at security as originally stated. It helps tell you if the maintainers toolchain wasn't compromised and it does it AFTER the payload is delivered and you built your own payload not made by the maintainer anyways. It doesn't even tell you the transport/hosting wasn't compromised unless you can somehow get a copy of the source used to compile not made by the maintainer directly as the transport/hosting for the source they maintain could be as well.

Solving that singular attack vector in the delivery chain does nothing for solving the need to trust the altruism and self interest of maintainers. A good thing™? Absolutely, along with the other non security benefits, but has nothing to do with needing to trust maintainers or be in the niche that reviews source code when automatic updates come along as originally sold.

Re:Nixos-unstable’s ISO_minimal.x86_64-Linux is 100% reprodu... by pabs3 on Sunday June 20, 2021 @09:59PM (#27575567)
There are other solutions to the problem of trusting maintainers; namely incremental distributed code review. The Rust folks are working on that:

https://github.com/crev-dev/

Re:Nixos-unstable’s ISO_minimal.x86_64-Linux is 100% reprodu... by bigiain on Monday June 21, 2021 @08:36PM (#27586511)
> but the problems it solves in no way help you if the maintainer is not alturistic or bad at security as originally stated.

That same edgewise applies to your bank too. Pinned TLS certs or pre shared keys might help against "BadGuys(tm)", but you're still screwed if your bank decides to keep your money. (s/bank/online crypto wallet/ for real world examples there...)

Re:Nixos-unstable’s ISO_minimal.x86_64-Linux is 100% reprodu... by squiggleblaz on Sunday June 20, 2021 @07:16PM (#27574690)
The question isn't whether they're perfect, nor is it whether they prevent anything. But it does help a person who suspects something is up rule certain things in and out, which increases the chances that the weak link can be found and eliminated.

If you have a fair suspicion that something is up and you discover that when you compile reproduceable-package you get a different output than when you download a prebuilt reproduceable-package, you've now got something to work with.

Your observation that they don't truly solve the trust problem is true. But it's somehow not relevant. It is better to be better off.

Re:Nixos-unstable’s ISO_minimal.x86_64-Linux is 100% reprodu... by eru on Monday June 21, 2021 @03:39AM (#27577115)
Reproducible builds still help a lot with security. For example, they let you shift build latency around.

Eg suppose you have a software package X, available both as a binary and in source.

With reproducible builds, you can start distributing the binary to your fleet of computers, while at the same time you are kicking off the build process yourself.

If the result of your own build is the same as the binary you got, you can give the command to start using it. (Otherwise, you quarantine the downloaded binary, and ring some alarm bells.)

Similarly, you can re-build some random sample of packages locally, just to double-check, and report.

If most debian users were to do something like that, any tempering with the debian repositories would be quickly detected.

(Having a few malicious users wouldn't hurt this strategy much, they can only insert noise in the system, but not give you false answers that you trust.)

Re:Nixos-unstable’s ISO_minimal.x86_64-Linux is 100% reprodu... by robocat on Sunday June 20, 2021 @09:17PM (#27575359)
> and inaccessible except to nerds.

So was most every part of computer hardware and software initially - this is just another milestone in that journey.

Re:Nixos-unstable’s ISO_minimal.x86_64-Linux is 100% reprodu... by eptcyka on Sunday June 20, 2021 @05:48PM (#27574207)
Even if the original attack happened upstream, if the upstreamed piece of software was pinned via git, then it'd be trivial to bisect the upstream project to find the culprit.
Re:Nixos-unstable’s ISO_minimal.x86_64-Linux is 100% reprodu... by dragonsky67 on Sunday June 20, 2021 @06:26PM (#27574428)
This is great if you are looking at attributing blame. Not so great if you are trying to prevent all the worlds computers getting owned....

I'd imagine that if I were looking at causing world wide chaos, I'd love nothing better than getting into the tool chain in a way that I could later on utilise on a wide spread basis.

At that point I would have achieved my aims and if that means I've burnt a few people along the way, so be it, I'm a bad guy, the damage has been done, the objective met.