draft-ietf-tsvwg-sctpthreat-03.txt   draft-ietf-tsvwg-sctpthreat-04.txt 
Network Working Group R. Stewart Network Working Group R. Stewart
Internet-Draft Cisco Systems, Inc. Internet-Draft Cisco Systems, Inc.
Intended status: Informational M. Tuexen Expires: December 11, 2007 M. Tuexen
Expires: October 7, 2007 Muenster Univ. of Applied Sciences Muenster Univ. of Applied Sciences
G. Camarillo G. Camarillo
Ericsson Ericsson
April 5, 2007 June 9, 2007
Security Attacks Found Against SCTP and Current Countermeasures Security Attacks Found Against SCTP and Current Countermeasures
draft-ietf-tsvwg-sctpthreat-03.txt draft-ietf-tsvwg-sctpthreat-04.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 37 skipping to change at page 1, line 37
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."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on October 7, 2007. This Internet-Draft will expire on December 11, 2007.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2007).
Abstract Abstract
Stream Control Transmission Protocol defined in RFC 2960 is a multi- This document describes certain security threats to SCTP. It also
homed transport protocol. As such, unique security threats exists describes ways to mitigate these threats, in particular by using
that are addressed in various ways within the protocol itself. This techniques from the SCTP Specification Errata and Issues memo (RFC
document attempts to detail the known security threats and their 4460). These techniques are included in RFC 2960bis, which obsoletes
countermeasures as detailed in the current version of the SCTP RFC 2960. It is hoped that this information will provide some useful
Implementors guide RFC 4460. It is hoped that this information will background information for many of the newest requirements spelled
provide some useful background information for many of the newest out in the SCTP Specification Errata and Issues and included in RFC
requirements spelled out in the SCTP Implementors guide. 2960bis.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Address Camping or stealing . . . . . . . . . . . . . . . . . 3 2. Address Camping or stealing . . . . . . . . . . . . . . . . . 3
3. Association hijacking 1 . . . . . . . . . . . . . . . . . . . 5 3. Association hijacking 1 . . . . . . . . . . . . . . . . . . . 5
4. Association hijacking 2 . . . . . . . . . . . . . . . . . . . 7 4. Association hijacking 2 . . . . . . . . . . . . . . . . . . . 7
5. Bombing attack (amplification) 1 . . . . . . . . . . . . . . . 8 5. Bombing attack (amplification) 1 . . . . . . . . . . . . . . . 8
6. Bombing attack (amplification) 2 . . . . . . . . . . . . . . . 9 6. Bombing attack (amplification) 2 . . . . . . . . . . . . . . . 9
7. Association redirection . . . . . . . . . . . . . . . . . . . 10 7. Association redirection . . . . . . . . . . . . . . . . . . . 10
8. Bombing attack (amplification) 3 . . . . . . . . . . . . . . . 10 8. Bombing attack (amplification) 3 . . . . . . . . . . . . . . . 11
9. Bombing attack (amplification) 4 . . . . . . . . . . . . . . . 11 9. Bombing attack (amplification) 4 . . . . . . . . . . . . . . . 12
10. Security Considerations . . . . . . . . . . . . . . . . . . . 12 10. Bombing attack (amplification) 5 . . . . . . . . . . . . . . . 12
11. IANA considerations . . . . . . . . . . . . . . . . . . . . . 12 11. Security Considerations . . . . . . . . . . . . . . . . . . . 13
12. Informative References . . . . . . . . . . . . . . . . . . . . 12 12. IANA considerations . . . . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Intellectual Property and Copyright Statements . . . . . . . . . . 14 13.1. Normative References . . . . . . . . . . . . . . . . . . 13
13.2. Informative References . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14
Intellectual Property and Copyright Statements . . . . . . . . . . 15
1. Introduction 1. Introduction
Stream Control Transmission Protocol RFC2960 [2] is a multi-homed Stream Control Transmission Protocol originally defined in RFC2960
transport protocol. As such, unique security threats exists that are [1] is a multi-homed transport protocol. As such, unique security
addressed in various ways within the protocol itself. This document threats exists that are addressed in various ways within the protocol
attempts to detail the known security threats and there itself. This document describes certain security threats to SCTP.
countermeasures as detailed in the current version of the SCTP It also describes ways to mitigate these threats, in particular by
Implementors guide (SCTP-IG [3]). It is hoped that this information using techniques from the SCTP Specification Errata and Issues memo
will provide some useful background information for many of the (RFC4460 [2]). These techniques are included in RFC2960bis [3],
newest requirements spelled out in the SCTP-IG [3]. which obsoletes RFC2960 [1]. It is hoped that this information will
provide some useful background information for many of the newest
requirements spelled out in the SCTP-errata [2] and included in RFC
2960bis [3].
This work and some of the changes that went into the SCTP-IG [3] are This work and some of the changes that went into the SCTP-errata [2]
much indebted to the paper on potential SCTP security risks Effects and RFC 2960bis [3] are much indebted to the paper on potential SCTP
[1] by Aura, Nikander and Camarillo. Without their work some of security risks Effects [7] by Aura, Nikander and Camarillo. Without
these changes would remain undocumented and potential threats. their work some of these changes would remain undocumented and
potential threats.
The rest of this document will concentrate on the various attacks The rest of this document will concentrate on the various attacks
that were illustrated in Effects [1] and detail what preventative that were illustrated in Effects [7] and detail what preventative
measures are now in place within the current SCTP standards (if any). measures are now in place within the current SCTP standards (if any).
2. Address Camping or stealing 2. Address Camping or stealing
This attack is a form of denial of service attack crafted around This attack is a form of denial of service attack crafted around
SCTP's multi-homing. In effect an illegitimate endpoint connects to SCTP's multi-homing. In effect an illegitimate endpoint connects to
a server and "camps upon" or holds up a valid peers address. This is a server and "camps upon" or holds up a valid peers address. This is
done to prevent the legitimate peer from communicating with the done to prevent the legitimate peer from communicating with the
server. server.
2.1. Attack details 2.1. Attack details
+----------+ +----------+ +----------+ +----------+ +----------+ +----------+
| Evil | | Server | | Client | | Evil | | Server | | Client |
| IP-A=+------------+=IP-X & Y=+-----------+=IP-C & D | | IP-A=+------------+ +-----------+=IP-C & D |
| Attacker | | | | Victim | | Attacker | | | | Victim |
+----------+ +----------+ +----------+ +----------+ +----------+ +----------+
Figure 1: Camping Figure 1: Camping
Consider the scenario illustrated in Figure 1. The attacker Consider the scenario illustrated in Figure 1. The attacker
legitimately holds IP-A and wishes to prevent the 'Client-Victim' legitimately holds IP-A and wishes to prevent the 'Client-Victim'
from communication with the 'Server'. Note also that both the client from communication with the 'Server'. Note also that the client is
and server are multi-homed. The attacker first guesses the port multi-homed. The attacker first guesses the port number our client
number our client uses in its association attempt. It then uses this will use in its association attempt. It then uses this port and sets
port and sets up an association with the server listing not only IP-A up an association with the server listing not only IP-A but also IP-C
but also IP-C as well in its initial INIT chunk. The server will as well in its initial INIT chunk. The server will respond and setup
respond and setup the association noting that the attacker is multi- the association noting that the attacker is multi-homed holding both
homed holding both IP-A and IP-C. IP-A and IP-C.
Next the victim sends in an INIT message listing its two valid Next the victim sends in an INIT message listing its two valid
addresses IP-C and IP-D. In response it will receive an ABORT addresses IP-C and IP-D. In response it will receive an ABORT
message with possibly an error code indicating that a new address was message with possibly an error code indicating that a new address was
added in its attempt to setup an existing association (a restart with added in its attempt to setup an existing association (a restart with
new addresses). At this point 'Client-Victim' is now prevented from new addresses). At this point 'Client-Victim' is now prevented from
setting up an association with the server until the server realizes setting up an association with the server until the server realizes
that the attacker does not hold the address IP-C at some future that the attacker does not hold the address IP-C at some future point
point. by using a HEARTBEAT based mechanism. See the mitigation option
subsection of this section.
2.2. Analysis 2.2. Analysis
This particular attack was discussed in detail on the SCTP This particular attack was discussed in detail on the SCTP
implementors list in March of 2003. Out of that discussion changes implementors list in March of 2003. Out of that discussion changes
were made in the BSD implementation that are now present in the were made in the BSD implementation that are now present in the RFC
SCTP-IG [3]. In closely examination this attack depends on a number 2960bis [3]. In close examination, this attack depends on a number
of specific things to occur. of specific things to occur.
1) The attacker must setup the association before the victim and must 1) The attacker must setup the association before the victim and must
correctly guess the port number that the victim will use. If the correctly guess the port number that the victim will use. If the
victim uses any other port number the attack will fail. victim uses any other port number the attack will fail.
2) SCTP's existing HEARTBEAT mechanism as defined in RFC2960 [2] will 2) SCTP's existing HEARTBEAT mechanism as defined already in RFC2960
eventually catch this situation and abort the evil attackers [1] will eventually catch this situation and abort the evil
association. This may take several seconds based on default attackers association. This may take several seconds based on
HEARTBEAT timers but the attacker himself will lose any default HEARTBEAT timers but the attacker himself will lose any
association. association.
3) If the victim is either not multi-homed, or the address set that 3) If the victim is either not multi-homed, or the address set that
it uses is completely camped upon by the attacker (in our example it uses is completely camped upon by the attacker (in our example
if the attacker had included IP-D in its INIT as well), then the if the attacker had included IP-D in its INIT as well), then the
client's INIT message would restart the attackers association client's INIT message would initiate an association between the
destroying it. client and the server while destroying the association between the
attacker and the server. From the servers' perspective this is a
restart of the association.
2.3. Mitigation option 2.3. Mitigation option
SCTP-IG [3] adds a new set of requirements to better counter this RFC 2960bis [3] adds a new set of requirements to better counter this
attack. In particular the HEARTBEAT mechanism was modified so that attack. In particular the HEARTBEAT mechanism was modified so that
addresses unknown to an endpoint (i.e. presented in an INIT with no addresses unknown to an endpoint (i.e. presented in an INIT with no
pre-knowledge given by the application) enter a new state called pre-knowledge given by the application) enter a new state called
"UNCONFIRMED". During the time that any address is UNCONFIRMED and "UNCONFIRMED". During the time that any address is UNCONFIRMED and
yet considered available, heartbeating will be done on those yet considered available, heartbeating will be done on those
UNCONFIRMED addresses at an accelerated rate. This will lessen the UNCONFIRMED addresses at an accelerated rate. This will lessen the
time that an attacker can "camp" on an address. In particular the time that an attacker can "camp" on an address. In particular the
rate of heartbeats to UNCONFIRMED addresses is done every RTO. Along rate of heartbeats to UNCONFIRMED addresses is done every RTO. Along
with this expanded rate of heartbeating, a new 64 bit random nonce is with this expanded rate of heartbeating, a new 64 bit random nonce is
required to be inside HEARTBEATs to UNCONFIRMED addresses. In the required to be inside HEARTBEATs to UNCONFIRMED addresses. In the
skipping to change at page 5, line 18 skipping to change at page 5, line 30
will prevent an attacker from generating false HEARTBEAT-ACKs with will prevent an attacker from generating false HEARTBEAT-ACKs with
the victims source address(es). In addition, clients which do not the victims source address(es). In addition, clients which do not
need to use a specific port number should choose their port numbers need to use a specific port number should choose their port numbers
on a random base. This makes it hard for an attacker to guess that on a random base. This makes it hard for an attacker to guess that
number. number.
3. Association hijacking 1 3. Association hijacking 1
Association hijacking is the ability of some other user to assume the Association hijacking is the ability of some other user to assume the
session created by another endpoint. In cases of a true man-in-the- session created by another endpoint. In cases of a true man-in-the-
middle only a strong end to end security model can prevent this. middle only a strong end-to-end security model can prevent this.
However with the addition of the ADD-IP [6] extension to SCTP a However with the addition of the ADD-IP [6] extension to SCTP an
endpoint that is NOT a man-in-the-middle may be able to assume endpoint that is NOT a man-in-the-middle may be able to assume
another endpoints association. another endpoints association.
3.1. Attack details 3.1. Attack details
The attack is made possible by any mechanism that lets an endpoint The attack is made possible by any mechanism that lets an endpoint
acquire some other IP address that was recently in use by an SCTP acquire some other IP address that was recently in use by an SCTP
endpoint. For example in a mobile network DHCP may be in use with endpoint. For example in a mobile network DHCP may be in use with
short IP address lifetimes to reassign IP addresses to migrant hosts. short IP address lifetimes to reassign IP addresses to migrant hosts.
skipping to change at page 6, line 18 skipping to change at page 6, line 38
peer is no longer at IP-A. Now at point 3 a new "evil" peer DHCP's peer is no longer at IP-A. Now at point 3 a new "evil" peer DHCP's
an address and happens to get the re-assigned address IP-A. Our an address and happens to get the re-assigned address IP-A. Our
Peer-Server sends a chunk of DATA at point 4. This reveals to the Peer-Server sends a chunk of DATA at point 4. This reveals to the
new owner of IP-A that the former owner of IP-A had an association new owner of IP-A that the former owner of IP-A had an association
with Peer-Server. So at point 5 the new owner of IP-A sends an INIT. with Peer-Server. So at point 5 the new owner of IP-A sends an INIT.
The INIT-ACK is sent back and inside it is a COOKIE. The cookie The INIT-ACK is sent back and inside it is a COOKIE. The cookie
would of course hold tie-tags which would list both sets of tags would of course hold tie-tags which would list both sets of tags
which could then be used at point 6 to add in any other IP addresses which could then be used at point 6 to add in any other IP addresses
that the owner of IP-A holds and thus acquire the association. that the owner of IP-A holds and thus acquire the association.
It should be noted that this attack is possible in general whenever
the attacker is able to send packets with source address IP-A and
receive packets with destination address IP-A.
3.2. Analysis 3.2. Analysis
This attack depends on a number of events: This attack depends on a number of events:
1) Both endpoints must support the ADD-IP [6] extension. 1) Both endpoints must support the ADD-IP [6] extension.
2) One of the endpoints must be using the ADD-IP [6] extension for 2) One of the endpoints must be using the ADD-IP [6] extension for
mobility. mobility.
3) The IP address must be acquired in such a way as to make the 3) The IP address must be acquired in such a way as to make the
skipping to change at page 6, line 42 skipping to change at page 7, line 20
adds its new address to the peer before the new "evil" peer gets adds its new address to the peer before the new "evil" peer gets
control of the association. control of the association.
5) The new "evil" peer must have an alternative address besides IP-A 5) The new "evil" peer must have an alternative address besides IP-A
that it can add to the association so it can delete IP-A that it can add to the association so it can delete IP-A
preventing the real peer from re-acquiring the association when it preventing the real peer from re-acquiring the association when it
finally retransmits the ASCONF (from step 2). finally retransmits the ASCONF (from step 2).
3.3. Mitigation option 3.3. Mitigation option
SCTP-IG [3] adds a new counter measure to this threat. It is now RFC 2960bis [3] adds a new counter measure to this threat. It is now
required that Tie-Tags in the State-Cookie parameter not be the required that Tie-Tags in the State-Cookie parameter not be the
actual tags. Instead a new set of two 32 bit nonces must be used to actual tags. Instead a new pair of two 32 bit nonces must be used to
represent the real tags within the association. This prevents the represent the real tags within the association. This prevents the
attacker from acquiring the real tags and thus prevents this attack. attacker from acquiring the real tags and thus prevents this attack.
Furthermore the use of the ADD-IP [6] extensions requires the use of Furthermore the use of the ADD-IP [6] extensions requires the use of
the authentication mechanism defined in SCTP-AUTH [5]. This requires the authentication mechanism defined in SCTP-AUTH [5]. This requires
the attacker to be able to capture the traffic during the association the attacker to be able to capture the traffic during the association
setup. If in addition an end-point pair shared key is used, setup. If in addition an end-point pair shared key is used,
capturing or intercepting these setup messages does not enable the capturing or intercepting these setup messages does not enable the
attacker to hijack the association. attacker to hijack the association.
4. Association hijacking 2 4. Association hijacking 2
Association hijacking is the ability of some other user to assume the Association hijacking is the ability of some other user to assume the
session created by another endpoint. In cases where an attacker can session created by another endpoint. In cases where an attacker can
take over an IP-address he can easily restart the association. If send packets using the victims IP-address as a source address and can
the peer does not pay attention to the restart notification the receive packets with the victims' address as destination address the
attacker has taken over the association. attacker can easily restart the association. If the peer does not
pay attention to the restart notification the attacker has taken over
the association.
4.1. Attack details 4.1. Attack details
Assume that an endpoint E1 having an IP-address A has an SCTP Assume that an endpoint E1 having an IP-address A has an SCTP
association with endpoint E2. After the attacker has taken over the association with endpoint E2. After the attacker is able to receive
IP-address A he waits for a packet from E2. After reception of the packets with destination address A and send packet with source
packet the attacker can perform a full four way handshake using the address A the attacker can perform a full four-way handshake using
the IP-addresses and port numbers from the received packet. E2 will the the IP-addresses and port numbers from the received packet. E2
consider this as a restart of the association. If and only if the will consider this as a restart of the association. If and only if
SCTP user of E2 does not process the restart notification the user the SCTP user of E2 does not process the restart notification the
will not recognize that that association just restarted. From his user will not recognize that that association just restarted. From
perspective the association has been hijacked. his perspective the association has been hijacked.
4.2. Analysis 4.2. Analysis
This attack depends on a number of circumstances: This attack depends on a number of circumstances:
1) The IP address must be acquired in such a way as to make the evil 1) The IP address must be acquired in such a way as to make the evil
endpoint the owner of that IP address as far as the network or endpoint the owner of that IP address as far as the network or
local LAN is concerned. local LAN is concerned.
2) The attacker must receive a packet belonging to the association or 2) The attacker must receive a packet belonging to the association or
connection. connection.
3) The other endpoints user does not pay attention to restart 3) The other endpoints user does not pay attention to restart
notifications. notifications.
4.3. Mitigation option 4.3. Mitigation option
It is important to note that this attack is not based on a weakness It is important to note that this attack is not based on a weakness
of the protocol but on the ignorance of the upper layer. This attack of the protocol but on the ignorance of the upper layer. This attack
is not possible if the upper layer processes the restart is not possible if the upper layer processes the restart
notifications provided by SCTP. Note that other IP protocols may notifications provided by SCTP as described in section 10 of RFC2960
also be effected by this attack. [1] or RFC 2960bis [3]. Note that other IP protocols may also be
effected by this attack.
5. Bombing attack (amplification) 1 5. Bombing attack (amplification) 1
The bombing attack is a method to get a server to amplify packets to The bombing attack is a method to get a server to amplify packets to
an innocent victim. an innocent victim.
5.1. Attack details 5.1. Attack details
This attack is performed by setting up an association with a peer and This attack is performed by setting up an association with a peer and
listing the victims IP address in the INIT's list of addresses. listing the victims IP address in the INIT's list of addresses.
skipping to change at page 8, line 25 skipping to change at page 8, line 49
large data transfer. After making the request the attacker does not large data transfer. After making the request the attacker does not
acknowledge data sent to it. This then causes the server to re- acknowledge data sent to it. This then causes the server to re-
transmit the data to the alternate address i.e. that of the victim. transmit the data to the alternate address i.e. that of the victim.
After waiting an appropriate time period the attacker acknowledges After waiting an appropriate time period the attacker acknowledges
the data for the victim. At some point the attackers address is the data for the victim. At some point the attackers address is
considered unreachable since only data sent to the victims address is considered unreachable since only data sent to the victims address is
acknowledged. At this point the attacker can send strategic acknowledged. At this point the attacker can send strategic
acknowledgments so that the server continues to send data to the acknowledgments so that the server continues to send data to the
victim. victim.
Alternatively, instead of stopping the sending of SACKs to enforce a
path failover, the attacker can use the ADD-IP extension to add the
address of the victim and make that address the primary path.
5.2. Analysis 5.2. Analysis
This attack depends on a number of circumstances: This attack depends on a number of circumstances:
1) The victim must NOT support SCTP, otherwise it would respond with 1) The victim must NOT support SCTP, otherwise it would respond with
an OOTB abort. an OOTB abort.
2) The attacker must time its sending of acknowledgments correctly in 2) The attacker must time its sending of acknowledgments correctly in
order to get its address into the failed state and the victims order to get its address into the failed state and the victims
address as the only valid alternative. address as the only valid alternative.
3) The attacker must guess TSN values that are accepted by the 3) The attacker must guess TSN values that are accepted by the
receiver once the bombing begins since it must acknowledge packets receiver once the bombing begins since it must acknowledge packets
it no longer is seeing. it no longer is seeing.
5.3. Mitigation option 5.3. Mitigation option
SCTP-IG [3] makes two changes to prevent this attack. First it RFC 2960bis [3] makes two changes to prevent this attack. First it
details out proper handling of ICMP messages. With SCTP the ICMP details out proper handling of ICMP messages. With SCTP the ICMP
messages provide valuable clues to the SCTP stack that can be messages provide valuable clues to the SCTP stack that can be
verified with the tags for authenticity. Proper handling of an ICMP verified with the tags for authenticity. Proper handling of an ICMP
protocol unreachable (or equivalent) would cause the association protocol unreachable (or equivalent) would cause the association
setup by the attacker to be immediately failed upon the first setup by the attacker to be immediately failed upon the first
retransmission to the victims address. retransmission to the victims address.
The second change made in SCTP-IG [3] is the requirement that no The second change made in RFC 2960bis [3] is the requirement that no
address that is not CONFIRMED is allowed to have DATA chunks sent to address that is not CONFIRMED is allowed to have DATA chunks sent to
it. This prevents the switch-over to the alternate address from it. This prevents the switch-over to the alternate address from
occurring even when ICMP messages are lost in the network and occurring even when ICMP messages are lost in the network and
prevents any DATA chunks from being sent to any other destination prevents any DATA chunks from being sent to any other destination
other then the attacker itself. other then the attacker itself. This also prevents the alternative
way of using ADD-IP to add the new address and make it the primary
address.
An SCTP implementation should abort the association if it receives a An SCTP implementation should abort the association if it receives a
SACK acknowledging a TSN which has not been sent. This makes TSN SACK acknowledging a TSN which has not been sent. This makes TSN
guessing for the attacker quite hard because if the attacker guessing for the attacker quite hard because if the attacker
acknowledges one TSN too fast the association will be aborted. acknowledges one TSN too fast the association will be aborted.
6. Bombing attack (amplification) 2 6. Bombing attack (amplification) 2
This attack allows an attacker to use an arbitrary SCTP endpoint to This attack allows an attacker to use an arbitrary SCTP endpoint to
send multiple packets to a victim in response to one packet. send multiple packets to a victim in response to one packet.
6.1. Attack details 6.1. Attack details
The attacker sends an INIT listing multiple IP addresses of the The attacker sends an INIT listing multiple IP addresses of the
victim in the INIT's list of addresses to an arbitrary endpoint. victim in the INIT's list of addresses to an arbitrary endpoint.
Optionally it request a long cookie life time. Upon reception of the Optionally it request a long cookie life time. Upon reception of the
INIT-ACK it stores the cookie and sends it back to the other INIT-ACK it stores the cookie and sends it back to the other
endpoint. When the other endpoint receives the COOKIE it will send endpoint. When the other endpoint receives the COOKIE it will send
back a COOKIE-ACK to the attacker and up to Max.Burst HEARTBEATS to back a COOKIE-ACK to the attacker and up to HB.Max.Burst HEARTBEATS
the victim('s) (to confirm addresses). The victim responds with to the victim's address(es) (to confirm these addresses). The victim
ABORTs or ICMP messages resulting in the removal of the TCB at the responds with ABORTs or ICMP messages resulting in the removal of the
other endpoint. The attacker can now resend the stored cookie as TCB at the other endpoint. The attacker can now resend the stored
long as it is valid and this will again result in up to Max.Burst cookie as long as it is valid and this will again result in up to
HEARTBEATs sent to the victim('s). HB.Max.Burst HEARTBEATs sent to the victim('s).
6.2. Analysis 6.2. Analysis
The multiplication factor is limited by the number of addresses of The multiplication factor is limited by the number of addresses of
the victim and of the end point Max.Burst. Also the shorter the the victim and of the end point HB.Max.Burst. Also the shorter the
cookie life time is, the earlier the attacker has to go through the cookie life time is, the earlier the attacker has to go through the
initial stage of sending an INIT instead of the just sending the initial stage of sending an INIT instead of the just sending the
COOKIE. It should also be noted that the attack is more effective if COOKIE. It should also be noted that the attack is more effective if
large HEARTBEATs are used for path confirmation. large HEARTBEATs are used for path confirmation.
6.3. Mitigation option 6.3. Mitigation option
To limit the effectiveness of this attack and end point should To limit the effectiveness of this attack the new parameter
HB.Max.Burst was introduced in RFC 2960bis [3] and an end point
should:
1) not allow very large cookie lifetimes, even if they are requested. 1) not allow very large cookie lifetimes, even if they are requested.
2) not use larger Max.Burst parameter values than recommended or 2) not use larger HB.Max.Burst parameter values than recommended.
alternatively only send one CONFIRMATION Heartbeat per RTT. Note Note that an endpoint may decide to send only one Heartbeat per
that an endpoint may decide to send only one Heartbeat per RTT RTT instead of the maximum (i.e. HB.Max.Burst). An endpoint that
instead of the maximum (i.e. Max.Burst). An endpoint that
chooses this approach will however slow down detection of chooses this approach will however slow down detection of
endpoints camping on valid addresses. endpoints camping on valid addresses.
3) not use large HEARTBEATs for path confirmation. 3) not use large HEARTBEATs for path confirmation.
7. Association redirection 7. Association redirection
This attack allows an attacker to mis-setup an association to a This attack allows an attacker to wrongly setup an association to a
different endpoint. different endpoint.
7.1. Attack details 7.1. Attack details
The attacker sends an INIT sourced from port 'X' and directed towards The attacker sends an INIT sourced from port 'X' and directed towards
port 'Y'. When the INIT-ACK is returned the attacker sends the port 'Y'. When the INIT-ACK is returned the attacker sends the
COOKIE-ECHO chunk and either places a different destination or source COOKIE-ECHO chunk and either places a different destination or source
port in the SCTP common header i.e. X+1 or Y+1. This then set's up port in the SCTP common header, i.e., X+1 or Y+1. This then sets up
the association with possibly other endpoints. the association with possibly other endpoints.
7.2. Analysis 7.2. Analysis
This attack depends on the failure of an SCTP implementation to store This attack depends on the failure of an SCTP implementation to store
and verify the ports within the COOKIE structure. and verify the ports within the COOKIE structure.
7.3. Mitigation option 7.3. Mitigation option
This attack is easily defeated by an implementation including the This attack is easily defeated by an implementation including the
skipping to change at page 11, line 20 skipping to change at page 12, line 9
8.2. Analysis 8.2. Analysis
This attack depends on the fact that the SCTP endpoint does not This attack depends on the fact that the SCTP endpoint does not
support bundling on the sending side or provides a bad implementation support bundling on the sending side or provides a bad implementation
of bundling on the sending side. of bundling on the sending side.
8.3. Mitigation option 8.3. Mitigation option
First of all, path verification must happen before sending other First of all, path verification must happen before sending other
chunks then HEARTBEATs for path verification. This makes sure that chunks than HEARTBEATs for path verification. This makes sure that
the above attack can not be used against other hosts. To avoid the the above attack can not be used against other hosts. To avoid the
attack, an SCTP endpoint should implement bundling on the sending attack, an SCTP endpoint should implement bundling on the sending
side and should not send multiple packets in response. If the SCTP side and should not send multiple packets in response. If the SCTP
endpoint does not support bundling on the sending side it should not endpoint does not support bundling on the sending side it should not
send in general more than one packet in response to a received one. send in general more than one packet in response to a received one.
The details of the required handling are described in the SCTP-IG The details of the required handling are described in the RFC 2960bis
[3]. [3].
9. Bombing attack (amplification) 4 9. Bombing attack (amplification) 4
This attack allows an attacker to use an SCTP server to send a larger This attack allows an attacker to use an SCTP server to send a larger
packets to a victim than it sent to the SCTP server. packets to a victim than it sent to the SCTP server.
9.1. Attack details 9.1. Attack details
The attacker sends packets using the victim's address as the source The attacker sends packets using the victim's address as the source
skipping to change at page 12, line 5 skipping to change at page 12, line 41
This attack is a byte and not a packet amplification attack and This attack is a byte and not a packet amplification attack and
without protocol changes hard to avoid. A possible method would be without protocol changes hard to avoid. A possible method would be
the usage of the PAD parameter defined in SCTP-PAD [4]. the usage of the PAD parameter defined in SCTP-PAD [4].
9.3. Mitigation option 9.3. Mitigation option
A server should be implemented in a way that the generated INIT-ACK A server should be implemented in a way that the generated INIT-ACK
chunks are as small as possible. chunks are as small as possible.
10. Security Considerations 10. Bombing attack (amplification) 5
This attack allows an attacker to use an SCTP endpoint to send a
large number of packets in response to one packet.
10.1. Attack details
The attacker sends a packet to an SCTP endpoint which requires the
sending of multiple chunks. If the MTU towards the attacker is
smaller than the MTU towards the victim, the victim might need to
send more than one packet to send all the chunks. The difference
between the MTUs might be extremely large if the attacker sends
malicious ICMP packets to make use of the path MTU discovery.
10.2. Analysis
This attack depends on the fact that an SCTP implementation might not
not limit the number of response packets correctly.
10.3. Mitigation option
First of all, path verification must happen before sending other
chunks than HEARTBEATs for path verification. This makes sure that
the above attack can not be used against other hosts. To avoid the
attack, an SCTP endpoint should not send multiple packets in response
to a single packet. The chunks not fitting in this packet should be
dropped.
11. Security Considerations
This document is about security and there is nothing to be added to This document is about security and there is nothing to be added to
it in this section. it in this section.
11. IANA considerations 12. IANA considerations
There are no actions required from IANA. There are no actions required from IANA.
12. Informative References 13. References
[1] Aura, T., Nikander, P., and G. Camarillo, "Effects of Mobility 13.1. Normative References
and Multihoming on Transport-Layer Security", December 2003.
[2] Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer, [1] Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer,
H., Taylor, T., Rytina, I., Kalla, M., Zhang, L., and V. Paxson, H., Taylor, T., Rytina, I., Kalla, M., Zhang, L., and V. Paxson,
"Stream Control Transmission Protocol", RFC 2960, October 2000. "Stream Control Transmission Protocol", RFC 2960, October 2000.
[3] Stewart, R., Arias-Rodriguez, I., Poon, K., Caro, A., and M. [2] Stewart, R., Arias-Rodriguez, I., Poon, K., Caro, A., and M.
Tuexen, "Stream Control Transmission Protocol (SCTP) Tuexen, "Stream Control Transmission Protocol (SCTP)
Specification Errata and Issues", RFC 4460, April 2006. Specification Errata and Issues", RFC 4460, April 2006.
[3] Stewart, R., "Stream Control Transmission Protocol",
draft-ietf-tsvwg-2960bis-04 (work in progress), April 2007.
[4] Tuexen, M., Stewart, R., and P. Lei, "Padding Chunk and [4] Tuexen, M., Stewart, R., and P. Lei, "Padding Chunk and
Parameter for the Stream Control Transmission Protocol (SCTP)", Parameter for the Stream Control Transmission Protocol (SCTP)",
RFC 4820, March 2007. RFC 4820, March 2007.
[5] Tuexen, M., Stewart, R., Lei, P., and E. Rescorla, [5] Tuexen, M., "Authenticated Chunks for Stream Control
"Authenticated Chunks for Stream Control Transmission Protocol Transmission Protocol (SCTP)", draft-ietf-tsvwg-sctp-auth-08
(SCTP)", draft-ietf-tsvwg-sctp-auth (work in progress), (work in progress), February 2007.
September 2006.
[6] Stewart, R., "Stream Control Transmission Protocol (SCTP) [6] Stewart, R., "Stream Control Transmission Protocol (SCTP)
Dynamic Address Reconfiguration", Dynamic Address Reconfiguration",
draft-ietf-tsvwg-addip-sctp-19 (work in progress), March 2007. draft-ietf-tsvwg-addip-sctp-20 (work in progress), April 2007.
13.2. Informative References
[7] Aura, T., Nikander, P., and G. Camarillo, "Effects of Mobility
and Multihoming on Transport-Layer Security", Security and
Privacy 2004, IEEE Symposium , URL http://
research.microsoft.com/users/tuomaura/Publications/
aura-nikander-camarillo-ssp04.pdf, May 2004.
Authors' Addresses Authors' Addresses
Randall R. Stewart Randall R. Stewart
Cisco Systems, Inc. Cisco Systems, Inc.
4785 Forest Drive 4785 Forest Drive
Suite 200 Suite 200
Columbia, SC 29206 Columbia, SC 29206
USA USA
 End of changes. 44 change blocks. 
100 lines changed or deleted 161 lines changed or added

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