Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

You can build and check against the binaries. What's your point?


sort by: page size:

But what about the code you run to verify the binaries? You have to trust that. Or are you reviewing every bit by hand?

I find it's much easier to audit the source code, and build the binaries yourself from that code.

Also, it's a collaborative effort. If you build your binaries from the same sources that other people use, then you can split up the work, and you all benefit from anyone's discoveries.

Obviously, we don't have perfect verification of the code we run. People can overlook things. Compilers can be subverted. Operating systems can be pwned. Malicious hardware can undermine all of our efforts. But let's not let perfect be the enemy of good, and let's not fool ourselves into thinking that faith in a corporation is a substitute for transparency.


I was rather under the impression that checking in binaries was discouraged because it led to performance issues and tends to blow up the repository size. I don't think it's just pedantry.

But can they build it and run it? Or do they have to trust the code is current and matches the binaries?

Heh, that's true - you can't run binaries that aren't there :)

Bytecode / binaries can be verified (for certain properties) using static analysis. Open source doesn't make verficiation that much easier (at scale), but it makes fixing a lot easier.

Also, until reproducible builds become commonplace, most linux users can't verify that their binaries come from a specific version of the source. Binary verification is the way to go.


I doubt you verify every bit of binaries you download.

Open source gives you the possibility of knowing your binary is good, by compiling it yourself. I chose not to do so, because I couldn't really be bothered. But others who need this kind of security could, and I would hope they do.


That only checks that binaries are the same as what is published by distributors.

It doesn't help against a malicious distributor, unless package managers also do a deterministic build themselves and verify that checksum from self-build binary matches the checksum published by a distributor.


In short, the binaries are already built. Usually its faster to link to a prebuilt binary than to build from scratch.

That's not really the same as producing binaries that can function on original hardware.

That's fine. I don't care what you do with your self-built binaries once you manage to build them yourself. But too many firms have no infrastructure in place to do that. They wait for upstreams to synchronize to fix security flaws that they could fix directly.

Doesn’t seem so sensational when it can’t build binaries for the target machine… on the target machine itself…

Checkout sources & build your own binaries.

Yeah, if I were setting up a verification service there's no way I would verify source code instead of compiled binaries.

True - though I prefer binaries because when building from source it's easy to burn time just fiddling with dependencies

Only needs to have access to software source code, and presumably a way to verify the binaries match. Not an entire factory.

Yeah but if you are downloading a compiler, then that sort of implies that you know how to build binaries :)

Where do you get the binaries? Or do you build it yourself?

So they have you install a binary that you can't inspect the source to or build on your own? I'm confused.
next

Legal | privacy