emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Konstantin Kliakhandler <kosta@slumpy.org>
To: Robert Horn <rjhorn@alum.mit.edu>
Cc: Bastien <bzg@gnu.org>,
	emacs-orgmode@gnu.org, Arun Isaac <arunisaac@systemreboot.net>,
	Ian Barton <lists@wilkesley.net>,
	Nicolas Goaziou <mail@nicolasgoaziou.fr>
Subject: Re: Why no secure code retrieval
Date: Sun, 3 Jul 2016 21:18:28 +0300	[thread overview]
Message-ID: <CAH+LVpmmOLqpoYe5D9X01TBGbeUhooafKdZry76Ufv==ZdB0_A@mail.gmail.com> (raw)
In-Reply-To: <m3eg7a1wxm.fsf@alum.mit.edu>

[-- Attachment #1: Type: text/plain, Size: 6363 bytes --]

Hello Robert,

I am the OP.

For what it is worth, the current discussion is actually precisely what I
was aiming at. I agree with your analysis of my Intended goals but
completely disagree that SHA1 alone is any sort of guarantee.. To be
precise, I don't just think that it doesn't provide much, but rather that
alone it provides none at all. This is because I have no idea who produced
a given SHA1 - whether it was Bastien, or a MITM attacker, or just someone
who compromised the server.

Of course I don't care much about whether the code would be available via
gitolite or gogs, or at least much less than that something would be
available. Together with signing of releases tags it would be magnificent
and actually *would* provide a significant level of guarantee (at least for
me).

Finally, I'd like to add that if the decision regarding the git hosting
service comes down to such consideration, that gogs seems much more
polished from a user perspective.

Thanks,
Kosta

--
)°))°((°(
Konstantin Kliakhandler
Sent on the go.

I think that the original question was looking at a different problem,
and discussion of hosted tooling may be a distraction.  The issues that
normally come up for cyber-security discussions of distribution need to
be looked at.  The following is a start at organizing those for
org-mode.

I think that the problem that started this discussion was a question
about whether an org-mode user could verify the integrity and
authenticity of an org-mode version distribution, or perhaps the
integrity and authenticity of an installed version.  It may be in the
context of ELPA for that user.  A full answer for all org-mode users
would certainly include ELPA.

I personally use a combination of "git clone" and "git checkout" to
manage my org-mode versions.  That provides adequate protection at the
moment, but SHA1 is not sufficient in the long term.

R Horn
rjhorn@alum.mit.edu

**** [2016-07-03 Sun 12:15] Org security
***** Org cyber-security
****** Process questions
******* How are security flaws discovered
******** Is there a known public reporting channel?
******** Are they privately and publicly tracked.
         For example, are CVE numbers obtained for public tracking,
reporting, status, etc.
******** Are patches tracked relative to CVE numbers?
******** Are security-only patches and releases made?
         - For current development and release versions?
         - For widely deployed older versions?
******* Are security processes understood, maintained, staffed, performed?
****** Development process related questions
       I'll let these wait for now.
****** Release and Distribution process related questions
******* Org has multiple release and distribution chains.
        - The underlying git structure is used by developers and some of
the end users
        - Direct git clone is used by some, and is one distribution chain
        - Git hosting is used by some.  This is git plus extra hosting
facilities
        - ELPA is used by some.
        - Tar-ball distribution is still used by some
        - Bundled distributions (Red Hat, Ubuntu, etc.) are used by some
        - Other distribution methods can be ignored for now (in my opinion)
******* How are releases identified?
******** GIT
         - GIT identifies changes and tagged releases by SHA1 hash.  SHA1
hash remains excellent as integrity verification against accidental
damage.  SHA1 is end of life against intentional attack.  It is expected to
be vulnerable to well funded attackers by 2020.
         - see also below on verification and identification
******** GIT hosting
         depends on the host.
******** ELPA
         ELPA is seriously lacking, at least in terms of documentation.
This is probably the source of the initial user question. ELPA can identify
version strings.
******** Tar-ball
         Nothing appears to be set up for robust identification of tar
balls for org-mode.
******** Bundled distributions
         Distributions have identification systems that do not always match
the org-mode system.
******* How does distribution process protect integrity and authentication
of a release?
        - Is there integrity check and authenticated verification from
development release to end user installation?
        - Can an end user verify the integrity and authenticate the
installed software?
******** GIT
         - GIT can provide PGP signing for tagged releases.  Org does not
currently use this feature.  PGP signing is considered secure for integrity
and authentication verification, provided the security processes are
sufficient in the development release system.
         - GIT can provide PGP signing for individual updates.  Org does
not currently use this feature.  PGP signing at the individual update level
is often too burdensome for projects.  Every committer must be familiar
with PGP signing and properly protect their keys.  There is a key
management headache for project administration.
******** Git Hosting
         - Depends of the hosting.  Hosted verification often changes the
risks rather than eliminate them.  If hosting facility protection is used
instead of git PGP signing, the risk changes from PGP management flaws into
host service user management flaws.  Instead of PGP headaches there are the
headaches from lost SSH keys and user spoofing.
******** ELPA
         - ELPA does not appear to have any verification or authentication
capability
******** Tar-ball
         Nothing appears to be set up for verification or authentication of
tar-balls for org-mode
******** Bundled distributions
         The bundled distributions use signed packages.  Some distributions
can verified installed packages, while others don't provide this feature.
The distribution chain from "bundler" to end user install is well
protected.  Protection from org-mode developer to "bundler" is unknown.
******* Update process
        - When a new release is made, is integrity and authentication
verified? to distributor? to end user? How difficult is this?
        - Is there a fast path for security patches?
        - Is there a special notification path to users for security
patches?
        - Are security updates for older versions easily obtained and
installed?

[-- Attachment #2: Type: text/html, Size: 7137 bytes --]

  reply	other threads:[~2016-07-03 18:18 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-28 12:10 Why no secure code retrieval Konstantin Kliakhandler
2016-06-29  6:11 ` Arun Isaac
2016-06-30 11:50   ` Nicolas Goaziou
2016-07-02 14:18     ` Bastien Guerry
2016-07-02 16:51       ` Ian Barton
2016-07-03  7:09         ` Bastien Guerry
2016-07-03 15:11           ` Robert Klein
2016-07-03 15:20           ` Achim Gratz
2016-07-03 16:57           ` Robert Horn
2016-07-03 18:18             ` Konstantin Kliakhandler [this message]
2016-07-03 18:25               ` Achim Gratz
2016-07-03 20:12               ` Robert Horn
2016-07-03 22:36                 ` Konstantin Kliakhandler
2016-07-04  0:17                   ` Robert Horn
2016-07-04  6:15                     ` Konstantin Kliakhandler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAH+LVpmmOLqpoYe5D9X01TBGbeUhooafKdZry76Ufv==ZdB0_A@mail.gmail.com' \
    --to=kosta@slumpy.org \
    --cc=arunisaac@systemreboot.net \
    --cc=bzg@gnu.org \
    --cc=emacs-orgmode@gnu.org \
    --cc=lists@wilkesley.net \
    --cc=mail@nicolasgoaziou.fr \
    --cc=rjhorn@alum.mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).