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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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

>
>  From: Peter Yee via Datatracker <noreply@xxxxxxxx>
> Subject: Secdir last call review of draft-ietf-6man-hbh-processing-15
> Date: April 27, 2024 at 9:57:43 PM PDT
> To: <secdir@xxxxxxxx>
> Cc: draft-ietf-6man-hbh-processing.all@xxxxxxxx, ipv6@xxxxxxxx, last-call@xxxxxxxx
> Resent-From: <alias-bounces@xxxxxxxx>
> Resent-To: bob.hinden@xxxxxxxxx, ek.ietf@xxxxxxxxx, evyncke@xxxxxxxxx, furry13@xxxxxxxxx, gorry@xxxxxxxxxxxxxx, otroan@xxxxxxxxxxxxx
> Reply-To: Peter Yee <peter@xxxxxxxxxx>
>
> 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


--
last-call mailing list
last-call@xxxxxxxx
https://www.ietf.org/mailman/listinfo/last-call




[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Mhonarc]     [Fedora Users]

  Powered by Linux