draft-ietf-tcpm-tcpsecure-12.txt   draft-ietf-tcpm-tcpsecure-13.txt 
TCP Maintenance and Minor A. Ramaiah TCP Maintenance and Minor A. Ramaiah
Extensions Working Group Cisco Systems Extensions Working Group Cisco Systems
Internet-Draft R. Stewart Internet-Draft R. Stewart
Updates: 793 (if approved) Researcher Intended status: Standards Track Huawei
Intended status: Standards Track M. Dalal Expires: November 4, 2010 M. Dalal
Expires: March 17, 2010 Cisco Systems Cisco Systems
September 13, 2009 May 3, 2010
Improving TCP's Robustness to Blind In-Window Attacks Improving TCP's Robustness to Blind In-Window Attacks
draft-ietf-tcpm-tcpsecure-12.txt draft-ietf-tcpm-tcpsecure-13.txt
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
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
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on March 17, 2010.
Copyright Notice
Copyright (c) 2009 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 in effect on the date of
publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document.
Abstract Abstract
TCP has historically been considered protected against spoofed off- TCP has historically been considered protected against spoofed off-
path packet injection attacks by relying on the fact that it is path packet injection attacks by relying on the fact that it is
difficult to guess the 4-tuple (the source and destination IP difficult to guess the 4-tuple (the source and destination IP
addresses and the source and destination ports) in combination with addresses and the source and destination ports) in combination with
the 32 bit sequence number(s). A combination of increasing window the 32 bit sequence number(s). A combination of increasing window
sizes and applications using longer term connections (e.g. H-323 or sizes and applications using longer term connections (e.g. H-323 or
Border Gateway Protocol [RFC4271]) have left modern TCP Border Gateway Protocol [RFC4271]) have left modern TCP
skipping to change at page 3, line 5 skipping to change at page 1, line 37
addresses and ports which makes it far easier for the 4-tuple addresses and ports which makes it far easier for the 4-tuple
(4-tuple is the same as the socket pair mentioned in [RFC0793]) to be (4-tuple is the same as the socket pair mentioned in [RFC0793]) to be
guessed. Having guessed the 4-tuple correctly, an attacker can guessed. Having guessed the 4-tuple correctly, an attacker can
inject a TCP segment with the RST bit set, the SYN bit set or data inject a TCP segment with the RST bit set, the SYN bit set or data
into a TCP connection by systematically guessing the sequence number into a TCP connection by systematically guessing the sequence number
of the spoofed segment to be in the current receive window. This can of the spoofed segment to be in the current receive window. This can
cause the connection to abort or cause data corruption. This cause the connection to abort or cause data corruption. This
document specifies small modifications to the way TCP handles inbound document specifies small modifications to the way TCP handles inbound
segments that can reduce the chances of a successful attack. segments that can reduce the chances of a successful attack.
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 November 4, 2010.
Copyright Notice
Copyright (c) 2010 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.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. Applicability Statement . . . . . . . . . . . . . . . . . 4 1.1. Applicability Statement . . . . . . . . . . . . . . . . . 4
1.2. Basic Attack Methodology . . . . . . . . . . . . . . . . . 5 1.2. Basic Attack Methodology . . . . . . . . . . . . . . . . . 5
1.3. Attack probabilities . . . . . . . . . . . . . . . . . . . 6 1.3. Attack probabilities . . . . . . . . . . . . . . . . . . . 6
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 8 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 8
3. Blind reset attack using the RST bit . . . . . . . . . . . . . 9 3. Blind reset attack using the RST bit . . . . . . . . . . . . . 9
3.1. Description of the attack . . . . . . . . . . . . . . . . 9 3.1. Description of the attack . . . . . . . . . . . . . . . . 9
3.2. Mitigation . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2. Mitigation . . . . . . . . . . . . . . . . . . . . . . . . 9
skipping to change at page 3, line 27 skipping to change at page 3, line 27
4.2. Mitigation . . . . . . . . . . . . . . . . . . . . . . . . 11 4.2. Mitigation . . . . . . . . . . . . . . . . . . . . . . . . 11
5. Blind data injection attack . . . . . . . . . . . . . . . . . 13 5. Blind data injection attack . . . . . . . . . . . . . . . . . 13
5.1. Description of the attack . . . . . . . . . . . . . . . . 13 5.1. Description of the attack . . . . . . . . . . . . . . . . 13
5.2. Mitigation . . . . . . . . . . . . . . . . . . . . . . . . 14 5.2. Mitigation . . . . . . . . . . . . . . . . . . . . . . . . 14
6. Suggested Mitigation strengths . . . . . . . . . . . . . . . . 15 6. Suggested Mitigation strengths . . . . . . . . . . . . . . . . 15
7. ACK throttling . . . . . . . . . . . . . . . . . . . . . . . . 16 7. ACK throttling . . . . . . . . . . . . . . . . . . . . . . . . 16
8. Backward Compatibility and Other considerations . . . . . . . 17 8. Backward Compatibility and Other considerations . . . . . . . 17
9. Middlebox considerations . . . . . . . . . . . . . . . . . . . 18 9. Middlebox considerations . . . . . . . . . . . . . . . . . . . 18
9.1. Middlebox that resend RST's . . . . . . . . . . . . . . . 18 9.1. Middlebox that resend RST's . . . . . . . . . . . . . . . 18
9.2. Middleboxes that advance sequence numbers . . . . . . . . 18 9.2. Middleboxes that advance sequence numbers . . . . . . . . 18
9.3. Middleboxes that drop the challenge ACK . . . . . . . . . 19
10. Security Considerations . . . . . . . . . . . . . . . . . . . 20 10. Security Considerations . . . . . . . . . . . . . . . . . . . 20
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21
12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 22 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 22
13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 23 13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 23
14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 24 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 24
14.1. Normative References . . . . . . . . . . . . . . . . . . . 24 14.1. Normative References . . . . . . . . . . . . . . . . . . . 24
14.2. Informative References . . . . . . . . . . . . . . . . . . 24 14.2. Informative References . . . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 26 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 26
1. Introduction 1. Introduction
skipping to change at page 7, line 42 skipping to change at page 7, line 42
For applications that can use the TCP MD5 option [RFC2385], such as For applications that can use the TCP MD5 option [RFC2385], such as
BGP, that option makes the attacks described in this specification BGP, that option makes the attacks described in this specification
effectively impossible. However, some applications or effectively impossible. However, some applications or
implementations may find that option expensive to implement. implementations may find that option expensive to implement.
There are alternative protections against the threats that this There are alternative protections against the threats that this
document addresses. For further details regarding the attacks and document addresses. For further details regarding the attacks and
the existing techniques, please refer to [RFC4953]. It also needs to the existing techniques, please refer to [RFC4953]. It also needs to
be emphasized that, as suggested in be emphasized that, as suggested in
[I-D.ietf-tsvwg-port-randomization](port randomization) and [RFC1948] [I-D.ietf-tsvwg-port-randomization] and [RFC1948], port randomization
(ISN randomization) would help improve the robustness of the TCP and ISN randomization would help improve the robustness of the TCP
connection against off-path attacks. connection against off-path attacks.
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. TCP document are to be interpreted as described in [RFC2119]. TCP
terminology should be interpreted as described in [RFC0793]. terminology should be interpreted as described in [RFC0793].
3. Blind reset attack using the RST bit 3. Blind reset attack using the RST bit
skipping to change at page 20, line 5 skipping to change at page 19, line 21
3. ESTABLISHED <-- <SEQ=800><ACK=100><CTL=RST> <-- CLOSED 3. ESTABLISHED <-- <SEQ=800><ACK=100><CTL=RST> <-- CLOSED
4. ESTABLISHED --> <SEQ=100><ACK=300><WND=500><CTL=ACK> --> CLOSED 4. ESTABLISHED --> <SEQ=100><ACK=300><WND=500><CTL=ACK> --> CLOSED
5. ESTABLISHED <-- <SEQ=800><ACK=100><CTL=RST> <-- CLOSED 5. ESTABLISHED <-- <SEQ=800><ACK=100><CTL=RST> <-- CLOSED
Although the authors are not aware of an implementation that does the Although the authors are not aware of an implementation that does the
above, it could be mitigated by implementing the ACK throttling above, it could be mitigated by implementing the ACK throttling
mechanism described earlier. mechanism described earlier.
9.3. Middleboxes that drop the challenge ACK
It also needs to be noted that, some middleboxes (Firewalls/NATs)
which doesn't have the fix recommended in the document, may drop the
challenge ACK. This can happen because, the original RST segment
which was in window had already cleared the flow state pertaining to
the TCP connection in the middlebox. In such cases, the end hosts
which have implemented the RST mitigation described in this document,
will have the TCP connection left open. This is a corner case and
can go away if the middlebox is conformant with the changes proposed
in this document.
10. Security Considerations 10. Security Considerations
These changes to the TCP state machine do NOT protect an These changes to the TCP state machine do NOT protect an
implementation from on-path attacks. It also needs to be emphasized implementation from on-path attacks. It also needs to be emphasized
that while mitigations within this document make it harder for off- that while mitigations within this document make it harder for off-
path attackers to inject segments, it does NOT make it impossible. path attackers to inject segments, it does NOT make it impossible.
The only way to fully protect a TCP connection from both on and off The only way to fully protect a TCP connection from both on and off
path attacks is by using either IPSEC-AH [RFC4302] or IPSEC-ESP path attacks is by using either IPSEC-AH [RFC4302] or IPSEC-ESP
[RFC4303]. [RFC4303].
skipping to change at page 23, line 10 skipping to change at page 23, line 10
attacks. Shrirang Bage of Cisco Systems, Qing Li and Preety Puri of attacks. Shrirang Bage of Cisco Systems, Qing Li and Preety Puri of
Wind River Systems and Xiaodan Tang of QNX Software along with the Wind River Systems and Xiaodan Tang of QNX Software along with the
folks above helped in ratifying and testing the interoperability of folks above helped in ratifying and testing the interoperability of
the suggested solutions. the suggested solutions.
13. Acknowledgments 13. Acknowledgments
Special thanks to Mark Allman, Ted Faber, Steve Bellovin, Vern Special thanks to Mark Allman, Ted Faber, Steve Bellovin, Vern
Paxson, Allison Mankin, Sharad Ahlawat, Damir Rajnovic, John Wong, Paxson, Allison Mankin, Sharad Ahlawat, Damir Rajnovic, John Wong,
Joe Touch, Alfred Hoenes, Andre Oppermann, Fernando Gont, Sandra Joe Touch, Alfred Hoenes, Andre Oppermann, Fernando Gont, Sandra
Murphy, Brian Carpenter and other members of the tcpm WG for Murphy, Brian Carpenter, Cullen Jennings and other members of the
suggestions and comments. ACK throttling was introduced to this tcpm WG for suggestions and comments. ACK throttling was introduced
document by combining the suggestions from the tcpm working group. to this document by combining the suggestions from the tcpm working
group.
14. References 14. References
14.1. Normative References 14.1. Normative References
[RFC0793] Postel, J., "Transmission Control Protocol", STD 7, [RFC0793] Postel, J., "Transmission Control Protocol", STD 7,
RFC 793, September 1981. RFC 793, September 1981.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
14.2. Informative References 14.2. Informative References
[I-D.ietf-tcpm-icmp-attacks] [I-D.ietf-tcpm-icmp-attacks]
Gont, F., "ICMP attacks against TCP", Gont, F., "ICMP attacks against TCP",
draft-ietf-tcpm-icmp-attacks-06 (work in progress), draft-ietf-tcpm-icmp-attacks-12 (work in progress),
August 2009. March 2010.
[I-D.ietf-tsvwg-port-randomization] [I-D.ietf-tsvwg-port-randomization]
Larsen, M. and F. Gont, "Port Randomization", Larsen, M. and F. Gont, "Transport Protocol Port
draft-ietf-tsvwg-port-randomization-04 (work in progress), Randomization Recommendations",
July 2009. draft-ietf-tsvwg-port-randomization-07 (work in progress),
April 2010.
[Medina05] [Medina05]
Medina, A., Allman, M., and S. Floyd, "Measuring the Medina, A., Allman, M., and S. Floyd, "Measuring the
Evolution of Transport Protocols in the Internet. ACM Evolution of Transport Protocols in the Internet. ACM
Computer Communication Review, 35(2), April 2005. Computer Communication Review, 35(2), April 2005.
http://www.icir.org/mallman/papers/tcp-evo-ccr05.ps http://www.icir.org/mallman/papers/tcp-evo-ccr05.ps
(figure 6)". (figure 6)".
[NISCC] NISCC, "NISCC Vulnerability Advisory 236929 - [NISCC] NISCC, "NISCC Vulnerability Advisory 236929 -
Vulnerability Issues in TCP". Vulnerability Issues in TCP".
skipping to change at page 26, line 17 skipping to change at page 26, line 17
Anantha Ramaiah Anantha Ramaiah
Cisco Systems Cisco Systems
170 Tasman Drive 170 Tasman Drive
San Jose, CA 95134 San Jose, CA 95134
USA USA
Phone: +1 (408) 525-6486 Phone: +1 (408) 525-6486
Email: ananth@cisco.com Email: ananth@cisco.com
Randall R. Stewart Randall R. Stewart
Researcher Huawei
Chapin 148 Crystal Cove Ct
SC 29036 Chapin, SC 29036
USA USA
Phone: +1 (803) 345-0369 Phone: +1 (803) 345-0369
Email: randall@lakerest.net Email: rstewart@huawei.com
Mitesh Dalal Mitesh Dalal
Cisco Systems Cisco Systems
170 Tasman Drive 170 Tasman Drive
San Jose, CA 95134 San Jose, CA 95134
USA USA
Phone: +1 (408) 853-5257 Phone: +1 (408) 853-5257
Email: mdalal@cisco.com Email: mdalal@cisco.com
 End of changes. 11 change blocks. 
53 lines changed or deleted 66 lines changed or added

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