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

draft-nordmark-multi6-threats-01.txt





Some minor comments about the draft and an attempt to comment on some of the questions posed in the draft


Section 1 - Introduction


    "These attacks pose threats against confidentiality,
    integrity, and availability."

I guess that i could make sense to also include impersonation attacks (or the way you prefer to call them) in which the attacker pretneds to be one party of the communication, since they are also considered in the doc

later on it states that:

   "This document has been developed while considering multihoming
   solutions architected around a separation of network identity and
   network location."

I think that the threats are actually related to the fact that the the 128 by string used by the routing system to forward the packet differs from the 128 bit string that the ULP sees as identifying the other end of the communication. It doesn't really have to be a split in the most strict sense (where an identifier cannot be a locator) and the threats are then also valid by solutions that use regular addresses both as locators and identifiers (as you mention later)

Section 2

   "identifier  - an IP layer identifier for an IP layer endpoint
              (stack name in [NSRG]).  The transport endpoint is a
              function of the transport protocol and would
              typically include the IP identifier plus a port
              number."

Is there a "name" or an "identifier" missing after transport endpoint?, i mean would be that the transport endpoint name is a function....

Section 3.1. application assumptions.

I guess that another assumption made by the receiving end of a communication is that the initiator can be reached at the source address included in the initiating packet, since the responder will send reply packets to it. So i guess that some amount of trust is putted in the source address.

later on you ask:
"[TBD: Does one-way authentication, without mutual authentication, add a
different class of applications?]"


As i understand this section, the analysis is divided in two: first the initiator end and then the responding end.
The initiator, always care about the identity of the target, since it wants to communicate with a given node. So. in this part you discuss the possibility of using TLS to provide strong authentication of the target
Next you discuss the responder p.o.v. and you discuss different mechanisms that the responder can use to verify the initiator.


So my reading is that responder verification and initiator verification are independent from one another and that the one way authentication is already considered in the analysis. am i missing something?

Section 3.4 Flooding attacks today

   "And in the absence of ingress filtering an attacker can
   launch simpler DoS attacks by spoofing its source IP address."

I don't understand what do you mean here. If there is no ingress filtering this attack may allow an attacker to make a innocent server to attack a victim (and the attacker hasn't to generate the traffic required to do the flooding, so he can attack through a slow link, for instance). So i would say that if no ingress filtering this attack seems a good choice for an attacker which simpler attack am i missing?

Section 4. Potential new redirection attacks

   "This discussion is again
   framed in the context of independent host identifiers and topological
   locators."

Again, i think that the context for these attacks are that the 128 bit string used to route the packets _may_ differ from the one used by the ULP to identify the endpoints of the communication. It doesn't require that the namespaces are independent imho. NOID and MIP use locators as identifiers and introduce similar threats, i guess

Section 4.4. Accepting Packets from Unknown Locators

I fail to see the threat presented in this section. I think it is a relevant issue to discuss whether a solution should or not accept packets from unverified source locators, but i don't see the threat of doing it. I do understand that threats apprear when sending traffic to an unverified locator, and i also see the threats that appear if when accepting an unverified locator, some action is taken, like changing the locator used to reach the other end, but if none of this happens, i don't see any threat here.

Section 5. GRANULARITY OF REDIRECTION

      "Discussion: Perhaps the key issue is not about the granularity,
      but about the lifetime of the state that is created?"

imho is about the different scopes of the binding between the multiple locators and the identifier used
when a per connection solution is used, the scope of the binding information is limited to that particular connection, both in time and communication sense. This means that if the attacker manages to corrupt that binding information, the attack will only affect the scope of the binding. It will not affect future communication, but it won't neither affect simultaneous communication with the same peer (like for instance in the other direction)


So imho time frames is just one aspect of the problem, and granularity seems more general or scopes if you prefer


Appendix B


"However, the mechanisms for addressing the latter issue can be quite
different. One way to prevent premeditated redirection is to simply
not introduce a new identifier name space but instead rely on
existing name space(s) as in [NOID]; in this case premeditated
redirection is as easy or as hard as redirecting an IP address today."


I am not sure that i agree with this. imho NOID prevents identity hijacking because there is a trusted third party that informs about the acceptable locator set, and not because there is not a new id space.
For instance suppose that an attacker have managed to induce some fake noid state inside a host B , so that a given IP address IPA has an alternative locator IPX
Now suppose that the owner of IPA is host A who only has a single address IPA
The attacker periodically sends packets to Host B so that Host B preserves this fake state and also to maintain IPX as the preffered address to reach IPA


Now when Host B want to initiate a genuine communication with IPA, the noid mechanism within host B will redirect packets to IPX

(i don't know if the details of the attack are correct, and i am not trying to present an attack to noid)
I am just trying to present that in noid, the identity is represented by the IP addresses, and this identity can be hijacked as well. You don't need a separate id name space to hijcack an identity. (another example could be mip, where the identity is the HoA, and it can be hijacked as well)


So, summarizing, i agree with the conclusion, but not with the argument presented, imho NOID avoid the attacks because i relies on a trusted third party (i.e. the DNS) (which makes the situation similar to the current one)

later on, it is mentioned that:

   "In some cases it
   is also possible to avoid the problem by having (one end of the
   communication) use ephemeral identifiers as in [WIMP]."

Well, in wimp the responding end does have an identity (the hash of the FQDN) which can be hijacked, if the attacker manages to introduce some fake state binding this identity to a fake locator. IMHO wimp avoids this by using a trusted third party to create the initial state (the DNS as in noid)

I see three ways to prove the identity ownership:

- a trusted third party, which states that a given identity is reachable at a given set of locators, so the endpoint reached at one of this locators is the owner of the identity

- CBIDs as disused in the draft

- and a static binding, as currently defined in IP, where you trust that the routing system will deliver the packets to the owner of the locator, and since the locator and the identity are one, you prove identity ownership as a subproduct.

Later on, the analysis finishes with

   "Finally, preventing third party DoS attacks is conceptually simpler;
   it would suffice to somehow verify that the peer is indeed reachable
   at the new locator before sending a large number of packets to that
   locator."

I think that there are some attacks directed to the identity role and others directed to the locator role.
I see communication hijacking, like the threats presented in section 4.1 as threats related to the identity role, where the attacker pretends to be victim and take his place. In this case, i think that basically the identity is stolen
OTOH, i see flooding attacks as attacks addressed to the locator role. The attacker pretends to own the victims locator (not the victims identity)


So in order to avoid the full set of threats, you need mechanisms to prove the identity ownership, and also the locator ownership, so you can avoid that an attacker steals any of them

As i mentioned above, i see these three ways of proving the identity ownership, but t prove locator ownership, i can only see two:

- trusted third party
- return routability

Regards, marcelo