Re: [secdir] Secdir last call review of draft-ietf-6man-hbh-processing-15

Gorry Fairhurst <gorry@erg.abdn.ac.uk> Tue, 30 April 2024 09:25 UTC

Return-Path: <gorry@erg.abdn.ac.uk>
X-Original-To: secdir@ietfa.amsl.com
Delivered-To: secdir@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DB220C14F73E; Tue, 30 Apr 2024 02:25:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id A5DNJqekqX8w; Tue, 30 Apr 2024 02:25:45 -0700 (PDT)
Received: from pegasus.erg.abdn.ac.uk (pegasus.erg.abdn.ac.uk [137.50.19.135]) by ietfa.amsl.com (Postfix) with ESMTP id EDCC1C14CF0C; Tue, 30 Apr 2024 02:25:32 -0700 (PDT)
Received: from [192.168.1.81] (fgrpf.plus.com [212.159.18.54]) by pegasus.erg.abdn.ac.uk (Postfix) with ESMTPSA id 26D881B000E6; Tue, 30 Apr 2024 10:25:26 +0100 (BST)
Message-ID: <31e7f7c4-853e-4786-9e40-01f5aa4736fa@erg.abdn.ac.uk>
Date: Tue, 30 Apr 2024 10:25:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-GB
To: Peter Yee <peter@akayla.com>, secdir@ietf.org
Cc: draft-ietf-6man-hbh-processing.all@ietf.org, ipv6@ietf.org, last-call@ietf.org
References: <171428026345.30682.2215023793488886381@ietfa.amsl.com>
From: Gorry Fairhurst <gorry@erg.abdn.ac.uk>
Organization: UNIVERSITY OF ABERDEEN
In-Reply-To: <171428026345.30682.2215023793488886381@ietfa.amsl.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/secdir/I3Jl2NDD92blqxbwAxYBQg9sIjY>
Subject: Re: [secdir] Secdir last call review of draft-ietf-6man-hbh-processing-15
X-BeenThere: secdir@ietf.org
X-Mailman-Version: 2.1.39
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: <https://mailarchive.ietf.org/arch/browse/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: Tue, 30 Apr 2024 09:25:49 -0000

Thank you for this detailed review, please see our comments below.

 >
 >  From: Peter Yee via Datatracker <noreply@ietf.org>
 > Subject: Secdir last call review of draft-ietf-6man-hbh-processing-15
 > Date: April 27, 2024 at 9:57:43 PM PDT
 > To: <secdir@ietf.org>
 > Cc: draft-ietf-6man-hbh-processing.all@ietf.org, ipv6@ietf.org, 
last-call@ietf.org
 > Resent-From: <alias-bounces@ietf.org>
 > Resent-To: bob.hinden@gmail.com, ek.ietf@gmail.com, 
evyncke@cisco.com, furry13@gmail.com, gorry@erg.abdn.ac.uk, 
otroan@employees.org
 > Reply-To: Peter Yee <peter@akayla.com>
 >
 > Reviewer: Peter Yee
 > Review result: Has Issues
 >
 > I 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.  
Document
 > authors, document editors, and WG chairs should treat these comments 
just like
 > any other IETF Last Call comments.
 >
 > Document: draft-ietf-6man-hbh-processing-15
 > Reviewer: Peter Yee
 > Review Date: 2024-04-27
 > IETF LC End Date: 2024-04-29
 > IESG Telechat date: Unknown
 >
 > Summary: This document updates RFC 8200 with regard to processing of IPv6
 > Hop-by-Hop options. This has been done with an eye towards reducing 
security
 > problems (mostly denial of service). There are some inconsistencies 
between the
 > main body of the document and its Security Considerations. The nits 
listed are
 > just because I can’t read a document without fixing the jarring editorial
 > things my eyes can’t unsee. [Has Issues]
 >
 > Major issues: None
 >
 > Minor issues:
 >
 > I feel the main body of the document and Security Considerations were 
almost
 > written by different authors who had a different outlook on the 
content from
 > mine. That might be because I’m not in the IPv6 space. Some of my 
thoughts
 > follow.

GF:  It is true there are two authors, each with their own version of 
English :-)

 >
 > Page 14, section 8, 4th paragraph, 1st sentence: “the document notes …
 > malformed/malicious protocols fields”. I find that a stretch. Is 
malformed
 > meant to be the small caveat that in the last paragraph of 5.2.1, 2nd 
sentence
 > about verify a protocol of interest? There’s not much I can see in 
the way of
 > malformedness in that. As for malicious, that term doesn’t appear in the
 > document other than in the security considerations. Further, outside 
of the
 > general concept of Denial-of-Service attacks, part of what this document
 > attempts to fix is generally not processing options if the control 
