From owner-freebsd-security@FreeBSD.ORG Tue Dec 4 16:43:48 2007 Return-Path: Delivered-To: freebsd-security@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E870516A468 for ; Tue, 4 Dec 2007 16:43:48 +0000 (UTC) (envelope-from rea-fbsd@codelabs.ru) Received: from pobox.codelabs.ru (pobox.codelabs.ru [144.206.177.45]) by mx1.freebsd.org (Postfix) with ESMTP id 9D1CE13C45D for ; Tue, 4 Dec 2007 16:43:48 +0000 (UTC) (envelope-from rea-fbsd@codelabs.ru) DomainKey-Signature: a=rsa-sha1; q=dns; c=simple; s=one; d=codelabs.ru; h=Received:Date:From:To:Cc:Message-ID:References:MIME-Version:Content-Type:Content-Disposition:In-Reply-To:Sender:X-Spam-Status:Subject; b=Vr68G5UqecjVgiVET4nYy57awLEPflGGBwRJGYdk/xIFSfuKgwhg1SLjwZZyrgnQE3fyPy4cydWb0PeJeN8x/Wga/6OM4HvEewaOJ2Y75FyGM/7xuCgJRkP/kEU5RL2CGi4YpFVlAJ8ycSJnHKkBxTr9EyFHov8LHnDAkNiMfHo=; Received: from void.codelabs.ru (void.codelabs.ru [144.206.177.25]) by pobox.codelabs.ru with esmtpsa (TLSv1:AES256-SHA:256) id 1Izas6-00038q-MA; Tue, 04 Dec 2007 19:43:46 +0300 Date: Tue, 4 Dec 2007 19:43:45 +0300 From: Eygene Ryabinkin To: Josh Paetzel Message-ID: References: <20071203154412.461d0faf@meijome.net> <4755620E.6010002@argolis.org> <200712041010.35935.josh@tcbug.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <200712041010.35935.josh@tcbug.org> Sender: rea-fbsd@codelabs.ru X-Spam-Status: No, score=-3.1 required=4.0 tests=ALL_TRUSTED,AWL,BAYES_00 Cc: freebsd-security@freebsd.org Subject: Re: MD5 Collisions... X-BeenThere: freebsd-security@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Security issues \[members-only posting\]" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Dec 2007 16:43:49 -0000 Josh, good day. Tue, Dec 04, 2007 at 10:10:32AM -0600, Josh Paetzel wrote: > > The usefullness of this with application to the ports collection > > is questionable, since you should make two colliding archives and > > both of them should be unpackable and the second should do some > > evil things. But strictly speaking, there are attacks producing > > files with the same size and MD5 hash. > > > > http://www.cits.rub.de/MD5Collisions/ is also a good reading. > > It's not really questionable....for all practical purposes it's worthless. In > order to generate meaningful same-length collisions you need control of the > original file. (Your links go to lengths to explain this...) In the case of > a ports distfile if you have control of the original file you really don't > need to go to great lengths to generate collisions, you can simply toss your > malicious content in there right from the get go. Yes, thanks for clarifying the point that one should be able to control both sequences in order to produce colliding files with the same size. But there is at least one scenario, when such attack is useful, if one will be able to produce two colliding source archives. Suppose, I am providing a port with new sources (either the new port or an update to the current one) and I am controlling the source tarballs. The sources will be supposedly reviewed by some parties and they will find no backdoors in it. So the port comes in the systems and it is thought to be good and useful. Once the port proved itself, I am replacing the good source tarballs with the evil ones (remember, I had prepared two colliding archives) and no one will notice the difference with MD5 + size check. But new port installations will be doing something different from the sources that were reviewed. Again, this is only theoretical thing with many preconditions, but if I am able to make two colliding archives, then other things are not very hard to achieve. People are producing colliding X.509 certificates, so we have an example of not 'just junk colliding content', but something meaningful. I am not going to flame about the real possibility of doing these for many reasons, and the first one that it is no longer doable for the current ports where SHA256 is in the game. All I wanted to say that there are scenarios where one can exploit MD5 weakness, providing one can extend MD5 collision attacks to archives. Shutting up. -- Eygene