Re: [tcpm] SECDIR REVIEW of draft-ietf-tcpm-icmp-attacks-10.txt

Fernando Gont <fernando@gont.com.ar> Mon, 15 February 2010 21:07 UTC

Return-Path: <fernando@gont.com.ar>
X-Original-To: tcpm@core3.amsl.com
Delivered-To: tcpm@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BF2743A6870; Mon, 15 Feb 2010 13:07:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.094
X-Spam-Level:
X-Spam-Status: No, score=-3.094 tagged_above=-999 required=5 tests=[AWL=0.505, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id P2C9ZGdezb-W; Mon, 15 Feb 2010 13:07:16 -0800 (PST)
Received: from smtp1.xmundo.net (smtp1.xmundo.net [201.216.232.80]) by core3.amsl.com (Postfix) with ESMTP id 63BBC3A682A; Mon, 15 Feb 2010 13:07:14 -0800 (PST)
Received: from venus.xmundo.net (venus.xmundo.net [201.216.232.56]) by smtp1.xmundo.net (Postfix) with ESMTP id DF2896B673D; Mon, 15 Feb 2010 18:08:55 -0300 (ART)
Received: from [192.168.0.100] (144-174-17-190.fibertel.com.ar [190.17.174.144]) (authenticated bits=0) by venus.xmundo.net (8.13.8/8.13.8) with ESMTP id o1FL8fm1002804; Mon, 15 Feb 2010 18:08:42 -0300
Message-ID: <4B79B7D9.8080909@gont.com.ar>
Date: Mon, 15 Feb 2010 18:08:41 -0300
From: Fernando Gont <fernando@gont.com.ar>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: Joe Touch <touch@ISI.EDU>
References: <a123a5d61002121827y2f2b0256u5859790c06819a92@mail.gmail.com> <4B79A54C.7040107@gont.com.ar> <4B79A9BA.5050205@isi.edu> <4B79AEC8.3030506@gont.com.ar> <4B79B270.5060804@isi.edu>
In-Reply-To: <4B79B270.5060804@isi.edu>
X-Enigmail-Version: 0.96.0
OpenPGP: id=D076FFF1
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-3.0 (venus.xmundo.net [201.216.232.56]); Mon, 15 Feb 2010 18:08:55 -0300 (ART)
Cc: tcpm@ietf.org, Phillip Hallam-Baker <hallam@gmail.com>, secdir@ietf.org
Subject: Re: [tcpm] SECDIR REVIEW of draft-ietf-tcpm-icmp-attacks-10.txt
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tcpm>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 15 Feb 2010 21:07:17 -0000

Joe Touch wrote:

>> Well, if you track the decision, you'll probably go back to an IETF
>> meeting in 2005 (Vancouver), in which, while we were heading for Std.
>> Track, somebody asked "Why not Informational?", and that's what we ended
>> up doing. So...
> 
> That decision was discussed at length at multiple IETFs. It didn't
> happen as an accident or by the direct consequence of a single
> off-handed suggestion.

I disagree. But at this point in time, this is off-topic.



>> The TCP spec says that "ICMP hard errors should be processes as RSTs",
>> but never describe a case in which a TCP would send an ICMP hard error
>> instead of a RST.

I already argued that the only ICMPs that you really need are the "frag
needed" ones.



> If frag is needed, you can't get a RST since the packet never gets
> there. If the port is blocked upstream of the end device, the same thing
> happens. Your next sentence appears to assert that the latter is the
> common case.

If the packet had elicited an RST if it had been received at the
intended destination, the connection will probably time-out (i.e., it
was a data segment... unless you're implying that a simple ACK does not
fit into the PMTU).



>> If you ever get an ICMP hard error, it's probably because of a firewall.
> 
> If it's after a connection is established, it's likely because of a
> change in path that has different firewall policy or MTU.

Exactly. In which case that should be a *soft* error (who said the path
is not going to change back to the old one?).



>> And many of these devices do not even check the TCP checksum.
> 
> Nor should they. The ICMP packet isn't required to include the entire
> TCP segment, and when it doesn't it *can't* verify the checksum anyway.

Exactly. And this hurts the precious TCP robustness you have always been
defending.


>> And, if you really depend on anything to flush stale connections, you're
>> vulnerable to a bunch of other attacks (Sockstress, and the rest of the
>> stuff that is already discussed in the CPNI TCP security paper).
> 
> My point was simply that TCP doesn't always clean itself up via
> timeouts. That could be changed, but requires a change to the TCP spec
> to, e.g., require all TCP connections to default to "keepalive", and
> that hasn't been discussed.

Keepalives are not even part of the spec.



>>> It's difficult to argue for broader controls of ICMPs in the absence of
>>> authentication at the IP or TCP level, since RSTs have just as injurious
>>> an impact.
>> C'mon, Joe. ICMP must have an in-window TCP SEQ. ICMPs need not. We've
>> been here before. So the ICMP attack vector is the low hanging fruit.
> 
> There are numerous ways to upset a TCP connection by injecting bad data,
> causing it to emit extra ACKs, etc. And the difference between in and
> not-in window has become much less relevant.

ICMP's are one of the only two vectors that can reset connections
without being required a matching SEQ. -- the other one being the ToS
and Precedence level, as discussed in the CPNI document.

IMO, in-window vs. oo-window does make a difference. For instance, the
whole press that these issues got back in 2004 is because people had got
the numbers wrong in their calculations of "number of packets needed".
This is essentially the "new thing" that Paul Watson pointed out back in
2004.

Anyway: For the most part I'm wondering if there's any additional text
needed to address Phillip's comments. Thoughts? This should be our focus
at this point in time.

Thanks,
-- 
Fernando Gont
e-mail: fernando@gont.com.ar || fgont@acm.org
PGP Fingerprint: 7809 84F5 322E 45C7 F1C9 3945 96EE A9EF D076 FFF1