draft-ietf-opsec-vpn-leakages-01.txt   draft-ietf-opsec-vpn-leakages-02.txt 
Operational Security Capabilities for F. Gont Operational Security Capabilities for F. Gont
IP Network Infrastructure (opsec) Huawei Technologies IP Network Infrastructure (opsec) Huawei Technologies
Internet-Draft June 25, 2013 Internet-Draft August 23, 2013
Intended status: Informational Intended status: Informational
Expires: December 27, 2013 Expires: February 24, 2014
Virtual Private Network (VPN) traffic leakages in dual-stack hosts/ Virtual Private Network (VPN) traffic leakages in dual-stack hosts/
networks networks
draft-ietf-opsec-vpn-leakages-01 draft-ietf-opsec-vpn-leakages-02
Abstract Abstract
The subtle way in which the IPv6 and IPv4 protocols co-exist in The subtle way in which the IPv6 and IPv4 protocols co-exist in
typical networks, together with the lack of proper IPv6 support in typical networks, together with the lack of proper IPv6 support in
popular Virtual Private Network (VPN) products, may inadvertently popular Virtual Private Network (VPN) products, may inadvertently
result in VPN traffic leaks. That is, traffic meant to be result in VPN traffic leaks. That is, traffic meant to be
transferred over a VPN connection may leak out of such connection and transferred over a VPN connection may leak out of such connection and
be transferred in the clear from the local network to the final be transferred in the clear from the local network to the final
destination. This document discusses some scenarios in which such destination. This document discusses some scenarios in which such
skipping to change at page 1, line 42 skipping to change at page 1, line 42
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 27, 2013. This Internet-Draft will expire on February 24, 2014.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 19 skipping to change at page 2, line 19
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. IPv4 and IPv6 co-existence . . . . . . . . . . . . . . . . . . 4 2. IPv4 and IPv6 co-existence . . . . . . . . . . . . . . . . . . 4
3. Virtual Private Networks in IPv4/IPv6 dual-stack 3. Virtual Private Networks in IPv4/IPv6 dual-stack
hosts/networks . . . . . . . . . . . . . . . . . . . . . . . . 5 hosts/networks . . . . . . . . . . . . . . . . . . . . . . . . 5
4. VPN traffic-leakages in legitimate scenarios . . . . . . . . . 6 4. Inadvertent VPN traffic-leakages in legitimate scenarios . . . 6
5. VPN traffic-leakage attacks . . . . . . . . . . . . . . . . . 7 5. VPN traffic-leakage attacks . . . . . . . . . . . . . . . . . 7
6. Mitigations to VPN traffic-leakage vulnerabilities . . . . . . 8 6. Mitigations to VPN traffic-leakage vulnerabilities . . . . . . 8
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
8. Security Considerations . . . . . . . . . . . . . . . . . . . 11 8. Security Considerations . . . . . . . . . . . . . . . . . . . 11
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13
10.1. Normative References . . . . . . . . . . . . . . . . . . 13 10.1. Normative References . . . . . . . . . . . . . . . . . . 13
10.2. Informative References . . . . . . . . . . . . . . . . . 13 10.2. Informative References . . . . . . . . . . . . . . . . . 13
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 15 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction 1. Introduction
It is a very common practice for employees working at remote It is a very common practice for employees working at remote
locations to establish a VPN connection with their office or home locations to establish a VPN connection with their office or home
office. This is typically done to gain access to some resources only office. This is typically done to gain access to some resources only
available within the company's network, but also to secure the host's available within the company's network, but also to secure the host's
traffic against attackers that might be connected to the same remote traffic against attackers that might be connected to the same remote
location. In some scenarios, it is even assumed that employing a VPN location. The same is true for mobile nodes that establish VPN
connection makes the use of insecure protocols (e.g. that transfer connections to secure their traffic while they roam from one network
sensitive information in the clear) acceptable, as the VPN provides to another. In some scenarios, it is even assumed that employing a
security services (such as confidentiality) for all communications VPN connection makes the use of insecure protocols (e.g. that
made over the VPN. transfer sensitive information in the clear) acceptable, as the VPN
provides security services (such as data integrity and/or
confidentiality) for all communications made over the VPN.
Many VPN products that are typically employed for the aforementioned Many VPN products that are typically employed for the aforementioned
VPN connections only support the IPv4 protocol: that is, they perform VPN connections only support the IPv4 protocol: that is, they perform
the necessary actions such that IPv4 traffic is sent over the VPN the necessary actions such that IPv4 traffic is sent over the VPN
connection, but they do nothing to secure IPv6 traffic originated connection, but they do nothing to secure IPv6 traffic originated
from (or being received at) the host employing the VPN client. from (or being received at) the host employing the VPN client.
However, the hosts themselves are typically dual-stacked: they However, the hosts themselves are typically dual-stacked: they
support (and enable by default) both IPv4 and IPv6 (even if such IPv6 support (and enable by default) both IPv4 and IPv6 (even if such IPv6
connectivity is simply "dormant" when they connect to IPv4-only connectivity is simply "dormant" when they connect to IPv4-only
networks). When the IPv6 connectivity of such hosts is enabled, they networks). When the IPv6 connectivity of such hosts is enabled, they
skipping to change at page 4, line 10 skipping to change at page 4, line 10
the aforementioned VPN traffic leakages. Section 4 describes the aforementioned VPN traffic leakages. Section 4 describes
legitimate scenarios in which such traffic leakages might occur, legitimate scenarios in which such traffic leakages might occur,
while Section 5 describes how VPN traffic leakages can be triggered while Section 5 describes how VPN traffic leakages can be triggered
by deliberate attacks. by deliberate attacks.
2. IPv4 and IPv6 co-existence 2. IPv4 and IPv6 co-existence
The co-existence of the IPv4 and IPv6 protocols has a number of The co-existence of the IPv4 and IPv6 protocols has a number of
interesting and subtle aspects that may have "surprising" interesting and subtle aspects that may have "surprising"
consequences. While IPv6 is not backwards-compatible with IPv4, the consequences. While IPv6 is not backwards-compatible with IPv4, the
two protocols are "glued" together by the Domain Name System (DNS). two protocols are "tied" together by the Domain Name System (DNS).
For example, consider a site (say, www.example.com) that has both For example, consider a site (say, www.example.com) that has both
IPv4 and IPv6 support. The corresponding domain name IPv4 and IPv6 support. The corresponding domain name
(www.example.com, in our case) will contain both A and AAAA DNS (www.example.com, in our case) will contain both A and AAAA DNS
resource records (RRs). Each A record will contain one IPv4 address, resource records (RRs). Each A record will contain one IPv4 address,
while each AAAA record will contain one IPv6 address -- and there while each AAAA record will contain one IPv6 address -- and there
might be more than one instance of each of these record types. Thus, might be more than one instance of each of these record types. Thus,
when a dual-stacked client application means to communicate with the when a dual-stacked client application means to communicate with
aforementioned site, it can request both A and AAAA records, and use www.example.com, it can request both A and AAAA records, and use any
any of the available addresses. The preferred address family (IPv4 of the available addresses. The preferred address family (IPv4 or
or IPv6) and the specific address that will be used (assuming more IPv6) and the specific address that will be used (assuming more than
than one address of each family is available) varies from one one address of each family is available) varies from one protocol
protocol implementation to another, with many host implementations implementation to another, with many host implementations preferring
preferring IPv6 addresses over IPv4 addresses. IPv6 addresses over IPv4 addresses.
[RFC6724] specifies an algorithm for selecting a destination [RFC6724] specifies an algorithm for selecting a destination
address from a list of IPv6 and IPv4 addresses. [RFC6555] address from a list of IPv6 and IPv4 addresses. [RFC6555]
discusses the challenge of selecting the most appropriate discusses the challenge of selecting the most appropriate
destination address, along with a proposed implementation approach destination address, along with a proposed implementation approach
that mitigates connection-establishment delays. that mitigates connection-establishment delays.
As a result of this "co-existence" between IPv6 and IPv4, when a As a result of this "co-existence" between IPv6 and IPv4, when a
dual-stacked client means to communicate with some other system, the dual-stacked client means to communicate with some other system, the
availability of A and AAAA DNS resource records will typically affect availability of A and AAAA DNS resource records will typically affect
skipping to change at page 6, line 5 skipping to change at page 6, line 5
completely ignored), any packets destined to an IPv6 address will be completely ignored), any packets destined to an IPv6 address will be
sent in the clear using the local IPv6 router. That is, the VPN sent in the clear using the local IPv6 router. That is, the VPN
software will do nothing about the IPv6 traffic. software will do nothing about the IPv6 traffic.
The underlying problem here is that while IPv4 and IPv6 are two The underlying problem here is that while IPv4 and IPv6 are two
different protocols incompatible with each other, the two protocols different protocols incompatible with each other, the two protocols
are glued together by the Domain Name System. Therefore, for dual- are glued together by the Domain Name System. Therefore, for dual-
stacked systems, it is not possible to secure the communication with stacked systems, it is not possible to secure the communication with
another system without securing both protocols (IPv6 and IPv4). another system without securing both protocols (IPv6 and IPv4).
4. VPN traffic-leakages in legitimate scenarios 4. Inadvertent VPN traffic-leakages in legitimate scenarios
Consider a dual-stacked host that employs IPv4-only VPN software to Consider a dual-stacked host that employs IPv4-only VPN software to
establish a VPN connection with a VPN server, and that such host now establish a VPN connection with a VPN server, and that such host now
connects to a dual-stacked network (that provides both IPv6 and IPv4 connects to a dual-stacked network (that provides both IPv6 and IPv4
connectivity). If some application on the client means to connectivity). If some application on the client means to
communicate with a dual-stacked destination, the client will communicate with a dual-stacked destination, the client will
typically query both A and AAAA DNS resource records. Since the host typically query both A and AAAA DNS resource records. Since the host
will have both IPv4 and IPv6 connectivity, and the intended will have both IPv4 and IPv6 connectivity, and the intended
destination will have both A and AAAA DNS resource records, one of destination will have both A and AAAA DNS resource records, one of
the possible outcomes is that the host will employ IPv6 to the possible outcomes is that the host will employ IPv6 to
communicate with the aforementioned system. Since the VPN software communicate with the intended destination. Since the VPN software
does not support IPv6, the IPv6 traffic will not employ the VPN does not support IPv6, the IPv6 traffic will not employ the VPN
connection, and will be sent in the clear on from local network to connection, and hence will have neither integrity nor confidentiality
the final destination. protection from the source host to the final destination.
This could inadvertently expose sensitive traffic that was assumed to This could inadvertently expose sensitive traffic that was assumed to
be secured by the VPN software. In this particular scenario, the be secured by the VPN software. In this particular scenario, the
resulting VPN traffic leakage is a side-effect of employing IPv6- resulting VPN traffic leakage is a side-effect of employing IPv6-
unaware software in a dual-stacked host/network. unaware VPN software in a dual-stacked host/network.
5. VPN traffic-leakage attacks 5. VPN traffic-leakage attacks
A local attacker could deliberately trigger IPv6 connectivity on the A local attacker could deliberately trigger IPv6 connectivity on the
victim host by sending forged ICMPv6 Router Advertisement messages victim host by sending forged ICMPv6 Router Advertisement messages
[RFC4861]. Such packets could be sent by employing standard software [RFC4861]. Such packets could be sent by employing standard software
such as rtadvd [RTADVD], or by employing packet-crafting tools such such as rtadvd [RTADVD], or by employing packet-crafting tools such
as [SI6-Toolkit] or THC-IPv6 [THC-IPv6]. Once IPv6 connectivity has as [SI6-Toolkit] or THC-IPv6 [THC-IPv6]. Once IPv6 connectivity has
been enabled, communications with dual-stacked systems could result been enabled, communications with dual-stacked systems could result
in VPN traffic leakages, as previously described. in VPN traffic leakages, as previously described.
skipping to change at page 8, line 13 skipping to change at page 8, line 13
the VPN server. the VPN server.
6. Mitigations to VPN traffic-leakage vulnerabilities 6. Mitigations to VPN traffic-leakage vulnerabilities
There are a number of possible mitigations for the VPN traffic- There are a number of possible mitigations for the VPN traffic-
leakage vulnerability discussed in this document. leakage vulnerability discussed in this document.
If the VPN client is configured by administrative decision to If the VPN client is configured by administrative decision to
redirect all IPv4 traffic to the VPN, it should: redirect all IPv4 traffic to the VPN, it should:
1. If IPv6 is not supported, disable IPv6 support in all network 1. If IPv6 is not supported in the VPN software, disable IPv6
interfaces. support in all network interfaces.
For IPv6-unaware VPN clients, the most simple mitigation For IPv6-unaware VPN clients, the most simple mitigation
(although not necessarily the most desirable one) would be to (although not necessarily the most desirable one) would be to
disable IPv6 support in all network interface cards when a VPN disable IPv6 support in all network interface cards when a VPN
connection is meant to be employed. Thus, applications on the connection is meant to be employed. Thus, applications on the
host running the VPN client software will have no other option host running the VPN client software will have no other option
than to employ IPv4, and hence they will simply not even try than to employ IPv4, and hence they will simply not even try
to send/process IPv6 traffic. to send/process IPv6 traffic.
2. If IPv6 is supported, ensure that all IPv6 traffic is also sent 2. If IPv6 is supported in the VPN software, ensure that all IPv6
via the VPN. traffic is also sent via the VPN.
If the VPN client is configured to only send a subset of IPv4 If the VPN client is configured to only send a subset of IPv4 traffic
networks to the VPN tunnel (split-tunnel mode), then: to the VPN tunnel (split-tunnel mode), then:
1. If the VPN client does not support IPv6, it should disable IPv6 1. If the VPN client does not support IPv6, it should disable IPv6
support in all network interfaces. support in all network interfaces.
2. If the VPN client supports IPv6, it is the administrators 2. If the VPN client supports IPv6, it is the administrators
responsibility to ensure that the correct corresponding sets of responsibility to ensure that the correct corresponding sets of
IPv4 and IPv6 networks get routed into the VPN tunnel. IPv4 and IPv6 networks get routed into the VPN tunnel.
Additionally, VPN clients that support IPv6 should mitigate all ND- Additionally, VPN clients that support IPv6 should mitigate all
based attacks that may introduce new entries in the routing table, Neighbor Discovery (ND) attacks that may introduce new entries in the
such as attacks based on forged RA messages containing more specific routing table, such as attacks based on forged Router Advertisement
routes [RFC4191], forged ICMPv6 Redirect messages, etc. messages containing more specific routes [RFC4191], forged ICMPv6
Redirect messages, etc.
A network may prevent local attackers from successfully performing A network may prevent local attackers from successfully performing
the aforementioned attacks against other local hosts by implementing the aforementioned attacks against other local hosts by implementing
First-Hop Security solutions such as Router Advertisement Guard (RA- First-Hop Security solutions such as Router Advertisement Guard (RA-
Guard) [RFC6105] and DHCPv6-Shield [I-D.ietf-opsec-dhcpv6-shield]. Guard) [RFC6105] and DHCPv6-Shield [I-D.ietf-opsec-dhcpv6-shield].
However, for obvious reasons, a host cannot and should not rely on However, for obvious reasons, a host cannot and should not rely on
this type of mitigations when connecting to an open network this type of mitigations when connecting to an open network
(cybercafe, etc.). (cybercafe, etc.).
Besides, popular implementations of RA-Guard are known to be Besides, popular implementations of RA-Guard are known to be
vulnerable to evasion attacks vulnerable to evasion attacks
[I-D.ietf-v6ops-ra-guard-implementation]. [I-D.ietf-v6ops-ra-guard-implementation].
Finally, we note that if (eventually) IPv6-only VPN implementations
become available, they should consider similar issues that would
arise if they do nothing about the IPv4 traffic.
7. IANA Considerations 7. IANA Considerations
This document has no actions for IANA. This document has no actions for IANA.
8. Security Considerations 8. Security Considerations
This document discusses how traffic meant to be transferred over a This document discusses how traffic meant to be transferred over a
VPN connection can leak out of the VPN, and hence appear in the clear VPN connection can leak out of the VPN, and hence appear in the clear
on the local network. This is the result of employing IPv6-unaware on the local network. This is the result of employing IPv6-unaware
VPN client software on dual-stacked hosts. VPN client software on dual-stacked hosts.
skipping to change at page 12, line 12 skipping to change at page 12, line 12
software, or disabling IPv6 connectivity on all network interfaces software, or disabling IPv6 connectivity on all network interfaces
when the previous option is not feasible. when the previous option is not feasible.
9. Acknowledgements 9. Acknowledgements
The author would like to thank (in alphabetical order) Gert Doering The author would like to thank (in alphabetical order) Gert Doering
and Tor Houghton, who providing comments on earlier versions of this and Tor Houghton, who providing comments on earlier versions of this
document. document.
This documents has benefited from the input of Cameron Byrne, Gert This documents has benefited from the input of Cameron Byrne, Gert
Doering, Seth Hall, Tor Houghton, Alastair Johnson, Henrik Lund Doering, Seth Hall, Tor Houghton, Alastair Johnson, Merike Kaeo,
Kramshoj, and Jim Small, while discussing this topic on the Panos Kampanakis, Henrik Lund Kramshoj, Thomas Osterried, and Jim
ipv6hackers mailing-list [IPv6-Hackers]. It has also benefited from Small, while discussing this topic on the ipv6hackers mailing-list
discussions with Andrew Yourtchenko on the opsec wg mailing-list [IPv6-Hackers]. It has also benefited from discussions with Andrew
[OPSEC-LIST]. Yourtchenko on the opsec wg mailing-list [OPSEC-LIST].
10. References 10. References
10.1. Normative References 10.1. Normative References
[RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and [RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and
More-Specific Routes", RFC 4191, November 2005. More-Specific Routes", RFC 4191, November 2005.
[RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
"Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
 End of changes. 18 change blocks. 
38 lines changed or deleted 45 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/