plane is
 > going to get bogged down, but that doesn’t necessarily indicate malice
 > expressed in the incoming packets.

GF: Not a stretch: a node can form a packet that includes an EH that 
incurs significant work by a router on-path - be it by accident or 
intent. It's not possible for a router to know why such packets were 
received, it simply has to decide what to do. We propose to add an 
example, hoping that helps:

"For example, a
packet with an excessive number of options could consume significant
resources; inclusion of a large extension header could potentially
cause an on-path router to be unable to utilise hardware
optimisations to process later headers (e.g., to perform ECMP, or
port filtering)."

---
 >
 > Page 14, section 8, 1st bullet item, 2nd sentence: Here it’s stated 
that the
 > first Hop-by-Hop option MUST be processed. I could find that nowhere 
in the
 > document in so many words. There was one part (page 8, last paragraph 
and one
 > over to the next page) that sort of implies that this had been an 
idea, but it
 > doesn’t appear to be fleshed out in the text preceding it nor in the 
rest of
 > the document.

GF: This was indeed inconsistent, thanks for the comment, the the 
security considerations will be updated to say:

         A router configuration needs to avoid vulnerabilities that
        arise when it cannot process a Hop-by-Hop option at full
        forwarding rate and SHOULD NOT therefore be configured to
        process the a Hop-by-Hop option if this adversely impacts the
        aggregate forwarding rate, instead it
        SHOULD behave in the way specified for an unrecognized Option 
Type when the
        action bits were set to "00", as specified in XXX.

- we hope this addresses this issue.

---
 > Page 14, section 8, 3rd bullet item, 1st sentence: where is this 
definition?
 > The word “default” appears once in the document. In the security
 > considerations. I could not find text that made think I had seen a 
definition
 > of a default number. Perhaps I just didn’t understand an implication 
somewhere.

GF: I see this was not wisely worded - i.e. was hacked to many times, we 
suggest this should say:
...
         The document sets an expectation that if a packet
         includes a single Hop-by-Hop option that packet will be
         forwarded across the network path.

---
 > The issues I noted above would be helped if the security 
considerations pointed
 > out where these changes can be found.
 >
 > Nits/editorial comments:
 >
 > General:
 >
 > With the exception of the beginning of sentence or in the term 
“Source Address”
 > or “Destination Address”, the terms “source” and “destination” should be
 > written in lower case to match the usage in the other IPv6 documents 
(e.g., RFC
 > 8200, draft-ietf-6man-eh-limits, etc.). My actual preference would be 
to make
 > the terms lower case as well in the Terminology section and then use them
 > accordingly in the rest of the document. Some of the document’s own 
usage mixes
 > cases. Most of the other IPv6 documents use terms such as Control 
Plane in
 > lower case as a further justification for going to lower case here as 
well.

GF: RFC 8200 seems to mostly use: "source", but "Source Address" -we 
propose to copy this usage.

 > I noticed a mix of British and American English in the document 
(“unrecognized”
 > [American] and “behaviour” [British]). Choose one dialect for use 
throughout
 > the document. (See RFC 7322, section 3.1.)

GF: Thanks. We will change where we see issues, and assume the RFC-Ed 
will complete this review.

 > Change “Denial of Service” to “Denial-of-Service” in several places 
in the
 > document. Wouldn’t want anyone to think we were denying a service 
attack. ;-)
 >
 > Specific:
 >
 > Page 1, Abstract, 2nd sentence: change “(RFC8200)” to “(RFC 8200)”. 
(See RFC
 > 7322, section 3.5.)
 >
 > Page 1, Abstract, 3rd sentence: change “RFC8200” to “RFC 8200”.
 >
 > Page 4, 3rd bullet item last sentence: change “EH” to “Extension 
Header (EH)”
 > as this is the first use of “EH”. “EH” is not in the RFC Editor’s list of
 > abbreviations that do not need to be expanded. (See
 > https://www.rfc-editor.org/materials/abbrev.expansion.txt) Change 
“40B” to “40
 > B”.
 >
 > Page 4, last paragraph: append a comma after “[RFC2460]”.
 >
 > Page 6, 3rd bullet item, 1st sentence: I’d change “etc.) that” to “etc.),
 > which”. The “that” might otherwise be read (by the unwary reader, 
like me) to
 > refer to “router management protocols” and require some slow parsing 
to tease
 > out the correct meaning.
 >
 > Page 6, 3rd bullet item, 2nd sentence: change “forward” to “forwards”.
 >
 > Page 7, 1st full paragraph, 2nd sentence: I’m not sure what “was 
raised as an
 > issue” in this sentence. Neither “This document” nor “[RFC7045]” 
