unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: dian_cecht@zoho.com
To: guix-devel@gnu.org
Subject: Re: Thoughts on GuixSD and IDS like AIDE and Tripwire
Date: Mon, 2 Jan 2017 07:24:26 -0800	[thread overview]
Message-ID: <20170102152426.GA29868@khaalida> (raw)
In-Reply-To: <20170101065609.GA4651@mail.thebird.nl>

On Sun, Jan 01, 2017 at 06:56:09AM +0000, Pjotr Prins wrote:
> Yes, you can do a challenge build. Not all builds are fully
> deterministic yet, so you there will be conflicts. I use guix publish
> on a server, so I can compare the stores on two machines for
> comparison which ought to be identical. That is a pretty fast way to
> do it provided they are not both compromised ;)

Can other people access these servers for comparisons? That could be rather
useful, especially if your email was published somewhere and random people could
check their stores against yours (or anyone else who wanted to make that data
available).

> At the moment we don't store hashes in a database for the contents of
> a build tree. I think it is a good idea to have the option to create a
> tripwire-like database at build/install time, almost for free,
> provided the user moves that database off-site for later (fast)
> comparisons. It can actually speed up challenge builds.

Being able to publish said database would be even more useful, even just pushing
it to some pastebin site for people to download and compare could be useful so
that everyone could see what is going on and (could) help improve security
everywhere since you A) aren't hoping upstream isn't compromised (one of
the advantages of source-based distros imo), B) are able to compare local builds
with others (with the obvious exception of nondeterministic builds. These should
probably warn a user when they are installed, if they don't already), and C)
can compare your local store to others just so you can tell if something
funny/hacky/virusy is going on.

I'd imagine it would be reasonably trivial to simply checksum the contents of
the store during the install phase, then output the checksums into a database
somewhere for people to use. Once that is supported, an external script[1]
could be used to compare two database files, and if said script and/or Guix
could generate a new checksum database on command, then you have a rather
cheap AIDE/Tripwire system built in with little to no additional code or cost.

> I used to run tripwire a lot, but somehow have become
> confident in my security setup (rightly or wrongly so). At least with
> Guix I know I can quickly rebuild a new system that behaves as the
> compromised one. That makes me happy.

In my opinion, IDSs fail on desktop systems because of the fairly constant
influx of updates we (should) get. Constantly running and rebuilding a database
is a hell of a chore (especially since the database for an IDS should be stores
off the system itself, probably on a flashdrive or SD card or the like), and
especially massive updates can cause problems (mainly by hiding an undesired
change in the system in a sea of legit changes from the update).

P.S. On second thought (and after a cup of coffee), could the database file be
generated using the same format programs like md5sum, sha1sum, et al use so we'd
just have to run (for example) md5sum -C database?

[1]. I think an external script would be safer here than entirely relying on
Guix for this kind of functionality. The main reasons mostly boil down to
auditability and, if simple enough, even being reasonably trivial to duplicate
in other languages. There is also the option of using a minimal enviroment to
store this script somewhere safe, such as including it in a rescue LiveUSB or,
depending on how full-featured GuixSD's initramfs is, in the initramfs itself.

  reply	other threads:[~2017-01-02 15:24 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-31 13:28 Thoughts on GuixSD and IDS like AIDE and Tripwire dian_cecht
2017-01-01  6:56 ` Pjotr Prins
2017-01-02 15:24   ` dian_cecht [this message]
2017-01-02 22:28     ` Ludovic Courtès
2017-01-03 16:36       ` dian_cecht

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://guix.gnu.org/

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

  git send-email \
    --in-reply-to=20170102152426.GA29868@khaalida \
    --to=dian_cecht@zoho.com \
    --cc=guix-devel@gnu.org \
    /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/guix.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).