Gentoo Archives: gentoo-dev

From: Mariusz Ceier <mceier@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Trustless Infrastructure
Date: Mon, 02 Jul 2018 17:44:22
Message-Id: CAJTyqKMGv_TUapKNh200QjSrgtRRQSpFLcCpg57guWtm==yVKg@mail.gmail.com
In Reply to: [gentoo-dev] Trustless Infrastructure by "Jason A. Donenfeld"
1 Hi,
2
3 I wonder how would the local changes to ebuilds be handled ?
4 Currently it's possible to change ebuild, do "ebuild package.ebuild
5 manifest" and emerge package - will this still be supported ?
6
7 If not, would there be any plans for a tool for creating trusted local
8 overlays ?
9
10 This feature is useful when fixing ebuilds or adding new versions by
11 copying existing ones locally.
12
13 Best regards,
14 Mariusz Ceier
15
16
17 On 2 July 2018 at 17:36, Jason A. Donenfeld <zx2c4@g.o> wrote:
18 > Hey guys,
19 >
20 > While our infrastructure team has some nice technical competence, the
21 > recent disaster and ongoing embarrassing aftermath has made ever more
22 > urgent the need to have end-to-end signatures between developers and
23 > users. While the infrastructure team seems fairly impressive at
24 > deploying services and keeping the house running smoothly, I'd rather
25 > we don't place additional burden on them to do everything they're
26 > doing securely. Specifically, I'd like to ensure that 100% of Gentoo's
27 > infrastructure can be hacked, yet not backdoor a single witting user
28 > of the portage tree. Right now, as it stands, rsync distributes
29 > signatures to users that are derived from some
30 > infrastructure-controlled keys, not from the developers themselves.
31 >
32 > Proposal:
33 > - Sign every file in the portage tree so that it has a corresponding
34 > .asc. Repoman will need support for this.
35 > - Ensure the naming scheme of portage files is sufficiently strict, so
36 > that renaming or re-parenting signed files doesn't result in RCE. [*]
37 > - Distribute said .asc files with rsync per usual.
38 > - Never rsync into the /usr/portage directory, but rather into an
39 > unused shadow directory, and only copy files from the shadow directory
40 > into /usr/portage after verification succeeds. (The fact that those
41 > files are visible to portage prior to verification and following a
42 > failed verification is a shameful oversight of the current system.)
43 > - Have verification use a keyring of all Gentoo developers, with a
44 > manual prompt to add new Gentoo developers to it.
45 > - Eventually acquire (sponsors?) nitrokeys/yubikeys for all
46 > developers, and mandate everyone stores their Gentoo key material in
47 > there exclusively.
48 >
49 > This is very similar to what Arch Linux is doing, and AFAIK, it works
50 > well there. I'm sure this list will want to bikeshed over the
51 > particulars of the implementation, but the two design goals from this
52 > are:
53 >
54 > - Signatures are made by developers, not by infra.
55 > - Portage doesn't see any files that haven't yet been verified.
56 >
57 > Regarding the [*] comment above about the directory tree. There might
58 > be more clever ways of handling this, like having the last developer
59 > who modified the tree compute some kind of holistic signature, in
60 > addition to each of the individual ones. Or, perhaps, this is the one
61 > place where we would consider relying on infrakeys, provided portage
62 > isn't victim to clever RCE by rearrangement. Other attacks include, of
63 > course, downgrades and DoS.
64 >
65 > Hopefully we can move Gentoo's portage tree security up to modern
66 > security expectations, and no longer be forced to trust vulnerable
67 > sitting-duck infra machines for our signatures.
68 >
69 > Jason
70 >

Replies

Subject Author
Re: [gentoo-dev] Trustless Infrastructure "Jason A. Donenfeld" <zx2c4@g.o>