Re: [TLS] DTLS implementation attack?

Martin Rex <mrex@sap.com> Tue, 06 December 2011 18:28 UTC

Return-Path: <mrex@sap.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 36A1E21F8433 for <tls@ietfa.amsl.com>; Tue, 6 Dec 2011 10:28:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.122
X-Spam-Level:
X-Spam-Status: No, score=-10.122 tagged_above=-999 required=5 tests=[AWL=0.127, BAYES_00=-2.599, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AdRet7ybKeFl for <tls@ietfa.amsl.com>; Tue, 6 Dec 2011 10:28:17 -0800 (PST)
Received: from smtpde02.sap-ag.de (smtpde02.sap-ag.de [155.56.68.140]) by ietfa.amsl.com (Postfix) with ESMTP id 2816721F8448 for <tls@ietf.org>; Tue, 6 Dec 2011 10:28:16 -0800 (PST)
Received: from mail.sap.corp by smtpde02.sap-ag.de (26) with ESMTP id pB6IRqIL016303 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 6 Dec 2011 19:27:52 +0100 (MET)
From: Martin Rex <mrex@sap.com>
Message-Id: <201112061827.pB6IRpLW006958@fs4113.wdf.sap.corp>
To: ekr@rtfm.com
Date: Tue, 06 Dec 2011 19:27:51 +0100
In-Reply-To: <CABcZeBNuVVVrrsNSg=x09bfOxFdhDf1ea0V7_05edtGPHYNz3w@mail.gmail.com> from "Eric Rescorla" at Dec 6, 11 09:38:39 am
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-SAP: out
Cc: tls@ietf.org
Subject: Re: [TLS] DTLS implementation attack?
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: mrex@sap.com
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tls>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 06 Dec 2011 18:28:18 -0000

Eric Rescorla wrote:
> 
> On Tue, Dec 6, 2011 at 9:32 AM, Martin Rex <mrex@sap.com> wrote:
> > Nikos Mavrogiannopoulos wrote:
> >>
> >> On Tue, Dec 6, 2011 at 5:56 PM, Marsh Ray <marsh@extendedsubset.com> wrote:
> >>
> >> > Anyone have more info on this?
> >> > Even just a CVE or 'fixed in' version would be helpful.
> >> > http://www.isoc.org/isoc/conferences/ndss/12/program.shtml#1a
> >> >> Plaintext-Recovery Attacks Against Datagram TLS
> >>
> >> Concerning gnutls the 3.0.8 release reduces the timing information
> >> revealed to an adversary to counter this attack. However, I'm still in
> >> contact with the authors for more information on the issue.
> >
> > By following the "SHOULD silently discard" recommendation in DTLS
> >  http://tools.ietf.org/html/rfc4347#page-9
> >
> >   In general, DTLS implementations SHOULD silently discard data with
> >   bad MACs.  If a DTLS implementation chooses to generate an alert when
> >   it receives a message with an invalid MAC, it MUST generate
> >   bad_record_mac alert with level fatal and terminate its connection
> >   state.
> >
> > in combination with a CBC-block cipher with explicit initial IV,
> > you might be creating a decryption oracle, vaguely similar to the
> > design defect in XML encryption with block ciphers in CBC-mode
> > (XML encryption has an explicit IV, but no MAC at all -- which
> > is suicidal in online scenarios, such as WS-Security).
> 
> I'm not following why silent discard would create a problem. Can you explain
> the threat you are concerned about?

Nikos mentioned "timing information revealed to an adversary".

Plaintext guessing attacks for block ciphers in CBC-mode exploit
timing differences for padding errors and MAC-errors (a variation
of Vaudenay).


I know very little about DTLS.  Quickly glancing over the spec.
The last paragraph of this
   http://tools.ietf.org/html/rfc4347#section-4.1.2.5

"MUST discard" sounds even more dangerous.

How about replaying in a 1:1 interleave crafted records
trying to determine timing differences and the client's Finished
message, so that the latter will cause the server to resend the
server finished message -- which may enable the attacker to measure
differences in processing the crafted record.


-Martin