Internet DRAFT - draft-baker-opsec-passive-ip-address
draft-baker-opsec-passive-ip-address
Operational Security F. Baker
Internet-Draft G. Van de Velde
Updates: 792, 4443 (if approved) Cisco Systems
Intended status: Standards Track October 7, 2012
Expires: April 10, 2013
Passive IP Addresses
draft-baker-opsec-passive-ip-address-01
Abstract
This note suggests an approach to minimizing the attack surface of
the network elements - routers, switches, and middleware - of a
network.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on April 10, 2013.
Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Baker & Van de Velde Expires April 10, 2013 [Page 1]
Internet-Draft Passive IP Addresses October 2012
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Requirements Language . . . . . . . . . . . . . . . . . . . 3
1.2. Problem Statement . . . . . . . . . . . . . . . . . . . . . 3
1.3. Examples of attacks . . . . . . . . . . . . . . . . . . . . 3
2. Proposal . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1. Making the address useless . . . . . . . . . . . . . . . . 5
2.2. ICMP/ICMPv6 handling . . . . . . . . . . . . . . . . . . . 6
2.3. Removing the address from routing . . . . . . . . . . . . . 6
2.4. DNS and Reverse DNS . . . . . . . . . . . . . . . . . . . . 7
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
4. Security Considerations . . . . . . . . . . . . . . . . . . . . 7
4.1. Privacy Considerations . . . . . . . . . . . . . . . . . . 8
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8
6. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.1. Normative References . . . . . . . . . . . . . . . . . . . 8
7.2. Informative References . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 9
Baker & Van de Velde Expires April 10, 2013 [Page 2]
Internet-Draft Passive IP Addresses October 2012
1. Introduction
This note suggests an approach to minimizing the attack surface of
the network elements - routers, switches, and middleware - of a
network.
1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
1.2. Problem Statement
The problem, at least in its first instance, is a side effect of
diagnostics used in the Internet. Tools such as mtr, traceroute, and
pingplotter operate by sending streams of packets to a remote address
with varying hop limit values in IPv6 [RFC2460] or Time to Live in
IPv4 [RFC0791], and receiving ICMP [RFC0792] or ICMPv6 [RFC4443]
messages that indicate which interfaces the packet stream traversed
in the forward direction. Path MTU [RFC1191] [RFC1981] discovery
depends on ICMP/ICMPv6 Packet Too Big. Various ICMP/ICMPv6
"unreachable" messages respond when routing fails, which are intended
to trigger applications to try other peer addresses
[I-D.ietf-v6ops-happy-eyeballs], and so on. The IP addresses of
these responders can be looked up in Reverse DNS [RFC1033][RFC1912]
to build a name that indicates the operator, POP, and equipment in
question, which is useful in identifying potential problems in the
path.
Unfortunately, those addresses can also be used in another way. A
motivated adversary can subject routers to TCP RST attacks, load-
based DDOS, and other attacks.
An alternate way to reduce this potential attack vector is to not use
addresses that are valid beyond the link it is attached towards. A
sollution describing considerations around this is given in
[draft-ietf-opsec-lla-only] while passive IPv6 addresses will provide
network path visibility withought increasing large extend of
vulnerability for the devices using down the traffic path.
1.3. Examples of attacks
To pick one example, attacks are being reported in which residential
broadband customer's CPE Router is targeted with large volume SNMP
GET Requests. The address of the router is not generally known; in
IPv4, that may be a result of NAPT use, with the address being
harvested from exchanges. It may be obtained from a traceroute to a
Baker & Van de Velde Expires April 10, 2013 [Page 3]
Internet-Draft Passive IP Addresses October 2012
server behind the router, or it may be determined by analysis of SMTP
envelopes.
Another example is attacks on BGP peering. BGP neighbors often peer
between the loopback addresses of neighboring routers, to make the
TCP session stable in the presence of link outages, but may peer
using interface addresses. If a router is configured to use
interface addresses in ICMP/ICMPv6 messages and to peer using those
same addresses, the ICMP response exposes information that can be
used in a RST attack on routing. It also facilitates any other kind
of attack on the router, such as the previously noted SNMP attack
(even if the router knows to refuse the message, it consumes CPU).
If global addresses are not used - routers use link-local or private
addresses - that makes it harder for an attacker to attack the
router, but it means that traceroute and other uses are compromised,
which is an attack on network forensics. If link-local addresses are
used on the interfaces and ICMP is configured to use the loopback
address, the router is again exposed to RST attacks.
2. Proposal
The simplest solution seems to be to enable the router to hide in
plain sight - to use an address as the source address in ICMP and
other messages that is identifiable using Reverse DNS (and therefore,
through the name, useful for network diagnostics and communication
between operators), but does not facilitate attacks.
The fundamental theory behind this proposal is the Principle of Least
Privilege, which in this application is that an entity in the
Internet must be able to access only the information and resources
that are necessary for its legitimate purpose. In this case, it is
reasonable, for various reasons, to enable a random user to identify
the path his or her traffic is using or to identify a system in his
path when reporting operational issues to an administration. It is
not reasonable, or at least not required, that the user be able to
specifically interact with any of those systems in the general case.
We propose that the source IP address in an ICMP/ICMPv6 message, or
indeed any message sent to a host that has no inherent need to
contact the specific system, be useful for Reverse DNS, but not for
touching the system. Ideally, it is not routable to the system in
the first place; The passive character of this type of addres address
comes to play if a packet with this address as destination address on
a targetted device and is delivered to the interface, it is summarily
dropped. Such an address is referred to as a "passive address", and
if it comes from a specific prefix, the prefix is referred to as a
"passive prefix". Addresses that are routable and not dropped on
Baker & Van de Velde Expires April 10, 2013 [Page 4]
Internet-Draft Passive IP Addresses October 2012
receipt will, for the purposes of this specification, be called
"active" IP addresses.
A passive address is sementically non-disguisable from any other type
of address and has no requirement for any new type of address-family.
Any IPv4 or IPv6 address can become a passive address by a
configuration knob when specifying the interface IP address for the
Interface or device.
2.1. Making the address useless
Every interface in the Internet has an address, with the exception of
IPv4 unnumbered interfaces; even those have addresses that they use,
which are the actual address of some other interface on the same
system. Increasingly, this is in fact a list of addresses, some of
which are IPv4 and some of which are IPv6.
We propose that any address allocated to an interface on
infrastructure equipment be given two binary attributes:
UseInICMP: If the address has this attribute TRUE, the corresponding
address may be used as the source address of ICMP or ICMPv6
messages and other messages sent to hosts that have no need to
actually touch the system. It is otherwise FALSE.
Respond: If the address has this attribute TRUE, the device will
process and respond to packets it receives that have this as a
destination address; it is an active address. If the attribute is
FALSE, the address is a passive address.
If UseInICMP is set TRUE on a Global Unicast Address or Unique Local
Address, the address will be available for use in ICMP messages. If
"Respond" is set TRUE, traffic sent to the address will be served in
the usual way. This describes the present Internet usage. If
Respond is set FALSE, traffic sent to the address will be summarily
discarded, in effect presenting a "local firewall" blockage related
to the address.
An address that has UseInICMP set FALSE will not be used as the
source address of an ICMP message. That address will be
indiscoverable via ICMP messages. If Respond is TRUE and the address
becomes known by other means, such as DNS, traffic sent to the
address will be served in the usual way. If Respond is set FALSE,
traffic sent to the address will be summarily discarded, in effect
presenting a "local firewall" blockage related to the address.
The scenario in view here is that
Baker & Van de Velde Expires April 10, 2013 [Page 5]
Internet-Draft Passive IP Addresses October 2012
o an address that is used to access the system would have UseInICMP
FALSE (the address is not leaked in such messages) and Respond
TRUE (messages sent to the address MAY be operated on by the
system).
o an address that is used in ICMP and similar messages would have
UseInICMP TRUE (the address MAY be leaked in such messages) and
Respond FALSE (messages sent to the address will be dropped on
receipt).
2.2. ICMP/ICMPv6 handling
Per [RFC4443], an ICMP Response such as Time Exceeded or Parameter
Problem is sent from "the" source address of the interface that
detected the issue. This specification narrows that: it SHOULD use
one of the source addresses that have the attribute UseInICMP set to
TRUE. If no address has that attribute TRUE, it SHOULD NOT send the
message.
2.3. Removing the address from routing
If the passive address is taken from any prefix that is not
advertised in routing, it will be difficult for an adversary to route
to the address, which simplifies the treatment of certain forms of
attacks. It is not impossible; a system on the same LAN could send a
crafted packet that would arrive anyway. However, especially in
inter-domain routing, it is often quite reasonable to believe that
addresses exist that need not be advertised to a neighboring network.
One example of such an address, in IPv6, might be a Unique Local IPv6
Unicast Address [RFC4193], or a global unicast address or prefix.
There are obvious operational issues in the use of a global prefix;
it is easy to accidentally advertise it. In an IPv4 network, the
counterpart might be to use an [RFC1918] address, or to use another
prefix that one chooses to not advertise.
Link Local addresses SHOULD NOT be used in this context; while they
are obviously unroutable except on the local LAN, they are not useful
in Reverse DNS.
One problem with this relates to Ingress Filtering [RFC2827]. If the
prefix used for passive addresses is not advertised to the
neighboring network and the neighboring network is using unicast
reverse path filtering, it will filter these responses. For this
reason, a network doing this SHOULD advise neighboring networks of
passive prefixes for the purpose of inclusion in ingress filters.
Baker & Van de Velde Expires April 10, 2013 [Page 6]
Internet-Draft Passive IP Addresses October 2012
2.4. DNS and Reverse DNS
[RFC1912] recommends that "For every IP address, there should be a
matching PTR record in the in-addr.arpa domain." In IPv6, there is
an important special case, in that link-local addresses are not
reflected there, and are used in routing protocols for local
communication among IPv6 routers. Like other addresses, passive IP
addresses SHOULD have a corresponding Reverse DNS entry; these names
help with traceroute and in fault diagnosis. While active addresses
may be expected to have A or AAAA records in the administration's own
DNS, there is little point for doing so for passive addresses, as
they are unresponsive and very likely unreachable.
However, the names given to passive addresses SHOULD NOT be directly
similar to the names given active IP addresses. For example, it may
be useful to name the interfaces on a certain router so as to
identify the router - "ethernet7.card3.router5.lax.example.com". If
the correlation to the name of the loopback interface
("router5.lax.example.com") is obviously derivative, the security
value is largely forfeit, although it might require human
interaction. Such names should differ enough that they are not
readily intuited, such as "rack12.lax.example.com".
3. IANA Considerations
This memo asks the IANA for no new parameters.
Note to RFC Editor: This section will have served its purpose if it
correctly tells IANA that no new assignments or registries are
required, or if those assignments or registries are created during
the RFC publication process. From the author's perspective, it may
therefore be removed upon publication as an RFC at the RFC Editor's
discretion.
4. Security Considerations
This entire note could be described as addressing a set of security
considerations. It is not a complete solution to attacks on
infrastructure - if loopback addresses, which are used for network
management and other purposes are generally known, the infrastructure
can still be attacked. However, it is an important reduction of the
attack surface. It creates no attack surface that did not already
exist.
Baker & Van de Velde Expires April 10, 2013 [Page 7]
Internet-Draft Passive IP Addresses October 2012
4.1. Privacy Considerations
This proposal also introduces no new privacy issues.
5. Acknowledgements
This document grew from a conversation among the authors, John
Brzozowski, and Thienpondt Hans. Merike Keao's review was very
helpful.
6. Change Log
Initial Version: 1 March 2012
2th version: 7 October 2012
7. References
7.1. Normative References
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
September 1981.
[RFC0792] Postel, J., "Internet Control Message Protocol", STD 5,
RFC 792, September 1981.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, December 1998.
[RFC4443] Conta, A., Deering, S., and M. Gupta, "Internet Control
Message Protocol (ICMPv6) for the Internet Protocol
Version 6 (IPv6) Specification", RFC 4443, March 2006.
7.2. Informative References
[I-D.ietf-v6ops-happy-eyeballs]
Wing, D. and A. Yourtchenko, "Happy Eyeballs: Success with
Dual-Stack Hosts", draft-ietf-v6ops-happy-eyeballs-07
(work in progress), December 2011.
[RFC1033] Lottor, M., "Domain administrators operations guide",
RFC 1033, November 1987.
Baker & Van de Velde Expires April 10, 2013 [Page 8]
Internet-Draft Passive IP Addresses October 2012
[RFC1191] Mogul, J. and S. Deering, "Path MTU discovery", RFC 1191,
November 1990.
[RFC1912] Barr, D., "Common DNS Operational and Configuration
Errors", RFC 1912, February 1996.
[RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and
E. Lear, "Address Allocation for Private Internets",
BCP 5, RFC 1918, February 1996.
[RFC1981] McCann, J., Deering, S., and J. Mogul, "Path MTU Discovery
for IP version 6", RFC 1981, August 1996.
[RFC2827] Ferguson, P. and D. Senie, "Network Ingress Filtering:
Defeating Denial of Service Attacks which employ IP Source
Address Spoofing", BCP 38, RFC 2827, May 2000.
[RFC4193] Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast
Addresses", RFC 4193, October 2005.
[draft-ietf-opsec-lla-only]
, M., "Using Only Link-Local Addressing Inside an IPv6
Network", 20012.
Authors' Addresses
Fred Baker
Cisco Systems
Santa Barbara, California 93117
USA
Email: fred@cisco.com
Gunter Van de Velde
Cisco Systems
De Kleetlaan 6a
Diegem 1831
Belgium
Phone: +32 2704 5473
Email: gvandeve@cisco.com
Baker & Van de Velde Expires April 10, 2013 [Page 9]