Live data from Hacker News

Debian must ship reproducible packages

lists.debian.org

131–140 of 178 posts

Re: Debian must ship reproducible packages

#131

What people really don't understand about reproducible builds is that they're not a guarantee that there's no backdoor. They're a guarantee that if there's a backdoor, it's reproducible 100% of the time. This is a godsend for white hats fighting the good fight. And, as a side note, it's strongarming vs the bad guys: "Would be too bad if we could reproduce your shiny exploit 100% of the time wouldn't it!?" . Note that…

[dead]

Re: Debian must ship reproducible packages

#132

Earlier quoted context omitted.

that's example of attack reproducible packages do not protect from, why you are linking it ?

A distro automatically verifying that installed packages are reproducible would protect the user?

No, it wouldn't. The xzutils attacker compromised the source repository. The build pipeline portions were used to obscure the purpose of the exploit embedded in the source code repository.

Re: Debian must ship reproducible packages

#134

Earlier quoted context omitted.

Hasn't happened in Debian

“Hasn’t happened” is quite naive. It happens internally - putting unscrupulous code in a company’s distro before torching the place is a surprisingly regular occurrence in places which have long since adopted Debian as a platform host. IT departments around the globe will benefit from this immensely.

And reproducible builds do not prevent that.

The one single fail point they prevent is infected build hosts.

That might be some reasonable benefit for the company if it is building it on public architecture, but for projects like Debian that insist build hosts are basically offline (package in, package out with no internet access during build process) it is very fringe benefit.

Re: Debian must ship reproducible packages

#135
post #81

Earlier quoted context omitted.

To move away from organizational dependence, there should be an installable project for debian where I can dedicate some configurable small percentage of my compute when idle to reproducibly building debian components to make a robust verification system, starting with the most critical code. Obviously, it would be a ton of work to make such a system resistant to gaming by malicious actors (see GNU Guix for useful ef…

I think that project is called Ubuntu.

I don't know of anything Ubuntu is doing that is significantly beyond what Debian is doing in this regard, nor that they have a distributed reproduction system set up???

Re: Debian must ship reproducible packages

#136
post #125

Earlier quoted context omitted.

I know why they are useful. I am arguing they are waste of time for effort involved. Forcing devs to use hardware keys to sign commits/CI requests would be actual security improvement, thwarting many supply chain attacks that only worked coz the attacker got to developer credentials. Hardware keys at least have option to make some operations require physically pressing the key so there is chance developer will notice…

A hardware key does not help if the developer's machine is compromised, as there is no change to understand what is signed anymore, or do you think the hardware key will show all the source code on its little display before signing? With reproducible builds, you do not need to trust that the system that build the binary was not compromised, because this would be detected immediately. Source compromises are still an i…

The way at least YK works is that you can set it up that pressing a key is requires for signing so at least "silently steals creds and sends malicious code" case (which is vast majority of compromises) gets handled

> Also if there is a compromise, reproducible builds allow you to later track it to the source.

They do not. Git log and build logs allow for that.

Reproductive builds only have value after the source. They protect build servers from being compromised (and then only if some other uncompromised environment is also running verification passes), if the bug is at source reproductive builds are exactly as valuable as writing commit that was used for build in app's code/package metadata.

Re: Debian must ship reproducible packages

#137

Earlier quoted context omitted.

There was no bug or attack on Debian since 2007 that reproducible packages would prevent. "Well worth it" is not correct. And it just ups the the contribution barrier to Debian higher, I already heard a lot of people complaining that contributing to Debian is hard and while in past I defended it by "they need all the checks and bounds to make sure packages play with eachother nicely", this is just step that makes it…

Reproducible builds are applicable not only to respond to ‘attacks’, a subject you seem to be bikeshedding, but also for other reasons too. Anyone having to maintain a code base or a distributed fleet of devices will gain from this decision, immensely, as their operational periods come and go. Reproducible builds are about longevity as much as they are about security . Please don’t make bold claims about ‘no reason a…

> Anyone having to maintain a code base or a distributed fleet of devices will gain from this decision, immensely, as their operational periods come and go.

Just baking in build ID and commit is enough. What you think reproducible builds add ?

> Please don’t make bold claims about ‘no reason and little benefit’ while demonstrating ignorance of this hard fact: reproducible builds should have been the norm, in computing, from the get-go.

So far not a single person in the thread gave me concrete example (as in existing project, existing problem, no other solution can solve it). Just claiming it's better based on their feelings. Come on, be the first one.

Re: Debian must ship reproducible packages

#138
post #79

Earlier quoted context omitted.

I don't think they do, actually. Longevity sounds good, but in reality anything that's old probably has critical security holes and so you shouldn't use it anyway.

A warning is sufficient. Old tech should continue to work, for preservation and archival reasons.

just archiving binary artifacts and source packages is enough

Reproducibility adds nothing here

Re: Debian must ship reproducible packages

#139
post #52

Earlier quoted context omitted.

There was no bug or attack on Debian since 2007 that reproducible packages would prevent. "Well worth it" is not correct. And it just ups the the contribution barrier to Debian higher, I already heard a lot of people complaining that contributing to Debian is hard and while in past I defended it by "they need all the checks and bounds to make sure packages play with eachother nicely", this is just step that makes it…

It makes shipping backdoors a whole lot harder, yes.

Unless someone spins entirely separate infrastructure dedicated just for verifying Debian packages, it doesn't.

Re: Debian must ship reproducible packages

#140

Earlier quoted context omitted.

> However, note that your observation could also be explained by the opposite: the reproducible builds effort was an effective deterrent, so nobody bothered with attempts. There was no attack that reproducible builds would help protect from before 2007 either. > Until yesterday, the package just got flagged in the tracker, and you could either ignore it, or fix it yourself, or the kind people behind the reproducible…

> They are not. They are best practices if you want reproducible builds. Or if you're writing a test suite, and you want failing test results to be actionable. Or you have any other type of behavior that you'd like to reproduce somehow. One of the first things app developers ask for in bug/issue templates are the steps to reproduce something. I wonder why you'd think that they would suddenly be opposed to the concept…

> Or if you're writing a test suite, and you want failing test results to be actionable.

The class of bugs would be extremely small as the stuff that makes build hard to reproduce are 99% of the time stuff irrelevant to runtime like some build time embedded in binary, some file metadata having different timestamp, or maybe linker putting stuff in a bit different order.

> One of the first things app developers ask for in bug/issue templates are the steps to reproduce something. I wonder why you'd think that they would suddenly be opposed to the concept when thinking of a build peocess.

I think you will find amount of people that had problems reproducing because of non-100% exact build is vanishingly small, possibly non-existent.

And that is because if you get package version and want to reproduce it, you get the package, install it and try to reproduce it. The package WILL be 100% the same as the one you got in bug report because you both downloaded the same artifact from same mirror network. You don't need reproducibility to get same binary to reproduce bug

Post reply on HN