makes sense as
 > the subject of that predicate.
 >
 > Page 7, section 5.1, 2nd paragraph, 2nd sentence: I’d delete “can” before
 > “only” as superfluous.
 >
 > Page 7, section 5.1, 4th paragraph, 2nd sentence: consider changing 
“Extension
 > Header” to “Extension Header(s)” as there could be more than one 
Extension
 > Header after the Hop-by-Hop Option header.
 >
 > Page 8, 1st partial paragraph, 1st full sentence: change “that” to 
“whether”.
 >
 > Page 8, 1st full paragraph, 3rd sentence: insert “the” before “Hop-by-Hop
 > Options header”.
 >
 > Page 9, 1st partial paragraph, last sentence: Can't this second 
sentence be
 > folded into the first? Then the two would read: A router SHOULD NOT 
therefore
 > be configured to process any Hop-by-Hop options that adversely 
impacts the
 > aggregate forwarding rate. The only reason that it wouldn’t make sense to
 > combine them would relate to my issue with the Security 
Considerations (see
 > above) about the assertion that the first option must be processed.

GF: As a small change, the current text could be better perhaps as:

A router SHOULD process additional Hop-by-Hop
options, if configured to do so, providing that these also do not
adversely impact the aggregate forwarding rate.


---
 >
 > Page 10, value 10: append a comma after “discarded”.
 >
 > Page 10, value 11: append a comma after “multicast address”.
 >
 > Page 11, 1st paragraph, 2nd sentence: I’d suggest changing “results” 
to “can
 > result”. I don’t think use of the Router Alert Option has to result 
in the
 > concerns discussed in section 4, although they may very well do so in 
some
 > circumstances.
 >
 > Page 11, 1st paragraph, 3rd sentence: delete the comma after “option”.
 >
 > Page 11, 2nd paragraph, last sentence: These what? Perhaps append
 > “restrictions” after “These”.
 >
 > Page 11, 3rd paragraph: Start the paragraph with a single quotation 
mark and
 > end the quoted text with a single quotation mark since there’s already an
 > embedded bit with double quotation marks. In any case, there were 
only three
 > quotation marks in the whole paragraph, so a match is needed of a 
deletion of
 > the closing quotation mark is in order. I’ll note that the quotation 
is not
 > exact anyhow: “Implementation” is capitalized, and “option” is not, 
unlike the
 > source material.
 >
 > Page 11, 5th paragraph, 2nd sentence: I’d qualify this sentence by 
appending
 > “that does recognize the IP Router Alert Option” after “An 
implementation”.

GF: We capitalized “Option” in the manner that RFC 6938 does, but 
avoided doing this where the text is quoted.

 > Page 11, 5th paragraph, last sentence: delete the extraneous close 
parenthesis
 > at the end of the sentence.
 >
 > Page 12, 1st partial paragraph, 1st full sentence: change “inSection” 
to “in
 > Section”.
 >
 > Page 12, section 6, 1st bullet item, 2nd sentence: delete the comma 
and put
 > “see Section 5.2” in parentheses.
 >
 > Page 12, 1st paragraph after bullet items, 1st sentence: change “can 
not” to
 > “cannot”, to match “Chicago Manual of Style” usage. (This is the 
default for
 > the RFC Editor.)
;-)
 >
 > Page 13, section 6.1, 2nd paragraph, 1st sentence (yeah, the really 
long one):
 > delete the comma after the second occurrence of “options”. The subject of
 > “otherwise refrains” is not entirely clear to me, so it’s possible it 
should be
 > “otherwise refrain” if you’re talking about the “applications” but 
should be
 > left alone if the subject is “the path”.
 >
 > Page 13, section 6.1, 3rd paragraph: delete the extraneous space after
 > “[RFC9268]”.
 >
 > Page 13, section 6.1, 4th paragraph, 1st sentence: consider deleting 
the comma
 > after “option” and deleting the comma after “options”. Change “sends” 
to “send”
 > before “other packets”. This sentence is a bit of a mess.
 >
 > Page 14, section 8, 3rd paragraph, 2nd sentence: change “Firewall” to
 > “firewall”.
 >
 > Page 14, section 8, 3rd paragraph, 3rd sentence: delete the comma 
after “all
 > Extension Headers”.
 >
 > Page 14, 1st bullet item, 1st sentence: append “options” after 
Hop-by-Hop. Be
 > explicit about what the one exception is. I’m assuming “IP Router Alert
 > Option”, but it would be easier and clearer if this was just stated.
 >
 > Page 15, 1st bullet item: I’d delete “Although” in the second 
sentence and
 > capitalize “nodes”.
 >
 >
 >
Thanks also for the list of editorial corrections, we plan to prepare a 
new revision that addresses the points above and all the other editorial 
issues,

Best wishes,
Gorry & Bob