!LemuOOvbWqRXodtSsw:nixos.org

NixOS Reproducible Builds

543 Members
Report: https://reproducible.nixos.org Project progress: https://github.com/orgs/NixOS/projects/30122 Servers

Load older messages


SenderMessageTime
21 Jun 2021
@siraben:matrix.orgsiraben * and the more the environments under which you perform the build differ, if you still maintain identical binaries that's really good and the claim is even stronger08:04:57
@raboof:matrix.orgrabooftaviso also makes a lot of incorrect assumptions on how we would use reproducibility, which makes his posts even harder to follow08:05:18
@raboof:matrix.orgraboof * taviso also makes a lot of incorrect assumptions on how we would use reproducibility, which makes the argument even harder to follow08:05:32
@siraben:matrix.orgsiraben"the developer can insert a malicious bug therefore reproducibility is moot"08:08:02
@raboof:matrix.orgraboof atemu12: you mention you successfully reproduced the 21.05 ISO - did you also compare it to the one published at https://nixos.org/download.html ? When I did that I ran into https://github.com/NixOS/nixpkgs/issues/125380 08:09:25
@foxboron:archlinux.orgFoxboron joined the room.08:14:42
@foxboron:archlinux.orgFoxboronTavis in a nutshell: https://xkcd.com/2368/08:16:19
@foxboron:archlinux.orgFoxboronBut, not why I joined :) How is Nixos dealing with the linux signing key which gets generated during build to sign modules? 08:16:52
@raboof:matrix.orgraboof Foxboron: IIRC we disable module signing, and then no key is generated (https://github.com/NixOS/nixpkgs/pull/107625) 08:18:28
@foxboron:archlinux.orgFoxboronThats.. uh.. not good? It makes lockdown mode unusable on NixOS if I'm not mistaken08:19:13
@linus.heckemann:matrix.mayflower.deLinux HackermanSee the PR comments08:19:54
@foxboron:archlinux.orgFoxboronYeah, that's not a good solution. But it also explains why I couldn't figure out how it was dealt with. :/08:21:12
@raboof:matrix.orgraboof
In reply to @foxboron:archlinux.org
Thats.. uh.. not good? It makes lockdown mode unusable on NixOS if I'm not mistaken
it makes lockdown unusable on a plain NixOS installation, but if you want lockdown, you likely also want other customizations. That is still very much possible on NixOS
08:22:23
@raboof:matrix.orgraboof'unusable' is perhaps not the right word, 'disabled by default'?08:22:36
@foxboron:archlinux.orgFoxboronYou are also loosing the ability to detect tainted modules on any normal nixos installation. That is a net negative in terms of security for any live deployment.08:23:22
@foxboron:archlinux.orgFoxboronBut yes, disabled by default is the correct word.08:23:40
@raboof:matrix.orgrabooffor example, when using distro-provided signed modules, even after lockdown someone could get the signed modules for a floppy disk driver and elevate their privileges. Better to custom-compile a kernel and only sign the modules you want to have available on your secure system, or even disable the module system entirely. (though I realize I'm somewhat making the XKCD 2368 argument now ;) )08:25:45
@raboof:matrix.orgraboof * for example, when using distro-provided signed modules, even after lockdown someone could get the signed modules for a floppy disk driver with a vulnerability and elevate their privileges. Better to custom-compile a kernel and only sign the modules you want to have available on your secure system, or even disable the module system entirely. (though I realize I'm somewhat making the XKCD 2368 argument now ;) )08:26:01
@foxboron:archlinux.orgFoxboronI was partially expecting some grandeur solution where a problem is completely negated because of some nixos feature :p08:27:14
@raboof:matrix.orgraboofsorry :)08:27:28
@raboof:matrix.orgraboof
In reply to @foxboron:archlinux.org
You are also loosing the ability to detect tainted modules on any normal nixos installation. That is a net negative in terms of security for any live deployment.
not sure about 'net negative' overall, but that's indeed a disadvantage. I wonder if we could have our cake and eat it, too, here: after all, to detect tainted modules you only need to somehow have a trusted set of checksums, you don't need a signature
08:30:35
@foxboron:archlinux.orgFoxboronIn Arch we have been contemplating just splitting out key material to a separate package and declare it "non-reproducible". But it is non-obvious how to best approach the issue. Which is why I was curious what you where doing :)08:32:04
@foxboron:archlinux.orgFoxboron
In reply to @raboof:matrix.org
not sure about 'net negative' overall, but that's indeed a disadvantage. I wonder if we could have our cake and eat it, too, here: after all, to detect tainted modules you only need to somehow have a trusted set of checksums, you don't need a signature
I'm not sure how this would work without kernel support though. Having the lockdown mode available is a great feature even if fairly unusable with DKMS without kernel patching currently.
08:33:13
@linus.heckemann:matrix.mayflower.deLinux HackermanI think what would probably make sense is to have "local" signatures generated outside the scope of the kernel build (indeed, outside the scope of any nix build)08:33:42
@linus.heckemann:matrix.mayflower.deLinux HackermanThat has the disadvantage of requiring a signing key that resides on the machine which is booting the kernel in question08:34:08
@linus.heckemann:matrix.mayflower.deLinux Hackermanbut the advantage of also being applicable to out-of-tree kernel modules (like zfs). We don't have dkms for that sort of thing because of how nix works08:34:48
@linus.heckemann:matrix.mayflower.deLinux HackermanI'm also not sure if it's feasible to patch a differnet key into the kernel image after the fact? But I imagine it should be.08:35:18
@raboof:matrix.orgraboofin the NixOS context I'm not sure it's worth it since it's so easy to build bespoke kernels anyway...08:36:22
@linus.heckemann:matrix.mayflower.deLinux HackermanSecure boot is a similar topic, and (while it's not merged yet) this PR takes a similar approach to that https://github.com/NixOS/nixpkgs/pull/5390108:36:53
@foxboron:archlinux.orgFoxboronIt's non-trivial. There are some null bytes in the linux initrd where you can just insert a public key and the kernel is going to accept it as a module signing key, but afaik it's missing in the efistub(?). Other distributions actually include a rejected out-of-tree patch where Secure Boot keys (OEM and MOK) are inserted into the keyring.08:36:41

Show newer messages


Back to Room ListRoom Version: 6