One document matched: draft-okazaki-v6ops-natpt-security-00.txt


    Internet Engineering Task Force                                      
    Internet Draft                                        Satomi Okazaki 
                                                              Anand Desai 
                                                            NTT MCL, Inc. 
    Expires: January 2004                                      June 2003 
     
     
                       NAT-PT Security Considerations 
                                       
                 draft-okazaki-v6ops-natpt-security-00.txt 
                                       
     
     
 Status of this Memo 
     
    This document is an Internet-Draft and is in full conformance with 
    all provisions of Section 10 of RFC2026. 
     
     
    Internet-Drafts are working documents of the Internet Engineering 
    Task Force (IETF), its areas, and its working groups.  Note that      
    other groups may also distribute working documents as Internet-
    Drafts. 
     
    Internet-Drafts are draft documents valid for a maximum of six 
    months and may be updated, replaced, or obsoleted by other 
    documents at any time.  It is inappropriate to use Internet-Drafts 
    as reference material or to cite them other than as "work in 
    progress." 
     
    The list of current Internet-Drafts can be accessed at 
         http://www.ietf.org/ietf/1id-abstracts.txt 
    The list of Internet-Draft Shadow Directories can be accessed at 
         http://www.ietf.org/shadow.html. 
     
     
 Abstract 
     
    NAT-PT (RFC2766) is an address translation mechanism designed to 
    facilitate communications between IPv6-only and IPv4-only nodes.  
    This mechanism was designed to be used when tunneling transition 
    mechanisms cannot be used.   
     
    This document is intended to be a compilation of known security 
    issues related to NAT-PT and includes a few new ones.  These issues 
    are discussed in some detail, and suggestions on how to deal with 
    them are included in this document. 
     
     
 Okazaki, S.         [Expires January 2004]                   [Page 1]

 Internet Draft   draft-okazaki-v6ops-natpt-security-00.txt   June 2003 
  
  
 Table of Contents 
  
 1.0 Introduction....................................................2 
 2.0 Description of Scheme...........................................3 
   2.1 IPv6-node-initiated communications............................4 
   2.2 IPv4-node-initated communications.............................4 
 3.0 Security analysis...............................................5 
   3.1 End-to-end security...........................................5 
   3.2 Prefix assignment.............................................5 
   3.3 DNS-ALG.......................................................5 
   3.4 Source address spoofing attack................................6 
    3.4.1 Attacker in the NAT-PT stub domain.........................6 
    3.4.2 Attacker outside of NAT-PT stub domain.....................6 
   3.5 An external attacker node.....................................7 
 4.0 Possible solutions..............................................7 
   4.1 End-to-end security...........................................7 
   4.2 Prefix assignment.............................................7 
   4.3 DNS-ALG.......................................................8 
   4.4 Source address spoofing attack................................8 
    4.4.1 Attacker in the NAT-PT stub domain.........................8 
    4.4.2 Attacker outside of the NAT-PT stub domain.................9 
   4.5 An external attacker node.....................................9 
 5.0 Acknowledgements................................................9 
 6.0 Security Considerations.........................................9 
 7.0 References.....................................................10 
 8.0 AuthorsÆ Contact Information...................................11 
 9.0 Full Copyright Statement.......................................11 
  
 1.0     Introduction 
     
    Given the current deployment of IPv4 and the infrastructure changes 
    necessary to adopt IPv6, there is guaranteed to be a long period in 
    which the two must coexist.  Various mechanisms have been proposed 
    to allow for a smooth transition from IPv4 to IPv6.  These 
    techniques may be divided into two general types: tunneling 
    mechanisms and translation mechanisms.  Translation mechanism 
    documents such as NAT-PT (Network Address Translation û Protocol 
    Translation) [RFC2766] and SIIT (Stateless IP/ICMP Translation 
    Algorithm) [RFC2765] indicate that they are to be used when 
    tunneling techniques are not applicable.   Translation mechanisms 
    are intended for use between IPv6-only nodes and IPv4-only nodes. 
     
     
 Okazaki, S.             [Expires January 2004]               [Page 2]

 Internet Draft   draft-okazaki-v6ops-natpt-security-00.txt   June 2003 
 
    
    Security issues in tunneling have been examined ([TunSec][SecCon]) 
    to some extent.  We are not aware of any dedicated security 
    analysis documents related to translation techniques.  In this 
    document, we examine the security of NAT-PT, one of the prominent 
    translation mechanism proposals.  We list a few new security issues 
    in addition to those that have been noted in the original draft and 
    some others that have been mentioned in other drafts [DNSALG] 
    [TransUnman] [TransIss] or on the v6ops mailing list.  We propose 
    solutions for the security issues that we have found.   
      
 2.0     Description of Scheme 
     
    NAT-PT defines a method for allocating a globally unique temporary 
    IPv4 address to an IPv6-only node to allow transparent routing 
    between an IPv6-only node and an IPv4-only node.  It is designed to 
    work with a scheme like SIIT, which is a specification for a box 
    that translates IPv4 headers into IPv6 headers and vice versa. 
       
    The NAT-PT specification defines the functionality of an address 
    translation box that sits on a border router.  The NAT-PT box has a 
    pool of globally unique IPv4 addresses to assign to IPv6-only nodes 
    that need to communicate with IPv4-only nodes.  There are two types 
    of sessions û those that are initiated by an IPv6 node and those 
    that are initiated by an IPv4 node.  Here, we focus on the basic 
    NAT-PT address translation functionality. 
     
    Suppose that an IPv6-only node X behind a NAT-PT box has the IPv6 
    address FEDC:BA98::7654:3210, and suppose that an IPv4-only node Y 
    in an IPv4 network has the IPv4 address 136.40.1.1.  Furthermore, 
    let us say that the NAT-PT box has a pool of globally unique IPv4 
    addresses in the range 140.32.1.1 to 140.32.1.20. 
     
                                 +============+ 
    [IPv6 node X]-----[NAT-PT]---|IPv4 Network| û[IPv4 node Y] 
                          |      +============+ 
               {pool of IPv4 addresses} 
   
    IPv6 address of X: FEDC:BA98::7654:3210 
    IPv4 address of Y: 136.40.1.1 
    NAT-PT pool of IPv4 addresses: 140.32.1.1 to 140.32.1.20 
     

 Okazaki, S.             [Expires January 2004]               [Page 3]

 Internet Draft   draft-okazaki-v6ops-natpt-security-00.txt   June 2003 
     
  
 2.1 IPv6-node-initiated communications 
     
    Suppose IPv6-only node X wishes to initiate communications with 
    IPv4-only node Y.  The NAT-PT box in XÆs network is associated with 
    some prefix, which we will denote by ôPREFIX.ö 
     
    X prepends this prefix to YÆs IPv4 address to get an IPv6 address 
    that looks like ôPREFIX::IPv4 address of Yö.  The source address 
    and destination address of the packets that X sends to Y look like 
    the following: 
     
    src: FEDC:BA98::7654:3210 
    dst: PREFIX::136.40.1.1 
     
    All packets with destination address beginning with PREFIX are 
    routed to the NAT-PT box, as the prefix is chosen to be unique in 
    the stub domain, and the NAT-PT box advertises the prefix for 
    routing purposes.   
     
    The NAT-PT box then replaces the source address in the packets with 
    the temporary IPv4 address (say 140.32.1.1) it chooses from its 
    pool for X, and the box then strips ôPREFIXö from the destination 
    address so that the IPv4 address of Y remains: 
     
    src: 140.32.1.1 
    dst: 136.40.1.1 
     
 2.2 IPv4-node-initated communications 
     
    The case in which a session is initiated by an IPv4 node is a bit 
    more complicated and involves Domain Name Servers (DNSs).  The IPv4 
    node YÆs DNS resolver would send a name look-up request (type ôAö) 
    for X.  This request gets sent through XÆs NAT-PT box to the DNS 
    server on XÆs network.   
     
    The NAT-PT contains a DNS-ALG (Application Level Gateway) that 
    translates an ôAö query to an ôAAAAö or ôA6ö query and sends it to 
    the DNS server on XÆs network.  When the IPv6 DNS server responds 
    with an ôAAAAö or ôA6ö record, it is sent through the NAT-PT box, 
    where DNS-ALG translates it into an ôAö record and replaces the 
    IPv6 address of X with the corresponding temporary IPv4 address 
    from the pool.   

     
 Okazaki, S.             [Expires January 2004]               [Page 4]

 Internet Draft   draft-okazaki-v6ops-natpt-security-00.txt   June 2003 
     
     
 3.0     Security analysis 
     
    In this section, we list all of the security threats that we know 
    of - a number of security threats that have been outlined in the 
    original draft itself, in external documents, and those that we 
    have isolated. 
     
 3.1 End-to-end security  
     
    As noted in [RFC2766], NAT-PT and end-to-end security do not work 
    together.  When IPv6-only node X initiates communications to IPv4-
    only node Y, the packet that X forms has an IPv6 source address 
    (FEDC:BA98::7654:3210) and an IPv6 destination address 
    (PREFIX::136.40.1.1), which are used in IPsec (ESP or AH) 
    computations, including TCP/UDP/ICMP checksum computations. 
     
    Since NAT-PT assigns X an IPv4 address (140.32.1.1) that has no 
    relationship to XÆs IPv6 address, there is no way for recipient Y 
    to determine XÆs IPv6 address, which is involved in verifying 
    TCP/UDP/ICMP checksum computations. 
     
 3.2 Prefix assignment 
     
    The draft [RFC2766] does not describe how the IPv6 nodes learn the 
    prefix that is used to route packets to the NAT-PT box.  If the 
    prefix is pre-configured in IPv6 nodes, the IPv6 node would prepend 
    the pre-configured prefix to the address of any IPv4-only node with 
    which it want to initiate communications.  However, with a fixed 
    prefix, there might be a reachability problem if the NAT-PT box 
    were to shut down.    
     
    If an attacker were somehow able to give the IPv6 node a fake 
    prefix, the attacker would be able to steal all of the nodeÆs 
    outbound packets to IPv4 nodes. 
     
 3.3 DNS-ALG 
     
    The DNS-ALG is required when allowing IPv4-only-node-initiated 
    communications in the NAT-PT setting.  Since DNS-ALG will translate 
    ôAö record requests into ôAAAAö or ôA6ö request and conversely, 
    ôAAAAö or ôA6ö records into ôAö records, DNS-SEC will not work with 
    NAT-PT, as noted in [RFC2766].   
     
    This means that it is possible for an attacker to modify records 
    from DNS-ALG to the IPv4 nodes. 
     
  
 Okazaki, S.             [Expires January 2004]               [Page 5]

 Internet Draft   draft-okazaki-v6ops-natpt-security-00.txt   June 2003 
     
     
 3.4 Source address spoofing attack 
     
    We consider attackers that will use NAT-PT resources.  There are 
    two cases: in the first, the attacker is in the same stub domain as 
    the NAT-PT, and in the second, the attacker is outside of the NAT-
    PT stub domain. 
     
 3.4.1   Attacker in the NAT-PT stub domain 
  
    Here, we suppose that an attacker in the same stub domain as NAT-PT 
    sends a packet destined for an IPv4-only node Y on the other side 
    of NAT-PT.  We look at the more interesting case in which the 
    attacker forges its source address to be an address that is 
    topologically inside the stub domain.  (This address could belong 
    to another node, or it could be unassigned.)  
     
    Address depletion attack - If the IPv6 attacker sends many such 
    packets, each with a different source address, then the pool of 
    IPv4 addresses may get used up, resulting in a Denial of Service 
    attack.  (This vulnerability is also noted in [RFC2766] and 
    [TransIss].) 
     
    The other attacks exist even without NAT-PT.  These are reflection 
    attacks, resource exhaustion attacks, and broadcast/multicast 
    attacks.  In a reflection attack, the IPv6 source address is set to 
    that of an existing node.  That node will be the recipient of a 
    reflection attack, as the IPv4 node will send response packets to 
    the victim node.  In a resource exhaustion attack, the IPv6 source 
    address is set to that of a non-existent node.  The return packets 
    will be dropped, but this may still result in a resource exhaustion 
    DoS attack on Y.  Finally, in a multicast attack, the IPv6 source 
    address is a multicast address.  The return packet from the IPv4 
    node will be sent to the multicast address, resulting in a 
    multicast attack.  
     
 3.4.2   Attacker outside of NAT-PT stub domain 
  
    Here, we suppose that an attacker on the other side of NAT-PT sends 
    a packet destined for an IPv6-only node X behind NAT-PT.  We look 
    at the more interesting case in which the attacker forges its 
    source address to be an address that is topologically outside the 
    stub domain.  (This address could belong to another node, or it 
    could be unassigned.)  The same attacks are possible here as in the 
    case described in the previous section. 
     
 
 Okazaki, S.             [Expires January 2004]               [Page 6]

 Internet Draft   draft-okazaki-v6ops-natpt-security-00.txt   June 2003 
     
     
 3.5 An external attacker node 
     
    In this case, an attacker that knows the IP address of the NAT-PT 
    box can send packets directly to the box.  It can use NAT-PT 
    resources, preventing legitimate IPv6-only nodes from accessing 
    NAT-PT services. 
     
 4.0     Possible solutions 
     
 4.1 End-to-end security 
     
    End-to-end security is not possible with NAT-PT.  One reason is 
    outlined in section 3.1. 
     
 4.2 Prefix assignment 
     
    Though it is not specified in [RFC2766], DNS servers and DNS-ALG 
    may be used in outgoing connections to return the prefix 
    information to the IPv6 node.  This is a way to avoid the problem 
    of a statically pre-configured prefix.  When an IPv6-only node 
    wishes to initiate communications with an IPv4-only node, its 
    resolver would send an ôAAAAö query.  This query can be passed 
    through the DNS-ALG, which would receive an ôAö record in response.  
    In this case, the DNS-ALG can prepend the appropriate prefix for 
    the NAT-PT and translate the ôAö record into an ôAAAAö or ôA6ö 
    record and return it to the IPv6 node. 
     
    The DNS-ALG can also monitor the state of a number of NAT-PT boxes 
    (multiple boxes for scalability) and return the prefixes of those 
    that are running.  This idea was stated in [DNSALG] and [mNATPT], 
    as well as in e-mail communication on the v6ops mailing list.  
      
    As mentioned in [mNATPT], the method by which DNS-ALG determines 
    the state and validity of a NAT-PT box must be secure.  The DNS-ALG 
    and each NAT-PT box should be configured with a pairwise unique 
    shared key that will be used for integrity-protected 
    communications. 
     
    Note that messages from DNS-ALG are not integrity-protected and can 
    therefore be modified.  To prevent such a modification, DNS-ALG can 
    sign its packets.  DNS-ALGÆs public key can be made available like 
    that of a DNS server (see [RFC2535]) or presented in a certificate 
    that has a root CA that is well known to all nodes behind NAT-PT.  
    A shared-key technique may not be as practical. 
     
 
 Okazaki, S.             [Expires January 2004]               [Page 7]

 Internet Draft   draft-okazaki-v6ops-natpt-security-00.txt   June 2003 
     
     
 4.3 DNS-ALG 
     
    The end host (IPv6 node or IPv4 node) will not be able to verify 
    the signature on a DNS record because of the translation that the 
    DNS-ALG performs. 
     
    However, as is pointed out in [DNSALG], if the host sets the "AD is 
    secure" bit in the DNS header, then it is possible for the local 
    DNS server to verify the signatures.   
     
    Another option is for DNS-ALG to verify the received records (like 
    a DNS resolver), translate them, and sign the translated records 
    (like a DNS server).  DNS-ALGÆs public key can be made available 
    like that of a DNS server (see [RFC2535]).  
     
    A third option would be for a host to have an IPsec security 
    association with the DNS-ALG to protect DNS records. 
     
     
 4.4 Source address spoofing attack 
     
 4.4.1   Attacker in the NAT-PT stub domain 
  
    The NAT-PT (which sits on a border router) should perform ingress 
    filtering.  This would prevent an attacking node in its stub domain 
    that forges its source address from performing a reflection attack 
    on nodes in other stub domains.  However, this does not prevent 
    such an attacker from performing a reflection attack on other nodes 
    in the same stub domain.  These are not attacks introduced by NAT-
    PT. 
     
    The NAT-PT should drop packets whose IPv6 source address is a 
    multicast address.  This would prevent the multicast attack.  This 
    is not an attack introduced by NAT-PT. 
     
    One way to get around the address depletion attack is to employ 
    NAPT-PT (Network Address Port Translation - Protocol 
    Translation)[RFC2766], which translates TCP/UDP ports of IPv6 nodes 
    into TCP/UDP ports of the translated IPv4 addresses.  However, as 
    the draft points out, IPv4-node-initiated NAPT-PT sessions are 
    restricted to one server per service. 
     
    Another method of dealing with address depletion is to have a list 
    of nodes to which NAT-PT will offer its translation services.  Or 
    for more security, an IPsec security association could be required 
    between the NAT-PT and nodes to which it will offer its services. 
     
 
 Okazaki, S.             [Expires January 2004]               [Page 8]

 Internet Draft   draft-okazaki-v6ops-natpt-security-00.txt   June 2003 
     
     
 4.4.2   Attacker outside of the NAT-PT stub domain 
  
    The NAT-PT should drop packets whose IPv4 source address is a 
    broadcast/multicast address to prevent a broadcast/multicast 
    attack.  Furthermore, NAT-PT should filter out packets from outside 
    that claim to have a source address behind NAT-PT.  These are not 
    attacks introduced by NAT-PT. 
     
    The address depletion attack is discussed in the previous section. 
     
 4.5 An external attacker node 
     
    NAT-PT should drop packets that are sent directly to its IP address 
    rather than being routed to it via the prefix PREFIX.  If NAT-PT 
    maintains a list of nodes to which it will offer its services, this 
    type of attack will be minimized as well.  Or for more security, an 
    IPsec security association could be required between the NAT-PT and 
    nodes to which it will offer its services. 
     
 5.0     Acknowledgements 
     
    The authors would like to acknowledge DoCoMo USA Labs for support 
    of this work and in particular, James Kempf for helpful comments 
    and insights. 
     
 6.0     Security Considerations 
     
    This draft is itself a document about security considerations for 
    NAT-PT. 
     
 
 Okazaki, S.             [Expires January 2004]               [Page 9]

 Internet Draft   draft-okazaki-v6ops-natpt-security-00.txt   June 2003 
     
     
 7.0     References 
     
    [TunSec] Di Battista et al.  ôOperational procedures for secured 
       management with transition mechanisms,ö 28 February 2003. 
     
    [DNSALG] Durand, A.  ôIssues with NAT-PT DNS ALG in RFC2766,ö  
       <draft-durand-v6ops-natpt-dns-alg-issues-00.txt>, Internet-
       Draft, 29 January 2003. 
     
    [RFC2535] Eastlake, D.  ôDomain Name Security Extensions,ö RFC 
       2535, March 1999. 
     
    [TransUnman] Huitema, C. et al.  ôEvaluation of Transition 
       Mechanisms for Unmanaged Networks,ö  <draft-huitema-ngtrans-
       unmaneval-01.txt>, Internet-Draft, 1 November 2002.   
     
    [RFC2765] Nordmark, E.  ôStateless IP/ICMP Translation Algorithm 
       (SIIT),ö  RFC 2765,  February 2000. 
     
    [mNATPT] Park, S.D. et al.  ôScalable mNAT-PT Solution,ö  <draft-
       park-scalable-multi-natpt-0.txt>, Internet-Draft, May 2003. 
     
    [SecCon] Savola, P.  ôSecurity Considerations for 6to4,ö  <draft-
       savola-v6ops-6to4-security-02.txt>, Internet-Draft, January 
       2003. 
     
    [RFC2766] Tsirtsis, G. and Srisuresh, P.  ôNetwork Address 
       Translation û Protocol Translation (NAT-PT),ö RFC 2766, February 
       2000. 
     
    [TransIss] Van der Pol, R. et al.  ôIssues when translating between 
       IPv4 and IPv6,ö  <draft-vanderpol-v6ops-translation-issues-
       00.txt>,  Internet-Draft, 27 January 2003. 
     

 Okazaki, S.             [Expires January 2004]               [Page 10]

 Internet Draft   draft-okazaki-v6ops-natpt-security-00.txt   June 2003 
     
     
 8.0     AuthorsÆ Contact Information 
     
    Satomi Okazaki                      Phone: +1 650 833 3631 
    NTT MCL, Inc.                       Fax:   +1 650 326 1878 
    250 Cambridge Avenue, Suite 300     Email: satomi@nttmcl.com 
    Palo Alto, California 94306 
    USA 
     
    Anand Desai                         Phone: +1 650 833 3638 
    NTT MCL, Inc.                       Fax:   +1 650 326 1878 
    250 Cambridge Avenue, Suite 300     Email: anand@nttmcl.com 
    Palo Alto, California 94306 
    USA 
     
  
  
  
 9.0     Full Copyright Statement 
     
    Copyright (C) The Internet Society (2001).  All Rights Reserved.  
    This document and translations of it may be copied and furnished to 
    others, and derivative works that comment on or otherwise explain 
    it or assist in its implementation may be prepared, copied, 
    published and distributed, in whole or in part, without restriction 
    of any kind, provided that the above copyright notice and this 
    paragraph are included on all such copies and derivative works.  
    However, this document itself may not be modified in any way, such 
    as by removing the copyright notice or references to the Internet 
    Society or other Internet organizations, except as needed for the 
    purpose of developing Internet standards in which case the 
    procedures for copyrights defined in the Internet Standards process 
    must be followed, or as required to translate it into languages 
    other than English.  The limited permissions granted above are 
    perpetual and will not be revoked by the Internet Society or its 
    successors or assigns.  This document and the information contained 
    herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND 
    THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, 
    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT 
    THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR 
    ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A 
    PARTICULAR PURPOSE.

 Okazaki, S.             [Expires January 2004]               [Page 11]

PAFTECH AB 2003-20262026-04-22 23:53:13