Vlákno názorů k článku Reprodukovatelná kompilace aneb Debian proti CIA od Mintaka - V Gentoo, kde se stahují zrojáky s hashem...

  • Článek je starý, nové názory již nelze přidávat.
  • 12. 9. 2015 12:06

    Mintaka

    V Gentoo, kde se stahují zrojáky s hashem je situace o poznání lepší.
    Samozřejmě existuje celá řada dalších vektorů průniku, ale v základu, pokud mám ověřený kompilátor (a je několik cest, jak mít "ověřený" kompilátor), stahuji ověřené zdrojáky ověřenými linkami z ověřených zdrojů, pak si mohu kompilovat binárky podle mých podřeb (CFLAGS, USE, ... ) a mám je vcelku bezpečné. Po kompilaci si k nim můžu udělat hashe, ty uložit na bezpečné (napříkald Read Only) místo a zpětně si ty binárky porovnávat. Třeba takhle udělat si vlastní "antivir" s whitelistem.

    Zpět k Debianu.
    Když budu mít homogenní prostředí a výstupem budou stejné binárky. Jestli to pak pro některé útočníky nebude jednodušší, že expolity pro bitově shodné binárky budou moc sáhnout na konréktní místo v binárce a tu si upravit, s větší pravděpodobností, že se strefí na správné místo.

    No a kromě těchto hrátek se zdrojáky a binárkami je dobré nezapomínat na ty spousty dalších možností, které se klukům z NSA nabízí.

    Kdysi se tomu říkalo paranoia, dnes tomu říkáme realita :)
    Tak ať se daří.

  • 14. 9. 2015 16:30

    Ondřej Surý

    Ad Gentoo: připadá mi, že je to právě naopak - kvůli rozdílnosti prostředí bude těžší nezávisle ověřit, že Váš build toolchain není "cinklý".

    Ad Debian: nepletete si také ASLR (PIC, PIE) s binární reprezentací na disku. To první je důležité, to druhé už moc ne.

  • 14. 9. 2015 16:33

    Ondřej Caletka
    Zlatý podporovatel

    U toho Gentoo by to ale ještě chtělo ověřovat a vynucovat digitální podepisování ebuildů, což se zatím neděje. Jinak je tam ta situace naopak podstatně horší než u jakéhokoli distribuce, která aspoň podepisuje binární balíky, protože ty ebuildy k vám přichází naprosto nezabezpečene Rsyncem nebo po HTTP.

  • 14. 9. 2015 17:14

    Mintaka (neregistrovaný)

    Cite z rsync man:
    For remote transfers, a modern rsync uses ssh for its communications, but it may have been configured to use a different remote shell by default, such as rsh or remsh.

    Digitální podpisy ebuildů by neškodilo, a ani by to nemuselo být komplikované.

    Momentálně je to tak, že kontrolu lze provést přes Manifest e-buildu.
    Obsah z /usr/portage/net-analyzer/wireshar­k/Manifest

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA256

    AUX wireshark-1.11.0-oldlibs.patch 776 SHA256 0b4b23ad3ce70­22809187ce970733a4c6bdb9­fed31099853b399498fde8de­e66 SHA512 dde2cbfd83940­9c594562b71783204279c376­97939d44ee56ce4966d7d­d4
    3d04ab5837bd5­1551c416ec789b56f8ef­d0016e6ecc2311af8b310­9e987da301bef6 WHIRLPOOL 57fb7f6716644­0208c5fe023f8c7e62a4f860­ae5fecf02df6e9b8b4­5fe31c999f7ee­eee83914bbfc26­c656c69bfceee75c9
    4f9ac80c64ebd0c1d6db792b­66665
    AUX wireshark-1.11.3-gtk-deprecated-warnings.patch 1068 SHA256 0211d3f345617­554add63f3101a548­a990e26219b31b28003e4dbf­607d38de88 SHA512 9ea643e8f707d9­f9fe3ce61b875a­e1828c77cd81c63
    6423fc5572420­fd3b103042e078f89541c514­5db49f133828d333c55d1c2c­3b9a162f0756051ef9d946b9 WHIRLPOOL b04cad3b70bc3­7b9cbc833227bdf9c32c17e6­7ad067902d3fb35f467fb765­20546ecd508de1805ef­81
    0b76ebe4f0b686e48­3817c790cb4ede75c2295055­96502
    AUX wireshark-1.6.13-ldflags.patch 230 SHA256 bb56440fb9de9­ed480b992d202fe­ac93a53003e9fa47869f54c6­f2f30d315720 SHA512 c4a2c66e6ea9b523ca9f5a­3e37411221f5a­a630de07d7bf84633855ac44d
    a60b3b493671e­578dbfd67de94e87ab1c7920­3f9b80b57f9460f2a81e­e39f58171b3 WHIRLPOOL ca20e190c7a8d­7ca69c6d90cfb28f8f1c8896­b6793b9a026567ec4df4f708­0ca6424ab249d01754db1059­891d3236244417
    8272489b4425e­895f3031a0e1e0f7
    DIST wireshark-1.12.1.tar.bz2 29059989 SHA256 82b26bd416ec1­5903b27785e35a622687008a­743342054e96e­aaeaa249be584b SHA512 840f348c8cdaa0e4d96c34e0­a752f3d575d975ac8e61b31f­6456a0eba4b4
    84268651c96b9­43cfe213a6c40ed­cb18670ec921564413c052fc­afdf32b2c85239­29 WHIRLPOOL f98131bde6680­370943cf6070cb44c6ad96d4­2060573e521051b81ad9d934­b03741bb4d75a1d30762e­ebf5f22387f9eb­715
    8acee4caee2503c4e­afff52a12ada
    EBUILD wireshark-1.12.1.ebuild 5439 SHA256 85e392623cbf4­66e784386f781471c315ca14­e19c6c7260c7b82d992934fe­d8b SHA512 9eac78d3911bcb­471cc61dfcb191d9a62627c5­b05235633b0d1a­ad4a4f2f368
    89f62426bcb67­a5de5d7a9966989fe7770f0c­c191fa3180d517f33f9ab69f­9452 WHIRLPOOL 06110f7000b43­85d6607b30cd4cce44c2e­fe46d881c9916d6be7ced180­674fcc8e90483cf8a25f8b7c­9f6bce8afa5b7ac5d76f
    8430509b165bc­6693b21c5716e
    MISC ChangeLog 95709 SHA256 26c4a798b2efa2522cef58a­ab62e77988d53e­ebe676f586fd4­18f32d679aaf43 SHA512 9739bc8286e9b­cf275d05d36ada306492c820­1029350880764b39c6be06e6­7f3b7b8eb6d1c39f9
    b4c628299119f­6103f860017fc0356d185a­a270f75115b75a2 WHIRLPOOL 745d20f1bb580­ebf759f684f308­6fcf5deac54da9589d7­27af2ced22495eb44bc0a­aa661e1091777­b37ea879aa25ca7807d9b­ae5ebfbdbc18013c
    40da2bb363f
    MISC metadata.xml 2372 SHA256 be7d784e5fc20­f46fe7d7dc96c63a8d15692e­8db80dee6f3fc8980f1­3e99cc52 SHA512 6249bd454d51a­d91bec2355770e918c04f803­4c6e7ba1f7b73874e00ba4df­11ba5430d3a1e­a0
    6a7b353590f46­e1c217e860666265386a3bf4­041da1a647ba885 WHIRLPOOL 42a010b890392­0f1f18a4605e8ab52c9b1d4e­6cb3453c4dd0da3fd2e95074­75514edeaac811d317c51­c735db77c81c85b26632a­e2ad13d71248
    9372d166be25c
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v2

    iEYEAREIAAYFAl­QmmGwACgkQVWmRsqeS­phO1cACeM+Or/TPQ0v­gB25/Qh69G56uN
    ZYIAn3if38pWpCz­tZCTYgvweEAdhGPcp
    =VW+a
    -----END PGP SIGNATURE-----

  • 16. 9. 2015 10:54

    Ondřej Caletka
    Zlatý podporovatel

    Jenomže portage se šíří nešifrovaným rsync protokolem, nikoli po SSH. Ano, GPG podpisy manifestů jsou, ale zatím na dobrovolné bázi a zatím se neprovádí automatická validace.

  • 16. 9. 2015 18:54

    Mintaka_ (neregistrovaný)

    Když srovnám náročnost plošného zavedení šifrovaného rsyncu a podepisování zdrojáků s náročností zajištění reprodukovatelné kompilace, tak bych řekl, že to první je o několik řádů jednodušší.

    A jaký je váš pohled na alternativní webrsync?