Re: Some late comments on: draft-ietf-rmt-sec-discussion
Brian Adamson <[email protected]> Fri, 30 Nov 2012 13:49:44 -0500
| Newsgroups | gmane.ietf.rmt |
|---|---|
| Message-ID | <[email protected]> |
OK - thanks for the clarification. I will make a note to add that qualific= ation to the statement when we revisit this. cheers, Brian On Nov 30, 2012, at 1:18 PM, Gorry Fairhurst <[email protected]> wrote: > = > Great - glad they were helpful. > = > I think the last "unknown" comment was very trivial and related only to m= y understanding that you could use NORM without feedback, and hence the vul= nerability applies when you do have feedback. > = > i.e., A use-case with a sender that does not accept feedback from a recei= ver is not vulnerable to attacks using NACK messages, maybe similarly also = one that only accepts messages from authenticated receivers. > = > Gorry > = > = > On 30/11/2012 17:51, Brian Adamson wrote: >> Gorry, et al, >> = >> I _finally_ updated an posted a new version of the RMT Security >> Discussion that incorporates almost all of Gorry's comments. Below is >> an annotated version of his comments. I had a question regarding your >> comment on the NORM receiver message spoofing mention in Section 3.3 as >> I didn't quite understand the comment. >> = >> = >> Sorry for the slow turn-around on this. We should do another WG last >> call on this before submission =85 >> = >> = >> = >> #### >> This draft contains a normative language declaration using RFC 2119 >> keywords, however I do not see the need for this - and keywords are not >> consistently used. Could this be omitted? >> = >> */Done./* >> = >> #### >> Section 1. >> "CDP" is a well-known, although proprietary, networking term. >> - This is a little confusing, since CDP is itself a multicast protocol. >> If possible, I'd prefer the WG to choose a non-ambiguous acronym, >> especially if this is not already embedded in other published specs. >> - At some places the document speaks about "reliable multicast transport >> protocol", which may be the same - which may be preferable? >> = >> *Done.* >> = >> = >> #### >> "o Protocol stack available at both ends: A solution that requires >> some unusual features within the protocol stack will not always be" >> - Is the word "unusual" really correct here, I suspect the word is >> "specific"? >> = >> */Done/*. >> = >> #### >> "SSM routing" >> - shouldn't the multicast routing spec also be referenced here? >> = >> */Done/*. >> = >> #### >> " IGMP/MLD with security extensions)." >> - Expand IGMP and MLD when first used, (rather than afterwards in sect. = 3.1) >> = >> */Done/*. >> = >> #### >> " TESLA requires a loose time synchronization between the source" >> - Expand TESLA, and provide ref when first used. >> = >> */Done/*. >> = >> #### >> "multicast routing protocol messaging" >> - I'm curious, is routing considered more than PIM-SM? >> - If it's PIM, then I think the document should also note the reliance >> on the UNICAST routing infrastructure for RPF, since this also is a >> point of failure/attack. >> - Is there any general guidance on multicast routing security that >> should be referenced? >> = >> */changed to "routing protocol messaging" and added reference to >> Baltatu00 paper./* >> = >> = >> #### >> "For example, reverse-path checks >> can significantly limit opportunities for attackers to conduct replay >> attacks when hosts actually do use IPsec." >> - I'm not sure I agree that's IPsec that helps and that this is clear. >> Isn't it also true that RPF checks help anyway in reducing >> source-spoofing. I'm not sure the implications of RPF are clear in this >> version. >> = >> */The example of RPF helping reduce replay attack was made more clear by >> not mentioning IPSec./* >> = >> #### >> section 3.1 >> " consider providing security mechanism" >> ^ >> - insert "a"? >> = >> */Done/*. >> = >> = >> #### >> section 3.1.1 >> - presumably the threat of snooping PIM could be mitigated by using >> secure connections between PIM neighbours, e.g. IPsec between PIM >> routers, is this worth mentioning. >> - Is RFC 5374 or some other RFC also useful as a ref? >> = >> */Done/*. >> = >> = >> #### >> section 3.1.2 >> " This may be done at intermediate >> locations in the network or by hosts co-resident with the authorized >> hosts on local area networks." >> - I'm not sure I understand "intermediate" in this example. It requires >> the attacker's IP address to be valid on the network segment to which it >> is connected and that segment to support IGMP/MLD... is there more inten= ded? >> = >> */Done - omitted the confusing "intermediate locations" portion of the >> example/* >> = >> #### >> section 3.2.1 >> "than what is possible with rogue " >> - suggest rephrase: "to that possible with rogue" >> " similar measures used to protect the network from such attacks" >> - is there a reference to these measures? >> = >> */Done. Added reference to RFC 4732./* >> = >> #### >> section 3.2.1 >> " protection mechanisms support IP Multicast SHOULD be considered." >> - I see an RFC 2119 keyword here, but I don't really see the requirement >> and I don't actually see what someone reading this needs to do, and what >> the exceptions may be that require this to be a "SHOULD". >> = >> */Done - caps SHOULD removed/* >> = >> #### >> "Sender message spoofing attacks are applicable" >> - Is the word "applicable" correct here? >> = >> */Changed to "relevant to"/* >> = >> #### >> "Without an authentication mechanism, an attacker can easily generate" >> - The words "easily generate" ... seems like a judgement, is it really >> that easy, would be wiser to identify the vulnerability? >> = >> */removed the word "easily"/* >> = >> #### >> "And with FEC-based transport" >> - possibly better not to start a sentence with "And". >> = >> */Done - removed leading "And"/* >> = >> #### >> "corrupted FEC payload could potentially render an entire block of >> transported data invalid." >> - could or "would"? >> - so this amplifies the effect of inducing loss/corruption. >> - This applies to NAY packet-based FEC scheme, multicast or unicast. >> = >> */Done - changed to read "would render"/* >> = >> #### >> "In the case of the layered congestion control >> mechanisms proposed for ALC use, this could lead to the receivers >> erroneously leaving groups associated with higher bandwidth transport >> layers and suffering unnecessarily low transport rates." >> - True, but may be it is important to say that this is safe from a >> network transport perspective. >> = >> */Done - additional perspective added./* >> = >> "Similarly, >> receivers may be misled to join inappropriate groups directing >> unwanted traffic to their part of the network." >> - can you explain more? >> = >> */Sentence reworded to be clearer./* >> = >> #### >> 3.2.2. Sender Message Spoofing >> - What are the mitigations? >> = >> Added note and reference to relevant Technological Building Blocks >> discussion section. >> = >> #### >> 3.2.3. Receiver Message Spoofing >> "In the >> NORM protocol, this includes negative-acknowledgement (NACK) messages" >> - True, but I thought this is one use-case of NORM. >> = >> */I don't understand this comment./* >> = >> #### >> 3.2.4. Replay Attacks >> " The infamous "replay attack"" >> -Maybe written a little more moderately perhaps? >> = >> */Done - unnecessary "infamy" removed/* >> = >> ### >> 3.2.4.1. Replay of Sender Messages >> Generally, replay of recent protocol messages from the sender will >> - true, sicne this is usually built on UDP, then this follows, could ref >> RFC 5405. >> - doe methods like TESLA interact with this? >> = >> */Referencing RFC 5405 elsewhere is a good idea, but 5405 doesn't >> mention replay issues/* >> = >> ### >> 3.2.4.2. Replay of Receiver Messages >> "adding latency to the reliable transport process." >> - I'm not clear of the vulnerability. Is this just a latency attack, is >> it possible that the result is not just decreased goodput, can excessive >> GRTT conclude that the transfer didn't complete. >> = >> */Added latency can impact application utility./* >> = >> ### >> Section 4. >> "network protection" >> - I didn't quite grasp what the issue was, is it denial of service to >> the user or some other user- or more? >> = >> #### >> Section 4.1 >> " attacker should not be able to damage the whole infrastructure by" >> - omit "whole"? >> = >> *Done.* >> = >> = >> #### >> "Unfortunately, recent >> past has shown that the multicast routing infrastructure is >> relatively fragile, as well as the applications built on top of it." >> - Although this could be the assertion of the RMT WG, is this shared by >> MBONED WG, responsible for deployment? I'd personally suggest some less >> judgement text, since it doesn't impact the guidance. >> = >> *Done.* >> = >> #### >> I dp not like the way 4.1 speaks of both IP multicast generic and >> RMT-specific issues. Please can these be placed in separate subsections? >> - perhaps this could be resolved by moving some of the issues relating >> to RMT to the next section? >> = >> = >> *Done. The mention of fragile multicast routing infrastructure was >> removed, keeping the focus on RMT issues.* >> = >> = >> #### >> " Since the RMT protocols may use congestion control mechanisms to" >> - "may" --- or is it stronger? >> - Perhaps safer to say:"The congestion control mechanisms in RMT >> Protocols regulate, .. etc ..." >> = >> */Done - "may" removed./* >> = >> #### >> "4.2. Protocol Protection >> = >> Protecting the protocols is also of importance, since the higher the >> number of clients, the more serious the consequences of an attack. >> This is all the more true as scalability is often one of the desired >> goals of CDP. Ideally, receivers should be sufficiently isolated >> from one another, so that a single misbehaving receiver does not >> affect others. Similarly, an external attacker should not be able to >> break the system, i.e., resulting in unreliable operation or delivery >> of incorrect content." >> - Seems somewhat vague. I am not sure what this really says.... >> - Suggest you point to RFC5405, etc and say what else from an >> RMT-specific viewpoint needs to be addressed. >> = >> */Done - Clarified to indicated that protection of protocol _operation_ >> is what is highlighted here. And a reference to RFC 5405 was added./* >> = >> = >> #### >> 4.3 >> " any attacker can easily inject spurious traffic in an ongoing NORM" >> - How easy and what sort of attack - do they have to be on the multicast >> distribution tree? on the source path? or anywhere in the network? >> = >> "In that case this goal is not the responsibility of the >> content provider but the responsibility of the administrator who >> deploys the RMT system itself." >> - I'm not sure who is intended here? >> - The protocol implement ? >> - Would multi-party IPsec help? >> = >> */Discussion simplified and clariified - (may need some more work here)/* >> = >> #### >> 4.4. Privacy >> "The situation is different if we consider >> receivers since their address should not be disclosed publicly." >> - Often a good goal: Is this ALWAYS the case? >> = >> */Text clarified./* >> = >> ### >> " routers to join or leave IP multicast session. " >> ^ >> -insert "an". >> ** >> */Done/.* >> = >> #### >> " responses, but enables the router to keep track of" >> - /keep/explicitly/ >> "status on a link" >> - /link/local network/ >> = >> */Done/.* >> = >> #### >> " including receivers' IP addresses should be carefully treated" >> - true, but receiver addresses are the to me exactly the same as unicast >> IP addresses, so this is not a unicast-specific issue. >> - Rather to me, the implication is that operators need to ensure that >> group membership information is treated responsibly - since this can >> reveal patterns of usage by specific users. >> *//* >> */Agreed that this is not multicast-specific, but worth mentioning >> either way./* >> = >> #### >> "unauthorized users may spoof IGMP/MLD >> query messages and trace receivers' addresses on the same LAN." >> - actually that are sahred by the same L2 infrastructure. >> = >> #### >> I think this section really needs a summary section, because to me many >> of these threats are against the IP multicast infrastructure and NOT >> specifically against RMT. >> = >> */Done - sentence added in introduction of section that notes that some >> goals are also common to unicast operation or IP multicast >> infrastructure. (may need to do this at beginning of document, too?)/* >> = >> #### >> section 6 >> "Each of them is now quickly discussed" >> - /them is now quickly discussed/these is briefly discussed below/ >> = >> "what service it can offer' >> - /what service it can offer/the services it offers/ >> *//* >> */Done and done./* >> = >> #### >> "or a Global Positioning System (GPS) device" >> - better to say a central time source and not to refer to one system, >> rather to give GPS as an example. >> *//* >> */Done./* >> = >> #### >> Section 6.5 >> " This form of multicast has group >> management benefits since a source can independently control the >> "channels" it creates." >> - I think the current guidance is wrong! >> */Not sure exactly what you mean here?/* >> = >> - Actually I really do not understand this. While SSM can simplify the >> routing infrastructure, this seems like it is not well expressed here. >> = >> - For years we have built ASM applications, and it is great advice to >> tell receivers to EXPLICITLY FILTER data transfer packets to be only >> receive from the expected source. >> */ - A note to this effect was added./* >> = >> - Finally RPF checks give much more protection than typical for unicast, >> and this makes multicast more secure rather than less secure. >> = >> ### >> 6.5.1. >> - Surely the most significant issue for the RMT *protocol* is that it >> implies that sources must be advertised as well as group addresses. >> *//* >> */Added a sentence noting this./* >> = >> #### >> against multicast routers, in which innumerable IGMP/MLD joins are >> ^^^^^^^^^^^ >> - Seems like the wrong word, even if the value can be enumerated. Is the >> word "excessive"? >> ** >> *Done - changed "innumerable" to "excessive"* >> = >> #### >> = >> " Regarding source-based attack, there are some security benefits in >> SSM. Since data-plane traffic for an SSM "channel" is limited to >> that of a single, specific source address, it is possible that >> network intermediate systems may impose mechanism that prevent >> injection of traffic to the group from inappropriate (perhaps >> malicious) nodes." >> - Disagree strongly. >> - First, SSM doesn't STOP receivers to send, it simply assigns this to a >> different group, also as a transport function, you could still use >> unicast feedback... this really doesn't seem like a routing level concer= n. >> = >> "This can reduce the risk for denial-of-service and >> some of the other attacks described in this document. While SSM >> alone is not a complete security solution, it can simplify secure RMT >> operation." >> - Again only partially agree - the strength seems really to be based on >> unicast feedback. >> = >> #### >> "establishing all SPTs with no intellectual" >> - intellectual? - this could probably be omitted. >> = >> #### >> "What is worse >> is that these multicast routers cannot recognize the original router >> that is attacked and cannot stop the attack itself." >> - doesn't seem clear, and isn't a RMT-specific issue (please say this). >> = >> */The above 3 comments were addressed by removing Section 6.5.3 and >> simply referencing RFC4609 for SSM security considerations. /* >> = >> #### >> Section 9 >> - Suggest you do not refer to specific WGs, it seems inappropriate for a >> published RFC to cite specific charters or try to direct specific work >> to as WG. >> = >> */Done - all references to specific WGs were omitted and reworded / >> generalized as needed./* >> = >> ### >> = >> On Mar 26, 2012, at 1:46 PM, Gorry Fairhurst <[email protected] >> <mailto:[email protected]>> wrote: >> = >>> = >>> I have quite a few late comments on this draft, which I hope may be >>> helpful. >>> = >>> Overall this seems like a useful document, but at several places I had >>> the following concerns: >>> * It seems to mix infrastructure and transport issues more than I >>> would have hoped. Separating these so that I could clearly understand >>> what an RMT designer needs to do, and what an operator needs to >>> provide, would be helpful. >>> * In places it passes judgments on things, which I am not sure have >>> full IETF consensus, and may probably be better reworded. >>> = >>> Detailed comments below - typed quickly, so hope they are clear. >>> = >>> Gorry >> = > =