Subject: Secdir last call review of draft-ietf-v6ops-transition-ipv4aas-11

From: Christian Huitema <[email-masked]>
Date: Thu, 13 Dec 2018 12:49:36 -0800

Reviewer: Christian Huitema
Review result: Has Issues

I have reviewed draft-ietf-v6ops-transition-ipv4aas-11 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 editors and WG chairs
should treat these comments just like any other last call comments.

The summary of the review is "ready with issue".

The document describes solution for providing "IPv4 as a service", i.e.
provision of IPv4 as a service over an IPv6 only network.
It calls this support "transition as a service".

For various reasons, IETF working groups have standardized not just one but
five different mechanisms for providing this transition: 464XLAT [RFC6877],
Dual-Stack Lite [RFC6333], Lightweight 4over6 (lw4o6) [RFC7596],
MAP-E [RFC7597], and MAP-T [RFC7599]. (I am sure that Monty Python could have
produced a nice sketch about that.) The purpose of the draft is to
state how home routers (a.k.a. customer premise equipment, CPE) should
inform local devices about which of the mechanisms are available, which
should be preferred, and what parameters should be used when deploying
the chosen services. This is done using the DHCPv6 "S46" option
specified in RFC 8026.

The draft also makes specific recommendation regarding the use of the UPnP and
PCP services, by requiring specific error codes when a requested port mapping 
is not available through the specified transition technology.

The security section briefly points to the "Basic Requirements for IPv6
Customer Edge Routers" specified in RFC 7084, and to the security
section of each of the RFC describing the security technologies, and implicitly
argues that there are no other security issues. I think that is insufficient.

The draft introduces a reliance on the DHCPv6 "S46" option for assessing the
relative priority of different transition technologies. An attacker could spoof
the DHCPv6 response, and direct client traffic to a different technology than
selected by the service provider. This could be used, for example, to capture
IPv4 traffic in an IPv6 network and send it to a route chosen by the attacker.
The attack might also be used in a dual stack network that does not support
any transition technology. I don't understand how this attack is mitigated.

Nits:

The introduction uses the acronym WAN without spelling out "Wide Area Network". 
Also, WAN is used as substitute for local Internet Service Provider network. We could
debate whether such networks are always "wide area", by opposition to say
"metropolitan" or "regional". This is the same convention used in RFC 7084 that
this document updates. It is arguably defined by reference, but spelling it out
would be nice.

The comparison with RFC7084 section includes a mangled sentence: 

   This document doesn't include support for 6rd ([RFC5969]), because as
   in an IPv6-in-IPv4 tunneling.

Please rephrase. Please also rephrase the next sentence, for similar reasons:

   Regarding DS-LITE [RFC6333], this document includes slightly
   different requirements, because the PCP ([RFC6887]) support and the
   prioritization of the transition mechanisms, including dual-stack.

---

From: JORDI PALET MARTINEZ <[email-masked]>
Date: Thu, 13 Dec 2018 23:09:09 +0100

Hi Christian,

Thanks a lot for your review.

Please see below in-line.

I'm working in a new version according to the comments got from the ops review as well, so will be able to integrate yours very quickly.

Regards,
Jordi

-----Mensaje original-----
De: v6ops <[email-masked]> en nombre de Christian Huitema <[email-masked]>
Fecha: jueves, 13 de diciembre de 2018, 21:50
Para: <[email-masked]>
CC: <[email-masked]>, <[email-masked]>, <[email-masked]>
Asunto: [v6ops] Secdir last call review of draft-ietf-v6ops-transition-ipv4aas-11

    

    

Not sure if you will suggest here that we should say something about the security considerations already mention in RFC8026. In general all those are generic DHCPv6 security considerations I think.
    
    Nits:

Will do.

Typo, sorry the correct sentence was:
       This document doesn't include support for 6rd ([RFC5969]), because is
       an IPv6-in-IPv4 tunneling.

I think it is much clear this way:

       Regarding DS-LITE [RFC6333], this document includes slightly
       different requirements, related to the support of PCP ([RFC6887]),
       IGD-PCP IWF [RFC6970] and the prioritization of the transition 
       mechanisms, including dual-stack.    
    
    _______________________________________________
    v6ops mailing list
    [email-masked]
    https://www.ietf.org/mailman/listinfo/v6ops

**********************************************
IPv4 is over
Are you ready for the new Internet ?
http://www.theipv6company.com
The IPv6 Company

