Re: [Spud] The reset middleboxes attack

"Bless, Roland (TM)" <roland.bless@kit.edu> Tue, 31 March 2015 08:25 UTC

Return-Path: <roland.bless@kit.edu>
X-Original-To: spud@ietfa.amsl.com
Delivered-To: spud@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 513BA1B2B34 for <spud@ietfa.amsl.com>; Tue, 31 Mar 2015 01:25:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.85
X-Spam-Level:
X-Spam-Status: No, score=-3.85 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_MED=-2.3] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id asJnaXmjEdr5 for <spud@ietfa.amsl.com>; Tue, 31 Mar 2015 01:25:18 -0700 (PDT)
Received: from iramx2.ira.uni-karlsruhe.de (iramx2.ira.uni-karlsruhe.de [141.3.10.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 02D531B2B33 for <spud@ietf.org>; Tue, 31 Mar 2015 01:25:18 -0700 (PDT)
Received: from i72vorta.tm.uni-karlsruhe.de ([141.3.71.26] helo=i72vorta.tm.kit.edu) by iramx2.ira.uni-karlsruhe.de with esmtp port 25 iface 141.3.10.81 id 1YcrU3-0004zq-UE; Tue, 31 Mar 2015 10:25:15 +0200
Received: from [IPv6:::1] (ip6-localhost [IPv6:::1]) by i72vorta.tm.kit.edu (Postfix) with ESMTPS id D6F4BB000BA; Tue, 31 Mar 2015 10:25:15 +0200 (CEST)
Message-ID: <551A59EB.3070501@kit.edu>
Date: Tue, 31 Mar 2015 10:25:15 +0200
From: "Bless, Roland (TM)" <roland.bless@kit.edu>
Organization: Institute of Telematics, Karlsruhe Institute of Technology
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0
MIME-Version: 1.0
To: Christian Huitema <huitema@microsoft.com>, "spud@ietf.org" <spud@ietf.org>
References: <DM2PR0301MB0655748F52C0984FB6BF8E93A8F60@DM2PR0301MB0655.namprd03.prod.outlook.com> <55195F25.8000007@kit.edu> <DM2PR0301MB0655FFD27159E9FFD015442FA8F50@DM2PR0301MB0655.namprd03.prod.outlook.com>
In-Reply-To: <DM2PR0301MB0655FFD27159E9FFD015442FA8F50@DM2PR0301MB0655.namprd03.prod.outlook.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: 8bit
X-ATIS-AV: ClamAV (iramx2.ira.uni-karlsruhe.de)
X-ATIS-Timestamp: iramx2.ira.uni-karlsruhe.de 1427790316.
Archived-At: <http://mailarchive.ietf.org/arch/msg/spud/hr8sghKMlBgeGvvUvSyn6jD6rQk>
Cc: Jana Iyengar <jri@google.com>, Eric Rescorla <ekr@rtfm.com>
Subject: Re: [Spud] The reset middleboxes attack
X-BeenThere: spud@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Session Protocol Underneath Datagrams <spud.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spud>, <mailto:spud-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/spud/>
List-Post: <mailto:spud@ietf.org>
List-Help: <mailto:spud-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spud>, <mailto:spud-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 31 Mar 2015 08:25:20 -0000

Hi Christian,

comments inline.

On 30.03.2015 at 22:36 Christian Huitema wrote:
>> On Monday, March 30, 2015, at 7:35 AM, Bless, Roland (TM)
>> wrote: ...
>>> I can see that implementers may not be enthusiastic with the 
>>> additional complexity. But we would be naïve to just dismiss the 
>>> attack. We do see attackers capable of eavesdropping traffic, and
>>> then injecting packets "from the side." I am sure that these
>>> attackers would find good use of a capability to nuke connections
>>> at will.
>> 
>> The described approach would be still vulnerable to on-path
>> attackers, right?
> 
> If we add a cryptographic protection on the reset packets, then it
> will prevent the reset injection attack by anyone, including on path
> attackers.

Sorry, I was confused by the term "hash result" R in your previous mail,
and reread the mail again. So R is the preimage that comes with the
CLOSE, while T comes with the OPEN and therefore the middlebox can
verify that H(R)=T.

> Of course, on path middleboxes have the possibility to just drop all
> packets for a connection. That's a different attack, and it is
> possible to find out the culprit by looking at where packets are
> dropped. It is much harder to get away undetected with a blocking
> attack than with a single packet injection attack.

Yep. However, there is little you can do against such a DoS attack anyway.

>> Furthermore, middleboxes must be prepared that route changes may
>> occur and they may see only the start packet and maybe some data
>> packets, but never the end packet.
> 
> The route changes issue is probably worth its own thread.
> 
> I am worried that even if routing does not change, SPUD expose end
> points to new attacks. The root cause is that SPUD middleboxes are
> expected to make decisions based on unauthenticated data in the
> packet headers. The reset attack is just one of those, probably the
> most obvious one. Quick brainstorm comes up with other possible
> attacks:
> 
> * Inject lots of "open" packets with different context ID, targeting
> the same five tuple. These will be discarded by the end points, but
> for the middle boxes they are the equivalent of a "SYN Flooding"
> attack.

Yes.

> * Inject packets with creative values for declared bandwidth and
> other parameters. Depending on parameter values, this can be either a
> DOS against the end point (e.g., fake requirement of 100 bps for a
> video stream) or a DOS attack against the network (e.g., stack a lot
> of bandwidth reservations for nonexistent flows).

IMHO resource reservation is a different game and doesn't make much
sense without some form of authorization. That's why I don't buy the
argument that SPUD will cause no harm because of its purely indicative
nature (like a flow + traffic specification): if such indicative values
would have no effect on middlebox operation, you could simply dismiss
them. Otherwise if middleboxes take them seriously it may lead to attack
vectors just as you described.

> I understand how to protect against the reset attack, but I am not
> sure what to do about these other attacks.

It is possible to create some protection schemes, but usually that will
end up in 3-way handshakes and the like, which isn't lightweight anymore.

Regards,
 Roland