Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 27 Sep 2013 02:46:33 +0400
From: Alexander Cherepanov <cherepan@...me.ru>
To: oss-security@...ts.openwall.com
Subject: Re: Reproducible Builds for Fedora

On 2013-09-25 18:55, Solar Designer wrote:
> Ensuring that "objdump -d" has stayed the same between a known-good and
> another build of a binary is not sufficient to tell that the new build
> is not trojaned.

Indeed. But I think the whole approach is wrong. Attempts to conduct
format-specific comparing are futile for several reasons:

1) when you are against a state level adversary (and we are talking
about targeted attacks from organizations like NSA, right?) you are
better not to try to parse anything complex, like file and objdump do
(e.g. crashing objdump is quite easy);

2) you cannot really determine format of a file (think GIFAR);

3) an elaborate script which knows many formats is going to be complex
and to contain a lot of bugs which is bad in any security context.

Examples for the item 3:

- checks like "/usr/bin/file $2 2>/dev/null | grep ELF" are not strict
enough because file sometimes shows pieces of metadata which is
controlled by an attacker;

- in a script from opensuse -- at least ".*" in html cleaning permits to
pass any html through;

- some files are not checked at all: jars in the script from redhat and
created.rid in the script from opensuse (.rid extension is not in my
/usr/share/mime/packages/freedesktop.org.xml so format will be
determined by the OS from content).

-- 
Alexander Cherepanov

Powered by blists - more mailing lists

Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.