Re: [secdir] Security review of draft-ietf-isis-extended-sequence-no-tlv-04

"Adam W. Montville" <adam.w.montville@gmail.com> Thu, 02 April 2015 11:25 UTC

Return-Path: <adam.w.montville@gmail.com>
X-Original-To: secdir@ietfa.amsl.com
Delivered-To: secdir@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3D95D1B2C69; Thu, 2 Apr 2015 04:25:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] 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 v1-d5qyttPmD; Thu, 2 Apr 2015 04:25:42 -0700 (PDT)
Received: from mail-pd0-x22a.google.com (mail-pd0-x22a.google.com [IPv6:2607:f8b0:400e:c02::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7C9461B2C6C; Thu, 2 Apr 2015 04:25:41 -0700 (PDT)
Received: by pdbnk13 with SMTP id nk13so6660473pdb.0; Thu, 02 Apr 2015 04:25:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=fKD39/VRp997w8pcnRxjXnVTe0jkGHFAzZ2BjxL6LXk=; b=IV5qPQk7Z7hLDGpWuych1TCo1hhtN3Dy5cpmY+zMUqyscuPGlpjiwvWOgjv8F7rv08 JMDV/LGjyiq1T/ZPZwAYsojQRbkaXyqjkCO2traONfjKvpsdi2QCWRjCBj9El2dxBVdG 3p14TnxZM+DsBukH/m/iR4xSiFP28GAjV6sRvYx7OrH48ZHuhE13QN2pzKLtUkV+yXGd 8r/rfF62qjxqVlUNghHcQPRLXGGe8L0qzD0V+fLs5rEUu98TMAROSic7MXizufYRth2O LBewXo0qnFVJOJXhhAglGMHiAEMEG+bA1zbBAd4hK8I8YRmvWb60n4bEb67BMEi4EKeT xXlA==
X-Received: by 10.70.15.67 with SMTP id v3mr85310230pdc.166.1427973940982; Thu, 02 Apr 2015 04:25:40 -0700 (PDT)
Received: from ?IPv6:2602:306:3406:4f00:3927:f888:4490:4af7? ([2602:306:3406:4f00:3927:f888:4490:4af7]) by mx.google.com with ESMTPSA id bz3sm4976342pab.2.2015.04.02.04.25.38 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 02 Apr 2015 04:25:40 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail=_D9C6C73C-6752-4ED1-81C9-71EAE8283DE3"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\))
From: "Adam W. Montville" <adam.w.montville@gmail.com>
In-Reply-To: <1B502206DFA0C544B7A60469152008633F61E19F@eusaamb105.ericsson.se>
Date: Thu, 2 Apr 2015 06:25:37 -0500
Message-Id: <587CC58A-C9D6-4FCE-8BF0-80BC30CE5D2B@gmail.com>
References: <718D753F-E377-4197-9F01-C34C12EC5CA0@gmail.com> <1B502206DFA0C544B7A60469152008633F61E19F@eusaamb105.ericsson.se>
To: Uma Chunduri <uma.chunduri@ericsson.com>
X-Mailer: Apple Mail (2.2070.6)
Archived-At: <http://mailarchive.ietf.org/arch/msg/secdir/ADOsUbiZ0ONT3kQ-6Cp_ushmyg8>
Cc: "draft-ietf-isis-extended-sequence-no-tlv.all@tools.ietf.org" <draft-ietf-isis-extended-sequence-no-tlv.all@tools.ietf.org>, The IESG <iesg@ietf.org>, "secdir@ietf.org" <secdir@ietf.org>
Subject: Re: [secdir] Security review of draft-ietf-isis-extended-sequence-no-tlv-04
X-BeenThere: secdir@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Security Area Directorate <secdir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/secdir>, <mailto:secdir-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/secdir/>
List-Post: <mailto:secdir@ietf.org>
List-Help: <mailto:secdir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/secdir>, <mailto:secdir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 02 Apr 2015 11:25:45 -0000

Thanks for your response.  I have a few more comments inline.


> On Apr 1, 2015, at 5:07 PM, Uma Chunduri <uma.chunduri@ericsson.com> wrote:
> 
> Hi Adam,
>  
> Thanks for your review and suggestions.
> Please see my replies in-line [Uma]:
>  
> -----Original Message-----
> From: Adam W. Montville [mailto:adam.w.montville@gmail.com <mailto:adam.w.montville@gmail.com>] 
> Sent: Wednesday, April 01, 2015 6:29 AM
> To: The IESG; secdir@ietf.org <mailto:secdir@ietf.org>; draft-ietf-isis-extended-sequence-no-tlv.all@tools.ietf.org <mailto:draft-ietf-isis-extended-sequence-no-tlv.all@tools.ietf.org>
> Subject: Security review of draft-ietf-isis-extended-sequence-no-tlv-04
>  
> I have reviewed this document as part of the security directorate's ongoing effort to review all IETF documents being processed by the IESG.  These comments were written primarily for the benefit of the security area directors.
>  
> This draft is ready with issues.
>  
> There are two circumstances within IS-IS that are subject to replay attacks.  One can happen when adjacencies are brought up and an IS sends an IIH (hello).  The other circumstance pertains to replaying CSNP, which may cause replay of PSNP and thus cause LSP flooding.  
>  
> This draft proposes a sequence to mitigate replay attacks in both circumstances.  The structure of the sequence is defined as a new TLV called "ESN TLV".  It constists of the three fields, Type, Length, and Value, where Value is to be interpreted as two separate fields.  These two fields are known as Extended Session Sequence Number (ESSN; a 64-bit value, which is non-zero and unsigned), and Packet Sequence Number (PSN; a 32-bit value).  A given ESN is associated with a particular Protocol Data Unit (PDU).  A PDU, therefore, "has" an ESSN, which is associated with a monotonically increasing PSN.  If the PSN wraps or if the device needs to be restarted, then the next ESSN must be larger than the previous ESSN.
>  
> This is where I see a potential issue, but maybe I'm missing a limit of practicality.  What happens when the ESSN is at 2^64-1 and needs to increment?  Granted that's a large number, so it might be the case that under no practical circumstance would the ESSN ever become that large; but, if that's the case, then it might be best to state so in the draft.
>  
> [Uma]: As you stated though this is possible theoretically, it is almost impractical if the right method of encoding is used. For every PDU only 32-bit PSN  increases and only when it wraps ESSN value is incremented. There are two approaches specified in Appendix (only as mere guidelines) of this draft to encode ESSN (64-bit) value.  If timestamps are used (Appendix A.1) to encode this value I don’t see the possibility for this to happen before the lifetime of the router perhaps. 


It would be useful to include such information in the draft, as it may not be readily clear to readers that the authors feel the 64-bit value is “intractable” in a sense.


> However, in Appendix A.2, non-volatile storage (Page 7)  it’s clearly stated that –
>     “If the non-volatile
>    storage is ever repaired or upgraded such that the contents are lost,
>    keys MUST be changed to prevent replay attacks.”
>  
>  
>  
> In the Appendix, the draft also goes into how timestamps may be leveraged (which are potentially more effective at mitigating replay attacks than are sequences), but does not clearly indicate how neighbors would negotiate the use of timestamps or how exactly the timestamps would be used or which format then must be used (a suggestion to look at RFC5905 is made).  
>  
> [Uma]: Appendix only proposes to use timestamps as a potential approach to encode the ESSN field of the TLV to get the ever increasing property in all cases. Please  note the approach for replay attack mitigation here is Extended Sequence numbers as specified in the TLV. There could be and may be more mechanisms to solve the same problem at hand but those are beyond the scope of this document. There is *no negotiation* required with neighbor on how to encode this value. This is purely a local matter as long as the “ever increasing” property is maintained, when 32-bit PSN is ever wrapped/cold-restart cases as explained in section 3.1.

It may be the case that I have a less-than-complete understanding of the problem domain.  My understanding is that one of the mitigation circumstances pertains to IS-IS Hello, where neighbors are being brought up and sending IIH to others.  Does this not make it a neighborhood problem?  

Even if all neighbors understand the “ever increasing” property, how would they understand which encoding is in place without some additional information?  It would probably be beneficial to provide some indication in the TLV as to how ESSN is encoded.  Alternatively, if there is a method to deduce the ever increasing property without knowing the ESSN encoding, that should be explained (or at least referenced, if explained elsewhere).


>  
> There may be valid operational reasons to favor a sequence over timestamps for replay mitigation, but such considerations appear absent in this draft.  Is there a reason timestamps are being avoided as the replay mitigation solution?
>  
> [Uma]: As I said above sequence number mechanism is the chosen option to solve the problem. For example, IS-IS LSP PDU already has 32-bit sequence number, which can effectively being used also for mitigating intra-session replay attacks.  The current method is to extend this approach to prevent inter and intra session replay attacks for non-LSP PDUs.  IMO, other possible methods to solve this problem (as you mentioned time stamps, frequent key changes through a key management protocol etc..) is beyond the scope of the current work.
>  
>  
> Nits:
>  
> There was at least one area of the text that could probably be clarified for the sake of non-security-familiar folks. The paragraph in section 2.1 could be changed as follows, to make clear that the authenticated case of IIH is where mitigation can be made.
>  
> OLD
> At the time of adjacency bring up an IS sends IIH packet with empty neighbor list (TLV 6) and with or without the authentication information as per provisioned authentication mechanism.  If this packet is replayed later on the broadcast network all ISes in the broadcast network can bounce the adjacency to create a huge churn in the network.
>  
> NEW
> When an adjacency is brought up an IS sends an IIH packet with an empty neighbor list (TLV 6), which can be sent with or without authentication information.  Packets can be replayed later on the broadcast network which may cause all ISes to bounce the adjacency, thus churning the network.  Note that mitigating replay is only possible when authentication information is present.
>  
> [Uma]: Sure, I shall change the text as you suggested. Thank you.

You are welcome.

>  
> In general, I recommend reviewing the draft for clarity.
>  
> Kind regards,
>  
> Adam
>