This electronic message contains information which may be privileged or confidential. The information is intended to be for the exclusive use of the individual(s) named above and further non-explicilty authorized disclosure, copying, distribution or use of the contents of this information, even if partially, including attached files, is strictly prohibited and will be considered a criminal offense. If you are not the intended recipient be aware that any disclosure, copying, distribution or use of the contents of this information, even if partially, including attached files, is strictly prohibited, will be considered a criminal offense, so you must reply to the original sender to inform about this communication and delete it.

---

From: Christian Huitema <[email-masked]>
Date: Thu, 13 Dec 2018 23:26:00 -0800

> Not sure if you will suggest here that we should say something about the security considerations already mention in RFC8026. In general all those are generic DHCPv6 security considerations I think.

Basically, the devices should be programmed to ignore DHCPv6 if they
have another more secure way of getting their configuration data. Plus,
apply general defense against DHCPv6 hacks in the network, etc. I
understand that your draft is meant to inform the building of CPEs, but
its effect is generalization of an unsafe mechanism.

>        an IPv6-in-IPv4 tunneling.

       This document doesn't include support for 6rd ([RFC5969]), because it is
       an IPv6-in-IPv4 tunneling.

>        mechanisms, including dual-stack.  

OK.

---

From: JORDI PALET MARTINEZ <[email-masked]>
Date: Fri, 14 Dec 2018 08:32:35 +0100

Regarding the DHCPv6 unsafety ... The problem I see is that your recommendation will be against the use of DHCPv6 in a generic way.

This is a much broader problem that our document, so out of scope of this document itself !

Regards,
Jordi

-----Mensaje original-----
De: ietf <[email-masked]> en nombre de Christian Huitema <[email-masked]>
Fecha: viernes, 14 de diciembre de 2018, 8:26
Para: JORDI PALET MARTINEZ <[email-masked]>, <[email-masked]>
CC: <[email-masked]>, <[email-masked]>, <[email-masked]>
Asunto: Re: [v6ops] Secdir last call review of draft-ietf-v6ops-transition-ipv4aas-11

    

    OK.

---

From: <[email-masked]>
Date: Fri, 14 Dec 2018 07:44:26 +0000

Christian,

As mentioned by Jordi, RFC8026 already describes the attack vector you mentioned. 

Wouldn't pointing to https://tools.ietf.org/html/rfc8415#section-22 be sufficient here? 

Cheers,
Med

> -----Message d'origine-----
> De : ietf [mailto:[email-masked]] De la part de Christian Huitema
> Envoyé : vendredi 14 décembre 2018 08:26
> À : JORDI PALET MARTINEZ; [email-masked]
> Cc : [email-masked]; [email-masked]; draft-ietf-v6ops-transition-
> [email-masked]
> Objet : Re: [v6ops] Secdir last call review of draft-ietf-v6ops-transition-
> ipv4aas-11
> 
> 
> > I'm working in a new version according to the comments got from the ops
> review as well, so will be able to integrate yours very quickly.
> >
> > Regards,
> > Jordi
> >
> >
> >
> > Not sure if you will suggest here that we should say something about the
> security considerations already mention in RFC8026. In general all those are
> generic DHCPv6 security considerations I think.
> 
> > This electronic message contains information which may be privileged or
> confidential. The information is intended to be for the exclusive use of the
> individual(s) named above and further non-explicilty authorized disclosure,
> copying, distribution or use of the contents of this information, even if
> partially, including attached files, is strictly prohibited and will be
> considered a criminal offense. If you are not the intended recipient be aware
> that any disclosure, copying, distribution or use of the contents of this
> information, even if partially, including attached files, is strictly
> prohibited, will be considered a criminal offense, so you must reply to the
> original sender to inform about this communication and delete it.
> >
> >
> >

---

From: Christian Huitema <[email-masked]>
Date: Fri, 14 Dec 2018 11:01:06 -0800

Pointing to the RFC8415 security section would definitely help. What is
specific about your draft is that attackers can leverage the DHCPv6
issue and mislead nodes into choosing transition schemes in the wrong
order. This is an additional exploitation mechanism on top of  the
existing issues mentioned in the DHCPv6 RFC.

I would also mention that these security issues are hard to mitigate and
that secure environments might require other configuration methods.

This also begs the larger question about why we have so many transition
mechanisms in the first place, and why the local nodes even need to be
aware about them. It seems that this could be radically simplified, by
having the router either advertise IPv4 connectivity using traditional
IPv4 means, or advertise a NAT64 prefix if it expects local nodes to
perform their own mapping.