One document matched: draft-armitage-ion-security-01.txt
Differences from draft-armitage-ion-security-00.txt
Internet-Draft Grenville Armitage
Lucent Technologies
October 11th, 1997
Security issues for ION protocols
<draft-armitage-ion-security-01.txt>
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 <draft-armitage-ion-security-01.txt>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 <draft-armitage-ion-security-01.txt>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 <draft-armitage-ion-security-01.txt>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 <draft-armitage-ion-security-01.txt>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 <draft-armitage-ion-security-01.txt>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 <draft-armitage-ion-security-01.txt>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 <draft-armitage-ion-security-01.txt>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 <draft-armitage-ion-security-01.txt>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 <draft-armitage-ion-security-01.txt>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 <draft-armitage-ion-security-01.txt>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]
| PAFTECH AB 2003-2026 | 2026-04-23 16:57:51 |