HTTP/1.1 200 OK Date: Mon, 08 Apr 2002 22:35:24 GMT Server: Apache/1.3.20 (Unix) Last-Modified: Tue, 17 Mar 1998 16:32:00 GMT ETag: "2e6d57-6407-350ea580" Accept-Ranges: bytes Content-Length: 25607 Connection: close Content-Type: text/plain Internet-Draft Grenville Armitage Lucent Technologies October 11th, 1997 Security issues for ION protocols Status of this Memo This document was submitted to the IETF Internetworking over NBMA (ION) WG. Publication of this document does not imply acceptance by the ION WG of any ideas expressed within. Comments should be submitted to the ion@nexen.com mailing list. Distribution of this memo is unlimited. This memo is an internet draft. 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. Internet Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Internet Drafts as reference material or to cite them other than as a "working draft" or "work in progress". Please check the lid-abstracts.txt listing contained in the internet-drafts shadow directories on ds.internic.net (US East Coast), nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim) to learn the current status of any Internet Draft. Abstract This document aims to assist people attempting to understand the security limitations of existing ION working group protocols RFC 2022 (MARS), and RFC xxxx (NHRP). As RFC 2022 and RFC xxxx share their basic control message protocol(s), this document also identifies common areas amenable to improvement using additional security TLVs. Change History September 1997 Armitage Expires April 11th, 1998 [Page 1] Internet Draft October 11th, 1997 ATMARP specific sections extracted to form a stand-alone document, called draft-armitage-ion-sec-arp-00.txt. This document now covers only MARS and NHRP issues, revision number upped to 01. July 1997 Initial release. Begins to describe the problems. Solutions still TBD. 1. Introduction Security is a broad term, and often used subjectively when a given protocol is said to be 'secure' or 'insecure'. The context and prior assumptions need to be clearly understood for each assertion of an overall system's level of security. Typically most security can summarised as 'no-one would find me interesting enough to bother'. Unfortunately, innocent hackers and/or malicious crackers will find most IP/ATM installations 'interesting' at some point. Whether you are victim of a denial-of-service attack, or denial-of-service screw-up, the effect is similarly annoying. The ION working group and its predecessors (the IP-ATM and ROLC working groups) are responsible for three key protocols to support unicast and multicast IP over ATM (and other NBMA) networks - RFC 1577 (ATMARP) [1], RFC 2022 (MARS) [2], and RFC xxxx (NHRP) [3]. The development of these protocols focussed on achieving a set of goals that did not initally include specific security issues. The Classical IP over ATM model was first suggested in 1993 at the Internet Engineering Task Force IETF spring meeting and was later documented in RFC 1577. In this model, IP end-stations are grouped into Logical IP Subnet (LIS). Within the LIS, ATM Address Resolution Protocol (ATMARP) [1] supports IP data communication. Traffic between different LISs is routed using conventional IP routing protocols such as OSPF[4]. Subsequently, NHRP was developed to support both intra-subnet and inter-subnet 'shortcut' unicast SVCs, and MARS was developed to support intra-subnet multicast. Since the internet is an open community, and the ION model depends on the correct MARS/NHRP client/server operation, it is important for the industry to be aware of the various security risks, and what can be done to reduce these risks. This document focusses on the security risks inherent in the MARS and NHRP architectures. RFC1577 related security issues are reviewed in [5], and IP related security issues are reviewed in RFC 1825 [6]. Armitage Expires April 11th, 1998 [Page 2] Internet Draft October 11th, 1997 In this document the term 'attacker' will be used to mean any application actively utilizing the ATM network and IP/ATM protocol elements to perform activities outside the intended scope of RFC 2022 and RFC xxxx. The rest of this document is structured in the following manner. Section 2 briefly notes the limited assumptions you can make about ATM level security, section 3 summarizes the known issues with RFC 2022, and section 4 summarizes the known issues with RFC xxxx. Section 5 briefly outlines the mechanism shared by RFC 2022 and RFC xxxx for adding security related option fields to control messages. 2. ATM level security RFC 2022 and RFC xxxx assume that the underlying ATM network itself is trustworthy. There is an implicit assumption that if a SETUP message arrives at your node, the Calling Party Information Element (IE) contains a legitimate address correctly identifying the SETUP's originator. (In line with the 'surely I'm too un-interesting to bother' philosophy, there is an additional assumption that the SETUP message came from someone with a right to establish the VC, regardless of the address in the Calling Party IE.) Unfortunately, UNI 3.0/3.1 ATM signaling [8,9] does not utilize any form of end-node authentication. This leaves the SETUP phase vulnerable to 'man in the middle' attacks (where a switch somewhere in the ATM network is compromised, or a link is broken and an additional entity introduced that is capable of intercepting and modifying UNI or NNI signaling traffic on the fly). Even if end points were authenticated, UNI 3.0/3.1 does not support the notion of closed user groups. This allows anyone with UNI access to your underlying ATM cloud to establish VCs to any entity within your LIS [1], Cluster [2], or LAG [3]. This can become a problem if UNI access to your ATM cloud is possible - e.g. through poorly restricted physical access such as spare switch ports, or functional access through machines running insecure OSes. (An insecure OS environment can be anything that allows user space applications direct access to either the local hosts's UNI signaling stack, or the underlying ATM NIC itself.) Weak access controls to a host's UNI signaling stack may allow a local user application to establish VCs using Calling Party numbers with arbitrary SEL values (the choice of the other 19 octets of a Calling Party AESA is limited by the ESIs initially registered by the client with the local switch using ILMI). Sufficiently weak access controls might even allow an application to choose Calling Party numbers that clash with other local ATM-based applications. Weak Armitage Expires April 11th, 1998 [Page 3] Internet Draft October 11th, 1997 access controls to the host's ATM NIC itself could allow user deployment of a complete ILMI/UNI signaling stack of their own, customized for whatever task is required. A single PC attached to a campus-wide ATM network meets all the criteria for a weakly controlled access point. 3. RFC 2022 (MARS) The RFC 2022 protocol is primarily query/response. In addition to triggering responses with direct queries, MARS clients also expect to receive asynchronous updates from their MARS. This opens up possibilities for an attacker to trigger client misbehavior. 3.1 Joining the cluster to eavesdrop and interject MARS Clients automatically add new ATM level leaf nodes to their outgoing pt-mpt VCs upon receipt of valid MARS_JOIN messages. An attacker wishing to eavesdrop on any multicast group's traffic within a Cluster need only register as a cluster member, and issue a MARS_JOIN to the MARS for the groups of interest. The MARS will inform all other cluster members, and all current senders will add the attacker as a new leaf node. An attacker who was interested in all traffic within the cluster need only issue a block MARS_JOIN to cover the entire multicast address space (a promiscuous client) in one operation. Aside from the fact that information is leaking from your cluster, such eavesdropping may have a debilitating effect on the wider ATM cloud. If the attacker is topologically distant at the ATM level, this action results in a sudden increase in traffic along the ATM path from your cluster to the attacker's own access point. Having registered with the MARS as a legitimate cluster member, the attacker is also free to begin transmitting its own data to the members of any group it chooses. 3.2 Joining as an MCS to eavesdrop and interject An alternative approach to eavesdropping is for an attacker to register as an MCS and claim to support the group or groups of interest. The attacker then becomes the focal point of transmissions from legitimate MARS Clients, and is in a position to make copies of packets sent to it. A non-disruptive attacker would actually provide MCS functionality, to ensure packets from legitimate cluster members are distributed Armitage Expires April 11th, 1998 [Page 4] Internet Draft October 11th, 1997 around the cluster as expected. A disruptive attacker could simply black-hole the group's traffic, or creatively modify the packet stream flowing through itself. A totally debilitating attacker would register to support all multicast groups, and then black-hole the traffic. Since the MARS trusts the MCS, and the MARS Clients trust the MARS, this makes an effective denial of service attack. (The fact that MCS cannot issue a block join provides minimal defense. A creative attacker would register as a normal client in promiscuous mode, watch for new groups being joined, and then simultaneously register as an MCS for the new group. A single application running on an unsecured PC can conceivably emulate two distinct ATM entities.) Aside from the fact that information is leaking from your cluster, such eavesdropping may have a debilitating effect on the wider ATM cloud. If the attacker is topologically distant at the ATM level, this action results in a sudden increase in traffic along the ATM path from your cluster to the attacker's own access point. 3.3 Bypassing or hi-jacking the MARS The eavesdropping techniques described in the previous two sections involve the attacker registering itself with the MARS as either a legitimate client or MCS. If the MARS Clients within the Cluster fail to perform sanity checks on the source of the MARS_JOIN messages they listen to, it may be feasible for an attacker to target particular senders directly. The attacker establishes a VC to the target MARS Client and sends it a properly formatted MARS_JOIN. In this case, the attacker only receives a copy of the traffic from the targetted MARS Client. A MARS Client that fails to sanity check MARS_LEAVE messages can be effectively shut down by an attacker. The attacker finds the group members by querying the MARS, then begins issuing MARS_LEAVEs to the target MARS Client. Each MARS_LEAVE causes the target MARS client to drop another leaf node from its forwarding VC. Eventually the VC is closed down. An MCS may be similarly vulnerable to fake MARS_SJOIN/SLEAVE messages coming directly from an attacker. This vulnerability may be partially closed if the MARS Client checks the source of the VC on which MARS_JOIN/LEAVE messages arrive. Messages to update outgoing pt-mpt VCs arrive on ClusterControlVC. However, the current protocol does not provide Clients with a definite mechanism for determining which incoming SVC represents ClusterControlVC. If the ATM signaling is trusted, the sanity check would be to only accept MARS_JOIN/LEAVE messages arriving on VCs whose Calling Party number is that of the MARS entity. If the VCs Armitage Expires April 11th, 1998 [Page 5] Internet Draft October 11th, 1997 Calling Party number is unavailable, the target MARS Client can, at best, make an assumption that the VC on which it first receives a MARS_REDIRECT_MAP must be ClusterControlVC. MARS_REDIRECT_MAP itself provides trouble for vulnerable MARS Clients. An attacker who is prepared to emulate a complete MARS can transmit a fake MARS_REDIRECT_MAP to all (or some subset) of the Cluster's members, forcing them to voluntarily switch from the current MARS. If a 'hard redirect' is demanded by the attacker, the MARS Clients will also assist the attacker by re-MARS_JOINing every group they were members of. Once redirected, cluster operation continues as though nothing has happened. (Clients that depend on seeing a MARS_REDIRECT_MAP to decide which VC is ClusterControlVC are vulnerable to this attack if the first MARS_REDIRECT_MAP that they see is from the attacker.) Having taken over as the cluster's MARS, the attacker is pretty much free to cause further havoc. 3.4 Denial of Service An attacker could disrupt or slow down MARS service by repetitive VC setup/teardown events. An attacker who repeatedly registered and de- registered as a cluster member would cause even more ATM signaling activity, as the target MARS updates ClusterControlVC. Similarly, an attacker could repeatedly register and deregister as an MCS to force updates of ServerControlVC. A direct attack on the MARS itself might involve explicitly joining, in sequence, every possible multicast group, in the hope that the internal database will overflow. Some MARS implementations may react by crashing, providing a useful denial of service mechanism. Being able to force a crash has additional uses - the attack can force a restart, and while the clients are re-registering with the restarted MARS, the attacker injects false MARS_REDIRECT_MAPs as described in section 3.3. Faking of an MCS by the attacker (as described in section 3.2) can be used to create full or partial black-holes for traffic. 3.5 Hiding the MARS Many scenarios involve the attacker knowing who the cluster members are. In most situations this will be trivial to achieve, since there is usually some well known multicast group joined by all cluster members (e.g. 224.0.0.1 under IPv4). A MARS_REQUEST on this group will provide the required information. (Interestingly, since MARS Clients and ATMARP Clients are typically co-located, this search will reveal the locations of all ATMARP Clients in the LIS as well. Probing each client by opening a direct VC is likely to elicit an Armitage Expires April 11th, 1998 [Page 6] Internet Draft October 11th, 1997 InARP Request that reveals the client's unicast IP address.) Keeping the address of the MARS secret can help discourage many of the preceding attacks. However, experience with RFC 1577 implementations suggests that there will be little attempt to hide the configuration information from users. If the person behind the attacks has user level access to any machine on the LIS, they will have access to the MARS address. Even if the MARS address could be kept a secret, a determined search would make use of the fact that a MARS reacts in a predictable way when it is sent a correctly formatted registration MARS_JOIN. An attacker with complete or partial knowledge of the AESAs in your region of the cloud can poll possible AESA variations (varying the SEL field) looking for an endpoint that reacts correctly to MARS_JOIN. An attacker with physical access to your ATM cloud can place a tap on any link, parse the UNI signalling traffic going past, and draw conclusions from the AESAs it sees in SETUP messages. 4. RFC xxxx (NHRP) The RFC xxxx protocol is primarily query/response. In addition to triggering responses with direct queries, NHRP clients also expect to receive asynchronous updates from their NHS, which opens up possibilities for an attacker to trigger client misbehavior. Although RFC xxxx provides an optional TLV for authentication purposes, its use is not currently mandatory. Therefore, this section assumes NHRP installations where no use is being made of the authentication TLV. [insert cites to any prior work here.] [This section is very much under construction.] 4.1 IP/ATM address spoofing Address spoofing involves the insertion of incorrect {IP,ATM} mappings into the NHS' database. An attacker establishes a VC to the NHS for a given LIS/LAG, and provides a fake {IP,ATM} mapping in its NHRP Register Request. An attacker may also attempt to register fake {IP,ATM} mappings in NHSes serving remote LIS/LAGs, by specifying a remote NHS as the Destination of the NHRP Register Request. This sort of spoofing can be used either as a denial of service attack or a stepping stone to subsequent hi-jacking of higher level Armitage Expires April 11th, 1998 [Page 7] Internet Draft October 11th, 1997 IP services (e.g. register the IP address of the local NFS server or router immediately after an NHS reboot). As fake mappings can be inserted into NHSes outside the immediate LIS/LAG, the scope for damage is far greater than that presented in ATMARP installations. An attacker may find value in attempting to register mappings with a target NHS that represent IP addresses from a LIS/LAG not served by the target NHS, in case the NHS implementation fails to sanity check the mapping. If the fake registration succeeds, no other NHSes (including the NHS that actually serves the target IP address) will know that the compromised NHS is handing out false information. The compromised NHS may also respond to non-authoritative requests for the affected IP addresses mapping from remote clients if their NHRP Requests are routed through it. (Note that registering with an NHS outside the local LIS/LAG only requires that the IP address of the remote NHS be placed into the attacker's NHRP Registration Request. Thus the attacker need only know the ATM address of one NHS. The IP addresses of potential target NHS(es) may be surmised by checking the IP addresses of routers in the region, as reported by tools such as 'traceroute'.) 4.2 Scanning the {IP,ATM} mapping space. It is usually undesirable for outsiders to know the entire set of IP addresses (and associated ATM addresses) that make up your LIS/LAG. However, there is little to stop an attacker from establishing a VC to your NHS, registering an innocuous {IP,ATM} mapping, and proceeding to issue NHRP Requests for a range (or ranges) of 'interesting' IP addresses. Since the NHRP service's design goal is the resolution of IP addresses outside the LIS/LAG, the attacker can also choose to scan the mappings for other LIS/LAGs through the local NHS. Knowing the address of any one NHS opens up an entire set of LIS/LAGs. The ATM addresses thus learned might be used in subsequent denial of service attacks against specific hosts. Depending on range of IP addresses chosen during the scan, and the speed with which the repeated NHRP Requests are issued, this scanning can itself keep the NHS so busy as to constitute a denial of service attack. If the target IP addresses are outside the local LIS/LAG, the request traffic propagates to other NHSes too. Not knowing the LIS/LAG address range makes the attack less efficient, but not impossible since the server actively responds to bad guesses with NHRP Reply indicating failure. A selective search would make intelligent guesses as to the probable range of net/subnet Armitage Expires April 11th, 1998 [Page 8] Internet Draft October 11th, 1997 numbers to scan. 4.3 Denial of Service attacks. An attacker can present two types of overload to an NHS - repetative VC setup/teardown events without actually registering any {IP,ATM} mappings (simply to consume cpu cycles in the NHS' underlying UNI stack), and repeated VC setup/teardown/registration events (where the attacker explicitly NHRP Registers with a different {IP,ATM} mapping each time). The first type of attack wastes time at the NHS, and causes additional loading of the control processor in the switch to which the target is attached (and other switches along the path between the attacker and target). The second type of attack will be slower (although parallel VC setup attempts can be used to keep the average rate up), but results in additional database manipulation activity in the NHS. This can result in collisions with IP addresses already registered, or set the stage for later collisions when the legitimate owners of a particular IP address attempt to register. As noted in section 4.1, the second type of attack can be launched against remote NHSes without even knowing their ATM addresses. Harrassment through repetative VC setup/teardown may also be launched against NHCs whose addresses were learned through scanning of the NHS database. An attacker can transmit fake NHRP Purge messages to both NHSes and NHCs. At minimum this is likely to result in unnecessary VC teardown/setup sequences between NHCs whose current short-cuts are prematurely purged. 4.5 Hiding the NHS Keeping the ATM addresses of NHS secret would help discourage many of the preceding attacks. However, this is unlikely to be even remotely achievable. As noted in section 4.1, if only one NHS ATM address is known this is sufficient to cover all NHSes. Their IP addresses can be guessed from the IP addresses of routers in the network, and if required the attacker can query the initial NHS to discover the matching ATM addresses. Even if all NHS ATM addresses could be kept a secret, a determined Armitage Expires April 11th, 1998 [Page 9] Internet Draft October 11th, 1997 search would make use of the fact that an NHS reacts in a predictable way when it is sent a correctly formatted NHRP messages. An attacker with complete or partial knowledge of the AESAs in your region of the cloud can poll possible AESA variations (varying the SEL field) looking for an endpoint that reacts correctly to NHRP Registration Request. An attacker with physical access to your ATM cloud can place a tap on any link, parse the UNI signalling traffic going past, and draw conclusions from the AESAs it sees in SETUP messages. 5. Common extensions to MARS and NHRP Both MARS and NHRP share a common control packet syntax that supports optional TLV-based fields. RFC xxxx contains an authentication TLV, and it would seem reasonable to build on this TLV for MARS. [TBD] [TLV exists, but key distribution is a problem.] 6. Conclusion [TBD] Security Consideration Security considerations are covered in this document. Acknowledgments Author's Address Grenville Armitage Bell Labs, Lucent Technologies. 101 Crawfords Corner Rd, Holmdel, NJ, 07733 USA Email: gja@lucent.com Armitage Expires April 11th, 1998 [Page 10] Internet Draft October 11th, 1997 References [1] Laubach, M., "Classical IP and ARP over ATM", RFC1577, Hewlett- Packard Laboratories, December 1993 [2] G. Armitage, "Support for Multicast over UNI 3.0/3.1 based ATM Networks.", Bellcore, RFC 2022, November 1996 [3] J. Luciani, et al, "NBMA Next Hop Resolution Protocol (NHRP)", INTERNET DRAFT, draft-ietf-rolc-nhrp-11.txt, February 1997 [4] J. Moy, "OSPF Version 2", RFC 1247, March 1994 [5] G. Armitage, C. Wang, "Security issues for the ATMARP protocol", INTERNET DRAFT, draft-armitage-ion-sec-arp-00.txt, October 1997 [6] R. Atkinson, "Security Architecture for the Internet Protocol", RFC 1825, August 1995 [7] ATM Forum, "ATM User-Network Interface Specification Version 3.0", Englewood Cliffs, NJ: Prentice Hall, September 1993. [8] ATM Forum, "ATM User Network Interface (UNI) Specification Version 3.1", ISBN 0-13-393828-X, Prentice Hall, Englewood Cliffs, NJ, June 1995. Armitage Expires April 11th, 1998 [Page 11]