Re: [OPSEC] Ted Lemon's Discuss on draft-ietf-opsec-dhcpv6-shield-05: (with DISCUSS and COMMENT)

joel jaeggli <joelja@bogus.com> Mon, 09 February 2015 16:36 UTC

Return-Path: <joelja@bogus.com>
X-Original-To: opsec@ietfa.amsl.com
Delivered-To: opsec@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B1BBB1A1B56; Mon, 9 Feb 2015 08:36:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] 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 3YNybdoGtVbq; Mon, 9 Feb 2015 08:36:35 -0800 (PST)
Received: from nagasaki.bogus.com (nagasaki.bogus.com [IPv6:2001:418:1::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 F05731A1B2D; Mon, 9 Feb 2015 08:33:58 -0800 (PST)
Received: from mb-aye.local (64.125.197.170.IPYX-102339-ZYO.zip.zayo.com [64.125.197.170] (may be forged)) (authenticated bits=0) by nagasaki.bogus.com (8.14.9/8.14.9) with ESMTP id t19GXuWt003663 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Mon, 9 Feb 2015 16:33:56 GMT (envelope-from joelja@bogus.com)
Message-ID: <54D8E16D.4030402@bogus.com>
Date: Mon, 09 Feb 2015 08:33:49 -0800
From: joel jaeggli <joelja@bogus.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:34.0) Gecko/20100101 Thunderbird/34.0
MIME-Version: 1.0
To: "C. M. Heard" <heard@pobox.com>, Ted Lemon <Ted.Lemon@nominum.com>
References: <20150207194616.20651.30892.idtracker@ietfa.amsl.com> <D5B607FA-9B47-4F1B-A0C1-FB0C94A97CDB@bogus.com> <Pine.LNX.4.64.1502071930100.25761@shell4.bayarea.net> <06B01D8E-981D-4D06-B6CC-3B5CE92782C5@nominum.com> <Pine.LNX.4.64.1502080813060.2950@shell4.bayarea.net> <D97E8BB3-0DB3-4B41-8C91-DBB3121DCEF7@nominum.com> <Pine.LNX.4.64.1502081507150.24776@shell4.bayarea.net> <72C73500-E6C4-4D75-9CFA-8FE4B012AB9E@nominum.com> <7516AD5C-1152-4020-B050-FA0383B58DBA@viagenie.ca> <Pine.LNX.4.64.1502081734120.24776@shell4.bayarea.net> <97C8D14E-D440-4625-8F26-83AF26917CF2@nominum.com> <54D83E7F.3040207@gmail.com> <E478028B-8FFC-47B4-B12D-F0A32227A726@nominum.com> <54D83FCE.4070804@qti.qualcomm.com> <Pine.LNX.4.64.1502082137570.16054@shell4.bayarea.net> <96CE509D-3B6E-49B8-98F6-CB8581787D7E@nominum.com> <Pine.LNX.4.64.1502090708270.22936@shell4.bayarea.net>
In-Reply-To: <Pine.LNX.4.64.1502090708270.22936@shell4.bayarea.net>
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="2k2KPuI7GPRrNu601PktOENG2nlc4DjSv"
Archived-At: <http://mailarchive.ietf.org/arch/msg/opsec/giCYqfTMNxflQGxd0GtoXuGl-2w>
Cc: "draft-ietf-opsec-dhcpv6-shield@ietf.org" <draft-ietf-opsec-dhcpv6-shield@ietf.org>, Pete Resnick <presnick@qti.qualcomm.com>, "draft-ietf-opsec-dhcpv6-shield.shepherd@ietf.org" <draft-ietf-opsec-dhcpv6-shield.shepherd@ietf.org>, "draft-ietf-opsec-dhcpv6-shield.ad@ietf.org" <draft-ietf-opsec-dhcpv6-shield.ad@ietf.org>, "opsec@ietf.org" <opsec@ietf.org>, The IESG <iesg@ietf.org>, "opsec-chairs@ietf.org" <opsec-chairs@ietf.org>, Brian E Carpenter <brian.e.carpenter@gmail.com>
Subject: Re: [OPSEC] Ted Lemon's Discuss on draft-ietf-opsec-dhcpv6-shield-05: (with DISCUSS and COMMENT)
X-BeenThere: opsec@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: opsec wg mailing list <opsec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/opsec>, <mailto:opsec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/opsec/>
List-Post: <mailto:opsec@ietf.org>
List-Help: <mailto:opsec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/opsec>, <mailto:opsec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 09 Feb 2015 16:36:38 -0000

On 2/9/15 8:11 AM, C. M. Heard wrote:
> On Mon, 9 Feb 2015, Ted Lemon wrote:
>> In addition to being known by the host, the extension header would 
>> have to be a standard extension header that does not conform to 
>> RFC 6564.  Otherwise, the switch can just skip over it even though 
>> it's nominally "unknown."
> 
> That, unfortunately, is not true, as I have been trying repeatedly 
> to explain.
> 
> When the switch encounters an unknown next header value, it does not 
> know if that refers to a new extension header, which is required to 
> conform to the format of RFC 6564, or an upper layer protocol 
> header, which is NOT required to conform to RFC 6564.

So the problem I have in application is if i'm applying an acl with an
L4 rule I have to find the upper layer header. If I can't parse the
header chain the packet is hitting a drop rule. if I can jumper over a
header due to 6564 and find the the L4 header then great, if I can't,
that packet is getting dropped.

>  As I argue in 
> http://www.ietf.org/mail-archive/web/opsec/current/msg01817.html, 
> the switch opens itself up to DOS attacks if it assumes that any 
> unknown header in the chain conforms to RFC 6564 and attempts to 
> continue parsing the header chain.

in a device such a switch, I'm going to have to give up long before this
happens becasue the amount of the packet going towards the header
processing is only 64/128/256 bytes so I'm going to drop it if I don't
have that offset available to me.

I do think what you describe is a serious problem.

We do have a bunch of dos options to avail ourselves of on devices that
can be assumed to be capable of processing arbitrary header chains. If
such devices existed in my network I'd have to protect them with much
simpler devices.

> RFC 6564 gives the misleading impression that it actually solves a 
> problem.  It does not.  This is at least the third time I've seem 
> this discussion has come up.  For that reason it's time to retire 
> RFC 6564, but that of course is a job for 6man, not opsec.
> 
> There was some discussion of this problem in 6man -- one proposal 
> was draft-gont-6man-rfc6564bis, discussed Feb-May 2014 (see, e.g., 
> http://www.ietf.org/mail-archive/web/ipv6/current/msg20710.html).  
> 6man never came to consensus that the problem was sufficiently 
> important to solve, but I think the current discussion has 
> hughlighted the importance of putting it to rest.  Secifically:
> 
>> ... in dropping packets with unknown extension headers, we are 
>> _also_ dropping packets with unknown protocol headers.  That is 
>> the real harm of the language of the document as it is currently 
>> written.
> 
> THAT is a very a real problem in an Internet full of middleboxes.  
> It would be fixed if the set of extension headers were closed off to 
> further expansion.  Multiple technically viable ways to do this 
> without sacrificing functionality have been proposed; this 
> discussion sould, I hope, provide the motivation needed to get 6man 
> to adopt one of those solutions (or something similar).
> 
> Sorry for the digression, but I think it was necessary to understand 
> the problem.
> 
> //cmh
>