1 |
On 03/05/15 14:14, Patrick Schleizer wrote: |
2 |
>> I used the footnote numbers to reference the attacks. |
3 |
> |
4 |
> I am afraid, this might cause some confusion. The numbers you have used |
5 |
> won't stay stable. Those were autogenerated numbers of footnotes. As |
6 |
> footnotes change, these numbers change. To keep your post |
7 |
> understandable, I created a snapshot before modifying footnotes: |
8 |
> http://www.webcitation.org/6Wo9Cb2ox |
9 |
> |
10 |
> However, numbers (1), (2), (3), etc. that won't be automatically |
11 |
> changed, have just been added now. |
12 |
|
13 |
HA, my fault, sorry about that. |
14 |
> |
15 |
> Actually, I was aware of it. The issue is, signing is not everything. |
16 |
> Signatures need a validity range. Otherwise mirrors can also show half a |
17 |
> year etc. old signatures that are valid. See also: |
18 |
> http://blog.ganneff.de/blog/2008/09/23/valid-until-field-in-release-f.html |
19 |
> |
20 |
>> attacks 3, 11, and 12. |
21 |
> |
22 |
> There was no attack 3. Now, before we talk past each other, would you |
23 |
> mind to repost by referencing attack by name or by their new, "real" |
24 |
> numbers? |
25 |
|
26 |
Well now there is an attack 3 :-) |
27 |
|
28 |
webrsync-gpg would ALERT the user in the case of attack 3. Portage |
29 |
checks the timestamp file from inside the gpg signed snapshot and alerts |
30 |
the user if the last sync was too long ago. In the case of a freeze |
31 |
attack, it should alert the user that the sync is old. Not that it |
32 |
fixes the attack, but it won't go unnoticed for long. |
33 |
|
34 |
Likewise, webrsync-gpg would also completely prevent 7 and 8. The |
35 |
snapshot is the entire tree, so it is not possible to "mix and match" |
36 |
without modifying the signed tarball. Nor would it be possible to |
37 |
provide the user with the wrong package since the checksums from inside |
38 |
the signed portage tarball wouldn't match if the source package was |
39 |
traded for a different one. |
40 |
|
41 |
Attack 8 shouldn't work either, as the checksums for everything are |
42 |
protected in the gpg signed portage tarball it should not be possible to |
43 |
trade out a source tarball for a different one. While gentoo doesn't |
44 |
typically use binary packages, it does have the support for it. Nothing |
45 |
in the binary package installation is protected by signatures, so I |
46 |
would expect this kind of attack to be possible when installing a binary |
47 |
package. Might be non-trivial to do, but certainly possible. |
48 |
|
49 |
Attack 9 won't work either, assuming the user can avoid the freeze |
50 |
attack (3) the user will have an up to date knowledge of what it expects |
51 |
on the mirrors and will simply ask other mirrors for the right file in |
52 |
case of 404 or bad checksum. |
53 |
|
54 |
tl;dr webrsync-gpg is a built in feature of the package manager which |
55 |
OPTIONALLY adds a significant amount of security against the attacks |
56 |
described on your website. This is not currently the default setting, |
57 |
however, it is described in many hardening guides for gentoo and widely |
58 |
used among the security conscious. |
59 |
|
60 |
-Zero_Chaos |