Thanks John for your inputs and suggestions.

Thanks,
Ketan


On Tue, 22 Mar, 2022, 11:51 pm John Scudder, <j...@juniper.net> wrote:

> Looks good, thanks. I’ve cleared my discuss, thanks for your work on this.
>
> —John
>
> On Mar 22, 2022, at 2:11 PM, Ketan Talaulikar <ketant.i...@gmail.com>
> wrote:
>
>
>
> Hi John,
>
> Thanks for your guidance with the text. Very much appreciated - especially
> in the middle of the busy IETF week.
>
> I've just posted an update to the draft with slight modifications to your
> text (so as to cover both sec 2.1 and 2.6 and suggest the use of the
> well-defined identifiers as a mitigation approach instead of relying solely
> on the symbolic names.
>
>
> https://datatracker.ietf.org/doc/html/draft-ietf-spring-segment-routing-policy-22
> <https://urldefense.com/v3/__https://datatracker.ietf.org/doc/html/draft-ietf-spring-segment-routing-policy-22__;!!NEt6yMaO-gk!TPdw7ZdqeCRS2htB1JCtU9oqzfUS0akoP3b2FGoZfrye6NBL-A_CpxzRhVlz1g$>
>
> Please let us know if this addresses your concerns.
>
> Thanks,
> Ketan
>
>
> On Tue, Mar 22, 2022 at 11:20 PM John Scudder <j...@juniper.net> wrote:
>
>> Hi Ketan,
>>
>> Thanks as always for your quick reply.
>>
>> > On Mar 22, 2022, at 4:54 AM, Ketan Talaulikar <ketant.i...@gmail.com>
>> wrote:
>> >
>> >
>> > Hi John,
>> >
>> > I dug into my emails and you are right that while we had a discussion
>> on point 4 (i.e. security considerations associated with the use of
>> symbolic names), it was not concluded. My apologies for the same.
>> >
>> > It might be helpful to place a context on why the draft uses symbolic
>> names in the first place. The closest analogies that come to my mind are
>> tunnels (different types - TE, IPinIP, IPsec) and MPLS LSPs (or paths).
>> These constructs have had symbolic names associated with them for a long
>> time now - both for local use on routers (some implementation-specific -
>> others specified by IETF)
>>
>> Sure. Anything local to the router isn’t related to my concern, which is
>> specific to the opportunity for a remote attacker to mislead someone on the
>> local router. I hope it’s clear by now that I have no issue with
>> associating a symbolic name with a SR Policy (or any other thing), as such.
>>
>> > and also signaled via routing protocols.
>>
>> Now that you point it out, I do see a few such, e.g. the
>> SYMBOLIC-PATH-NAME in RFC 8231. That particular example has arguably
>> different threat properties since the relationship between a PCE and its
>> clients isn’t mediated through other routers; the trust relationship is
>> clearer and the “remote attacker” is not so very remote. But I imagine
>> there are other examples to be found, and I don’t want to split hairs on
>> this detail.
>>
>> > Operators are therefore quite familiar with their usage and hence their
>> introduction in the SR Policy construct. I don't believe the WG would want
>> to take the option of their removal (it was a suggested option).
>>
>> I didn’t really expect you to; I was just laying out some points in the
>> solution space.
>>
>> > Then we get to option of adding specific text to the draft (in the
>> security considerations?) that would discuss your concerns. Such text may
>> be addressed to implementators and/or operators. As mentioned above, the
>> use of symbolic names for constructs similar to SR Policy name and SR
>> Policy Candidate Path name is not "new" for both sets of readers.
>> Therefore, I am not sure if we need to cover or add anything new in this
>> document and I could not find text that I could borrow from other RFCs or
>> point to other RFCs. e.g.,
>> https://www.rfc-editor.org/rfc/rfc8231.html#section-7.3.2
>> <https://urldefense.com/v3/__https://www.rfc-editor.org/rfc/rfc8231.html*section-7.3.2__;Iw!!NEt6yMaO-gk!TPdw7ZdqeCRS2htB1JCtU9oqzfUS0akoP3b2FGoZfrye6NBL-A_Cpxzu_nJ4ug$>
>> >
>> > I did look at RFC9003 but its context is very different. From your
>> DISCUSS comment, I see that your concern is that a string does not have any
>> sanity checking - the operator is free to use any text.
>>
>> Correct. As long as you assume good will on the part of “the operator”
>> it’s all good. If you start thinking in terms of an attacker in some
>> distant part of the network injecting a policy, it becomes potentially
>> concerning.
>>
>> > I agree. Do we want implementations to restrict something? Do we want
>> to give some naming guidelines or precautions to the operators?
>>
>> I don’t think the concern is addressable on the origination side, since
>> it assumes a bad actor to begin with, and they’re not going to be bothered
>> by what we write in an RFC. That was why in my suggestion I was thinking in
>> terms of display conventions. I’m not super excited by my own idea, though,
>> because it reminds me uncomfortably much of the disclaimer my IT department
>> slaps on every incoming email, “[External Email. Be cautious of content]”.
>> It’s not particularly actionable, and it’s annoying. :-(
>>
>> > In a previous response, your suggestions for the text for operators
>> were (somewhat?) of the nature - "beware the name of the SR Policy may not
>> actually be correct or may be misleading because someone might have hacked
>> into the network". I am not sure if something of that nature helps. If the
>> names stop being meaningful then they are no more relevant? Isn't the
>> security aspect to be taken care of here is to prevent hacking? Something
>> beyond the scope of this draft?
>>
>> “Security is everyone’s responsiblity.”
>>
>> > I'll admit that I am running out of ideas on what would be a meaningful
>> text to add to address your concerns. Would appreciate some text suggestion
>> that is relevant to this specific context.
>>
>> In the end, maybe it’s true that there’s not much to be done, which
>> sucks, but that’s life. But even if we throw our hands in the air and say
>> “nothing to be done”, which is I think where we’re getting to, I don’t
>> think there would be any harm in putting a sentence or two in the Security
>> Considerations such as you mention just above. Something along the lines of,
>>
>> “In Section 2.1 we mention that a symbolic name MAY be signaled along
>> with a candidate path. While the value of symbolic names for display
>> clarity is indisputable, as with any unrestricted freeform text received
>> from external parties, there can be no absolute assurance that the
>> information the text purports to show is accurate or even truthful. For
>> this reason, users of implementations that display such information would
>> be well-advised not to rely on it without question. Furthermore,
>> implementations that display such information might wish to display it in
>> such a fashion as to differentiate it from known-good information. (Such
>> display conventions are inherently implementation-specific; one example
>> might be use of a distinguished text color or style for information that
>> should be treated with caution.)”
>>
>> Let’s be honest, the “oooh be careful” text provides about as much
>> protection as wet tissue paper, and displaying the string in magenta not a
>> whole lot more than that — but it’s still better to disclose the cocnern
>> than not to.
>>
>> Regards,
>>
>> —John
>>
>> > Thanks,
>> > Ketan
>> >
>> > On Tue, Mar 22, 2022 at 2:54 AM John Scudder <j...@juniper.net> wrote:
>> >> Hi Ketan,
>> >>
>> >> You asked "whether the responses and draft updates address [my]
>> concerns”. I’d say that while I’m not completely happy about certain things
>> (e.g., I remain unconvinced that the companion IDR doc shouldn’t be a
>> normative reference) I don’t need to continue holding a DISCUSS on them:
>> we’ve had a discussion, we don’t completely agree, these things happen. On
>> point 4 however, I don’t think our discussion has concluded. At least, if
>> you replied to this, I missed it:
>> >>
>> >> > On Feb 16, 2022, at 2:42 PM, John Scudder <jgs=
>> 40juniper....@dmarc.ietf.org> wrote:
>> >> >
>> >> >> 4. In §2.1 you talk about the signaling of symbolic names for
>> candidate paths.
>> >> >> Although you are careful to say that such symbolic names are only
>> used for
>> >> >> presentation purposes, it seems to me they still could be
>> considered a new
>> >> >> potential source of vulnerability, since a string that has no
>> sanity-checking
>> >> >> whatsoever applied by the protocol can display literally anything
>> to an
>> >> >> operator viewing it. Shouldn’t this be addressed in your Security
>> >> >> Considerations? (For an example of a related Security
>> Considerations, see RFC
>> >> >> 9003. It’s probably not the best example, but it’s the one I had at
>> my
>> >> >> fingertips…)
>> >> >>
>> >> >> KT> RFC9003 uses UTF-8 while this document uses printable ASCII. As
>> such, I am not aware of security issues around printable ASCII - please do
>> point me to any references.
>> >> >
>> >> > You’re thinking too much like a protocol designer. The kind of
>> concern I’m thinking about has to do with using the string as a vector to
>> put some words in front of an operator, as part of a larger social
>> engineering attempt. I don’t have a detailed attack scenario to paint for
>> you, but a quick sketch is along the lines of
>> >> >
>> >> > - Attacker manages to inject a candidate path with the name
>> “Big_Bank_Low_Latency”
>> >> > - ProTip: the candidate path does not actually terminate at Big_Bank
>> >> > - Attacker then phones NOC, feigns urgency, asks NOC to redirect
>> Big_Bank traffic onto that path
>> >> >
>> >> > You get the idea, I hope.
>> >>
>> >> More snipped, but this is the meat of it. In case you haven’t looked
>> at RFC 9003’s security section, here’s a snip from it:
>> >>
>> >>    As BGP Shutdown Communications are likely to appear in syslog
>> output,
>> >>    there is a risk that carefully constructed Shutdown Communication
>> >>    might be formatted by receiving systems in a way to make them appear
>> >>    as additional syslog messages.
>> >>
>> >> (FWIW, I didn’t contribute that text.)
>> >>
>> >> Please don’t obsess about “syslog” in the example above, it’s not
>> central to the point, just like UTF-8 vs ASCII isn’t central. The point,
>> again, is that by introducing a way for an attacker to cause a target
>> system to display arbitrary strings, it would seem reasonable to wonder if
>> that creates an opportunity for mischief that doesn’t ordinarily exist in
>> our protocols, involving misleading people looking at the displayed string
>> in a user interface.
>> >>
>> >> There are various ways this concern could be mitigated (if we were to
>> come to agreement that it’s even a concern). One would be to remove the
>> “signal arbitrary strings” idea; this is clearly the solidest way to do it.
>> Another would be to mandate (or strongly suggest) that symbolic names
>> gleaned from something other than configuration be displayed in such a way
>> as to make the operator aware of their status. At a minimum, one might add
>> a paragraph or two identifying the concern. I’m sure there are other things
>> that could be contemplated.
>> >>
>> >> Regards,
>> >>
>> >> —John
>> >
>>
>
>
_______________________________________________
spring mailing list
spring@ietf.org
https://www.ietf.org/mailman/listinfo/spring

Reply via email to