draft-ietf-dots-requirements-01.txt   draft-ietf-dots-requirements-02.txt 
DOTS A. Mortensen DOTS A. Mortensen
Internet-Draft Arbor Networks, Inc. Internet-Draft Arbor Networks, Inc.
Intended status: Informational R. Moskowitz Intended status: Informational R. Moskowitz
Expires: September 19, 2016 HTT Consulting Expires: January 9, 2017 HTT Consulting
T. Reddy T. Reddy
Cisco Systems, Inc. Cisco Systems, Inc.
March 18, 2016 July 08, 2016
Distributed Denial of Service (DDoS) Open Threat Signaling Requirements Distributed Denial of Service (DDoS) Open Threat Signaling Requirements
draft-ietf-dots-requirements-01 draft-ietf-dots-requirements-02
Abstract Abstract
This document defines the requirements for the Distributed Denial of This document defines the requirements for the Distributed Denial of
Service (DDoS) Open Threat Signaling (DOTS) protocols coordinating Service (DDoS) Open Threat Signaling (DOTS) protocols coordinating
attack response against DDoS attacks. attack response against DDoS attacks.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 35 skipping to change at page 1, line 35
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
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."
This Internet-Draft will expire on September 19, 2016. This Internet-Draft will expire on January 9, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 13 skipping to change at page 2, line 13
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Context and Motivation . . . . . . . . . . . . . . . . . 2 1.1. Context and Motivation . . . . . . . . . . . . . . . . . 2
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1. General Requirements . . . . . . . . . . . . . . . . . . 6 2.1. General Requirements . . . . . . . . . . . . . . . . . . 7
2.2. Operational Requirements . . . . . . . . . . . . . . . . 7 2.2. Operational Requirements . . . . . . . . . . . . . . . . 8
2.3. Data Channel Requirements . . . . . . . . . . . . . . . . 10 2.3. Data Channel Requirements . . . . . . . . . . . . . . . . 10
2.4. Security requirements . . . . . . . . . . . . . . . . . . 11 2.4. Security requirements . . . . . . . . . . . . . . . . . . 11
3. Congestion Control Considerations . . . . . . . . . . . . . . 12 2.5. Data Model Requirements . . . . . . . . . . . . . . . . . 12
4. Security Considerations . . . . . . . . . . . . . . . . . . . 12 3. Congestion Control Considerations . . . . . . . . . . . . . . 13
5. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 12 3.1. Signal Channel . . . . . . . . . . . . . . . . . . . . . 13
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 3.2. Data Channel . . . . . . . . . . . . . . . . . . . . . . 13
7. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 13 4. Security Considerations . . . . . . . . . . . . . . . . . . . 14
7.1. 01 revision . . . . . . . . . . . . . . . . . . . . . . . 13 5. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 14
7.2. 00 revision . . . . . . . . . . . . . . . . . . . . . . . 13 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14
7.3. Initial revision . . . . . . . . . . . . . . . . . . . . 13 7. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 14
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 7.1. 02 revision . . . . . . . . . . . . . . . . . . . . . . . 14
8.1. Normative References . . . . . . . . . . . . . . . . . . 14 7.2. 01 revision . . . . . . . . . . . . . . . . . . . . . . . 14
8.2. Informative References . . . . . . . . . . . . . . . . . 14 7.3. 00 revision . . . . . . . . . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 7.4. Initial revision . . . . . . . . . . . . . . . . . . . . 15
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 15
8.1. Normative References . . . . . . . . . . . . . . . . . . 15
8.2. Informative References . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17
1. Introduction 1. Introduction
1.1. Context and Motivation 1.1. Context and Motivation
Distributed Denial of Service (DDoS) attacks continue to plague Distributed Denial of Service (DDoS) attacks continue to plague
networks around the globe, from Tier-1 service providers on down to networks around the globe, from Tier-1 service providers on down to
enterprises and small businesses. Attack scale and frequency enterprises and small businesses. Attack scale and frequency
similarly have continued to increase, in part as a result of software similarly have continued to increase, in part as a result of software
vulnerabilities leading to reflection and amplification attacks. vulnerabilities leading to reflection and amplification attacks.
Once staggering attack traffic volume is now the norm, and the impact Once staggering attack traffic volume is now the norm, and the impact
of larger-scale attacks attract the attention of international press of larger-scale attacks attract the attention of international press
agencies. agencies.
The greater impact of contemporary DDoS attacks has led to increased The greater impact of contemporary DDoS attacks has led to increased
focus on coordinated attack response. Many institutions and focus on coordinated attack response. Many institutions and
enterprises lack the resources or expertise to operate on-premise enterprises lack the resources or expertise to operate on-premise
attack prevention solutions themselves, or simply find themselves attack mitigation solutions themselves, or simply find themselves
constrained by local bandwidth limitations. To address such gaps, constrained by local bandwidth limitations. To address such gaps,
security service providers have begun to offer on-demand traffic security service providers have begun to offer on-demand traffic
scrubbing services. Each service offers its own interface for scrubbing services, which aim to separate the DDoS traffic from
subscribers to request attack mitigation, tying subscribers to legitimate traffic and forward only the latter. Today each such
proprietary implementations while also limiting the subset of network service offers its own interface for subscribers to request attack
elements capable of participating in the attack response. As a mitigation, tying subscribers to proprietary implementations while
result of incompatibility across services, attack responses may be also limiting the subset of network elements capable of participating
fragmentary or otherwise incomplete, leaving key players in the in the attack response. As a result of incompatibility across
attack path unable to assist in the defense. services, attack responses may be fragmentary or otherwise
incomplete, leaving key players in the attack path unable to assist
in the defense.
The lack of a common method to coordinate a real-time response among The lack of a common method to coordinate a real-time response among
involved actors and network domains inhibits the speed and involved actors and network domains inhibits the speed and
effectiveness of DDoS attack mitigation. This document describes the effectiveness of DDoS attack mitigation. This document describes the
required characteristics of DOTS protocols that would mitigate required characteristics of a DOTS protocol enabling requests for
contemporary DDoS attack impact and lead to more efficient defensive DDoS attack mitigation, reducing attack impact and leading to more
strategies. efficient defensive strategies.
DOTS is less concerned with the form of defensive action than with DOTS communicates the need for defensive action in anticipation of or
communicating the need for that action. DOTS supplements calls for in response to an attack, but does not dictate the form any defensive
help with pertinent details about the detected attack, allowing action takes. DOTS supplements calls for help with pertinent details
entities participating in DOTS to form ad hoc, adaptive alliances about the detected attack, allowing entities participating in DOTS to
against DDoS attacks as described in the DOTS use cases form ad hoc, adaptive alliances against DDoS attacks as described in
[I-D.ietf-dots-use-cases]. The requirements in this document are the DOTS use cases [I-D.ietf-dots-use-cases]. The requirements in
derived from those use cases. this document are derived from those use cases and
[I-D.ietf-dots-architecture].
1.2. Terminology 1.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]. document are to be interpreted as described in [RFC2119].
This document adopts the following terms: This document adopts the following terms:
DDoS: A distributed denial-of-service attack, in which of traffic DDoS: A distributed denial-of-service attack, in which traffic
originating from multiple sources are directed at a target on a originating from multiple sources are directed at a target on a
network. DDoS attacks are intended to cause a negative impact on network. DDoS attacks are intended to cause a negative impact on
the availability of servers, services, applications, and/or other the availability of servers, services, applications, and/or other
functionality of an attack target. Denial-of-service functionality of an attack target. Denial-of-service
considerations are discussed in detail in [RFC4732]. considerations are discussed in detail in [RFC4732].
DDoS attack target: A networked server, network service or DDoS attack target: A network connected entity with a finite set of
application that is the focus of a DDoS attack. resources, such as network bandwidth, memory or CPU, that is the
focus of a DDoS attack. Potential targets include servers,
services and applications.
DDoS attack telemetry: Collected network traffic characteristics DDoS attack telemetry: Collected behavioral characteristics defining
defining the nature of a DDoS attack. This document makes no the nature of a DDoS attack. This document makes no assumptions
assumptions regarding telemetry collection methodology. regarding telemetry collection methodology.
Countermeasure: An action or set of actions taken to recognize and Countermeasure: An action or set of actions taken to recognize and
filter out DDoS attack traffic while passing legitimate traffic to filter out DDoS attack traffic while passing legitimate traffic to
the attack target. the attack target.
Mitigation: A set of countermeasures enforced against traffic Mitigation: A set of countermeasures enforced against traffic
destined for the target or targets of a detected or reported DDoS destined for the target or targets of a detected or reported DDoS
attack, where countermeasure enforcement is managed by an entity attack, where countermeasure enforcement is managed by an entity
in the network path between attack sources and the attack target. in the network path between attack sources and the attack target.
Mitigation methodology is out of scope for this document. Mitigation methodology is out of scope for this document.
skipping to change at page 4, line 20 skipping to change at page 4, line 31
the purposes of this document, this entity is a black box capable the purposes of this document, this entity is a black box capable
of mitigation, making no assumptions about availability or design of mitigation, making no assumptions about availability or design
of countermeasures, nor about the programmable interface between of countermeasures, nor about the programmable interface between
this entity and other network elements. The mitigator and DOTS this entity and other network elements. The mitigator and DOTS
server are assumed to belong to the same administrative entity. server are assumed to belong to the same administrative entity.
DOTS client: A DOTS-aware software module responsible for requesting DOTS client: A DOTS-aware software module responsible for requesting
attack response coordination with other DOTS-aware elements. attack response coordination with other DOTS-aware elements.
DOTS server: A DOTS-aware software module handling and responding to DOTS server: A DOTS-aware software module handling and responding to
messages from DOTS clients. The DOTS server MAY enable mitigation messages from DOTS clients. The DOTS server SHOULD enable
on behalf of the DOTS client, if requested, by communicating the mitigation on behalf of the DOTS client, if requested, by
DOTS client's request to the mitigator and relaying any mitigator communicating the DOTS client's request to the mitigator and
feedback to the requesting DOTS client. A DOTS server may also be returning selected mitigator feedback to the requesting DOTS
a mitigator. client. A DOTS server MAY also be a mitigator.
DOTS relay: A DOTS-aware software module positioned between a DOTS DOTS agent: Any DOTS-aware software module capable of participating
server and a DOTS client in the signaling path. A DOTS relay in a DOTS siganling session.
receives messages from a DOTS client and relays them to a DOTS
server, and similarly passes messages from the DOTS server to the
DOTS client. A DOTS relay acts as a proxy or bridge between
stateful and stateless transport signaling, and may also aggregate
signaling from multiple downstream DOTS clients into a single
session with an upstream DOTS server or DOTS relay.
DOTS agents: Any DOTS functional element, including DOTS clients, DOTS gateway: A logical DOTS agent resulting from the logical
DOTS servers and DOTS relays. concatenation of a DOTS server and a DOTS client, analogous to a
SIP Back-to-Back User Agent (B2BUA) [RFC3261]. DOTS gateways are
discussed in detail in [I-D.ietf-dots-architecture].
Signal channel: A bidirectional, mutually authenticated Signal channel: A bidirectional, mutually authenticated
communication layer between DOTS agents characterized by communication channel between DOTS agents characterized by
resilience even in conditions leading to severe packet loss, such resilience even in conditions leading to severe packet loss, such
as a volumetric DDoS attack causing network congestion. as a volumetric DDoS attack causing network congestion.
DOTS signal: A concise authenticated status/control message DOTS signal: A concise authenticated status/control message
transmitted between DOTS agents, used to indicate client's need transmitted between DOTS agents, used to indicate client's need
for mitigation, as well as to convey the status of any requested for mitigation, as well as to convey the status of any requested
mitigation. mitigation.
Heartbeat: A message transmitted between DOTS agents over the signal Heartbeat: A message transmitted between DOTS agents over the signal
channel, used as a keep-alive and to measure peer health. channel, used as a keep-alive and to measure peer health.
Client signal: A message sent from a DOTS client to a DOTS server or Client signal: A message sent from a DOTS client to a DOTS server
DOTS relay over the signal channel, indicating the DOTS client's over the signal channel, indicating the DOTS client's need for
need for mitigation, as well as the scope of any requested mitigation, as well as the scope of any requested mitigation,
mitigation, optionally including additional attack details to optionally including additional attack details to supplement
supplement server-initiated mitigation. server-initiated mitigation.
Server signal: A message sent from a DOTS server to a DOTS client or Server signal: A message sent from a DOTS server to a DOTS client
DOTS relay over the signal channel. Note that a server signal is over the signal channel. Note that a server signal is not a
not a response to client signal, but a DOTS server-initiated response to client signal, but a DOTS server-initiated status
status message sent to DOTS clients with which the server has message sent to DOTS clients with which the server has established
established signaling sessions, containing information about the signaling sessions.
status of DOTS client-requested mitigation and its efficacy.
Data channel: A secure communication layer between DOTS clients and Data channel: A secure communication layer between DOTS clients and
DOTS servers used for infrequent bulk exchange of data not easily DOTS servers used for infrequent bulk exchange of data not easily
or appropriately communicated through the signal channel under or appropriately communicated through the signal channel under
attack conditions. attack conditions.
Blacklist: A list of addresses, prefixes and/or other identifiers Filter: A policy matching a network traffic flow or set of flows and
indicating sources from which traffic should be blocked, rate-limiting or discarding matching traffic.
regardless of traffic content.
Whitelist: A list of addresses, prefixes and/or other Blacklist: A filter list of addresses, prefixes and/or other
identifiersfrom indicating sources from which traffic should identifiers indicating sources from which traffic should be
always be allowed, regardless of contradictory data gleaned in a blocked, regardless of traffic content.
detected attack.
Whitelist: A list of addresses, prefixes and/or other identifiers
from indicating sources from which traffic should always be
allowed, regardless of contradictory data gleaned in a detected
attack.
Multi-homed DOTS client: A DOTS client exchanging messages with Multi-homed DOTS client: A DOTS client exchanging messages with
multiple DOTS servers, each in a separate administrative domain. multiple DOTS servers, each in a separate administrative domain.
2. Requirements 2. Requirements
This section describes the required features and characteristics of This section describes the required features and characteristics of
the DOTS protocols. the DOTS protocol.
DOTS is an advisory protocol. An active DDoS attack against the DOTS is an advisory protocol. An active DDoS attack against the
entity controlling the DOTS client need not be present before entity controlling the DOTS client need not be present before
establishing DOTS communication between DOTS agents. Indeed, establishing DOTS communication between DOTS agents. Indeed,
establishing a relationship with peer DOTS agents during nominal establishing a relationship with peer DOTS agents during normal
network conditions provides the foundation for more rapid attack network conditions provides the foundation for more rapid attack
response against future attacks, as all interactions setting up DOTS, response against future attacks, as all interactions setting up DOTS,
including any business or service level agreements, are already including any business or service level agreements, are already
complete. complete.
DOTS must at a minimum make it possible for a DOTS client to request DOTS must at a minimum make it possible for a DOTS client to request
a DOTS server's aid in mounting a coordinated defense against a a DOTS server's aid in mounting a coordinated defense against a
detected attack, signaling inter- or intra-domain as requested by suspected attack, signaling within or between domains as requested by
local operators. DOTS clients should similarly be able to withdraw local operators. DOTS clients should similarly be able to withdraw
aid requests. DOTS requires no justification from DOTS clients for aid requests. DOTS requires no justification from DOTS clients for
requests for help, nor must DOTS clients justify withdrawing help requests for help, nor do DOTS clients need to justify withdrawing
requests: the decision is local to the entity owning the DOTS help requests: the decision is local to the DOTS clients' domain.
clients. Regular feedback between DOTS clients and DOTS server Regular feedback between DOTS clients and DOTS server supplement the
supplement the defensive alliance by maintaining a common defensive alliance by maintaining a common understanding of DOTS peer
understanding of DOTS peer health and activity. Bidirectional health and activity. Bidirectional communication between DOTS
communication between DOTS clients and DOTS servers is therefore clients and DOTS servers is therefore critical.
critical.
Yet DOTS must also work with a set of competing operational goals. Yet DOTS must also work with a set of competing operational goals.
On the one hand, the protocol must be resilient under extremely On the one hand, the protocol must be resilient under extremely
hostile network conditions, providing continued contact between DOTS hostile network conditions, providing continued contact between DOTS
agents even as attack traffic saturates the link. Such resiliency agents even as attack traffic saturates the link. Such resiliency
may be developed several ways, but characteristics such as small may be developed several ways, but characteristics such as small
message size, asynchronous, redundant message delivery and minimal message size, asynchronous, redundant message delivery and minimal
connection overhead (when possible given local network policy) will connection overhead (when possible given local network policy) will
tend to contribute to the robustness demanded by a viable DOTS tend to contribute to the robustness demanded by a viable DOTS
protocol. Operators of peer DOTS-enabled domains may enable quality- protocol. Operators of peer DOTS-enabled domains may enable quality-
skipping to change at page 7, line 12 skipping to change at page 7, line 19
GEN-001 Extensibility: Protocols and data models developed as part GEN-001 Extensibility: Protocols and data models developed as part
of DOTS MUST be extensible in order to keep DOTS adaptable to of DOTS MUST be extensible in order to keep DOTS adaptable to
operational and proprietary DDoS defenses. Future extensions MUST operational and proprietary DDoS defenses. Future extensions MUST
be backward compatible. be backward compatible.
GEN-002 Resilience and Robustness: The signaling protocol MUST be GEN-002 Resilience and Robustness: The signaling protocol MUST be
designed to maximize the probability of signal delivery even under designed to maximize the probability of signal delivery even under
the severely constrained network conditions imposed by particular the severely constrained network conditions imposed by particular
attack traffic. The protocol MUST be resilient, that is, continue attack traffic. The protocol MUST be resilient, that is, continue
operating despite message loss and out-of-order or redundant operating despite message loss and out-of-order or redundant
signal delivery. message delivery.
GEN-003 Bidirectionality: To support peer health detection, to GEN-003 Bidirectionality: To support peer health detection, to
maintain an open signal channel, and to increase the probability maintain an open signal channel, and to increase the probability
of signal delivery during attack, the signal channel MUST be of signal delivery during attack, the signal channel MUST be
bidirectional, with client and server transmitting signals to each bidirectional, with client and server transmitting signals to each
other at regular intervals, regardless of any client request for other at regular intervals, regardless of any client request for
mitigation. Unidirectional messages MUST be supported within the mitigation. Unidirectional messages MUST be supported within the
bidirectional signal channel to allow for unsolicited message bidirectional signal channel to allow for unsolicited message
delivery, enabling asynchronous notifications between agents. delivery, enabling asynchronous notifications between agents.
skipping to change at page 8, line 10 skipping to change at page 8, line 20
for the signal channel, the Transmission Control Protocol (TCP) for the signal channel, the Transmission Control Protocol (TCP)
[RFC0793] MAY be used if necessary due to network policy or [RFC0793] MAY be used if necessary due to network policy or
middlebox capabilities or configurations. The data channel MUST middlebox capabilities or configurations. The data channel MUST
use TCP; see Section 2.3 below. use TCP; see Section 2.3 below.
OP-002 Session Health Monitoring: Peer DOTS agents MUST regularly OP-002 Session Health Monitoring: Peer DOTS agents MUST regularly
send heartbeats to each other after mutual authentication in order send heartbeats to each other after mutual authentication in order
to keep the DOTS session open. A session MUST be considered to keep the DOTS session open. A session MUST be considered
active until a DOTS agent explicitly ends the session, or either active until a DOTS agent explicitly ends the session, or either
DOTS agent fails to receive heartbeats from the other after a DOTS agent fails to receive heartbeats from the other after a
mutually negotiated timeout period has elapsed. mutually agreed upon timeout period has elapsed.
OP-003 Session Redirection: In order to increase DOTS operational OP-003 Session Redirection: In order to increase DOTS operational
flexibility and scalability, DOTS servers SHOULD be able to flexibility and scalability, DOTS servers SHOULD be able to
redirect DOTS clients to another DOTS server or relay at any time. redirect DOTS clients to another DOTS server at any time. Due to
Due to the decreased probability of DOTS server signal delivery the decreased probability of DOTS server signal delivery due to
due to link congestion, it is RECOMMENDED DOTS servers avoid link congestion, it is RECOMMENDED DOTS servers avoid redirecting
redirecting while mitigation is enabled during an active attack while mitigation is enabled during an active attack against a
against a target in the DOTS client's domain. Either the DOTS target in the DOTS client's domain. Either the DOTS servers have
servers have to fate-share the security state, the client MUST to fate-share the security state, the client MUST have separate
have separate security state with each potential redirectable security state with each potential redirectable server, or be able
server, or be able to negotiate new state as part of redirection. to negotiate new state as part of redirection.
OP-004 Mitigation Status: DOTS MUST provide a means to report the OP-004 Mitigation Status: DOTS MUST provide a means to report the
status of an action requested by a DOTS client. In particular, status of an action requested by a DOTS client. In particular,
DOTS clients MUST be able to request or withdraw a request for DOTS clients MUST be able to request or withdraw a request for
mitigation from the DOTS server. The DOTS server MUST acknowledge mitigation from the DOTS server. The DOTS server MUST acknowledge
a DOTS client's request to withdraw from coordinated attack a DOTS client's request to withdraw from coordinated attack
response in subsequent signals, and MUST cease mitigation activity response in subsequent signals, and MUST cease mitigation activity
as quickly as possible. However, a DOTS client rapidly toggling as quickly as possible. However, a DOTS client rapidly toggling
active mitigation may result in undesirable side-effects for the active mitigation may result in undesirable side-effects for the
network path, such as route or DNS [RFC1034] flapping. A DOTS network path, such as route or DNS [RFC1034] flapping. A DOTS
skipping to change at page 9, line 20 skipping to change at page 9, line 30
the DOTS client MAY extend a current mitigation request's lifetime the DOTS client MAY extend a current mitigation request's lifetime
trivially with renewed requests for help. trivially with renewed requests for help.
A DOTS client MAY also request an indefinite mitigation lifetime, A DOTS client MAY also request an indefinite mitigation lifetime,
enabling architectures in which the mitigator is always in the enabling architectures in which the mitigator is always in the
traffic path to the resources for which the DOTS client is traffic path to the resources for which the DOTS client is
requesting protection. DOTS servers MAY refuse such requests for requesting protection. DOTS servers MAY refuse such requests for
any reason. The reasons themselves are not in scope. any reason. The reasons themselves are not in scope.
OP-006 Mitigation Scope: DOTS clients MUST indicate the desired OP-006 Mitigation Scope: DOTS clients MUST indicate the desired
address or prefix space coverage of any mitigation, for example by scope of any mitigation, for example by using Classless Internet
using Classless Internet Domain Routing (CIDR) [RFC1518],[RFC1519] Domain Routing (CIDR) [RFC1518],[RFC1519] prefixes, [RFC2373] for
prefixes, [RFC2373] for IPv6 [RFC2460] prefixes, the length/prefix IPv6 [RFC2460] prefixes, the length/prefix convention established
convention established in the Border Gateway Protocol (BGP) in the Border Gateway Protocol (BGP) [RFC4271], SIP URIs
[RFC4271], SIP URIs [RFC3261], E.164 numbers, DNS names, or by a [RFC3261], E.164 numbers, DNS names, or by a resource group alias
prefix group alias agreed upon with the server through the data agreed upon with the server through the data channel.
channel.
If there is additional information available narrowing the scope If there is additional information available narrowing the scope
of any requested attack response, such as targeted port range, of any requested attack response, such as targeted port range,
protocol, or service, DOTS clients SHOULD include that information protocol, or service, DOTS clients SHOULD include that information
in client signals. DOTS clients MAY also include additional in client signals. DOTS clients MAY also include additional
attack details. Such supplemental information is OPTIONAL, and attack details. Such supplemental information is OPTIONAL, and
DOTS servers MAY ignore it when enabling countermeasures on the DOTS servers MAY ignore it when enabling countermeasures on the
mitigator. mitigator.
As an active attack evolves, clients MUST be able to adjust as As an active attack evolves, clients MUST be able to adjust as
necessary the scope of requested mitigation by refining the necessary the scope of requested mitigation by refining the scope
address space requiring intervention. of resources requiring mitigation.
OP-007 Mitigation Efficacy: When a mitigation request by a DOTS OP-007 Mitigation Efficacy: When a mitigation request by a DOTS
client is active, DOTS clients SHOULD transmit a metric of client is active, DOTS clients SHOULD transmit a metric of
perceived mitigation efficacy to the DOTS server, per "Automatic perceived mitigation efficacy to the DOTS server, per "Automatic
or Operator-Assisted CPE or PE Mitigators Request Upstream DDoS or Operator-Assisted CPE or PE Mitigators Request Upstream DDoS
Mitigation Services" in [I-D.ietf-dots-use-cases]. DOTS servers Mitigation Services" in [I-D.ietf-dots-use-cases]. DOTS servers
MAY use the efficacy metric to adjust countermeasures activated on MAY use the efficacy metric to adjust countermeasures activated on
a mitigator on behalf of a DOTS client. a mitigator on behalf of a DOTS client.
OP-008 Conflict Detection and Notification: Multiple DOTS clients OP-008 Conflict Detection and Notification: Multiple DOTS clients
controlled by a single administrative entity may send conflicting controlled by a single administrative entity may send conflicting
mitigation requests for pool of protected resources, as a result mitigation requests for pool of protected resources , as a result
of misconfiguration, operator error, or compromised DOTS clients. of misconfiguration, operator error, or compromised DOTS clients.
DOTS servers attempting to honor conflicting requests may flap DOTS servers attempting to honor conflicting requests may flap
network route or DNS information, degrading the networks network route or DNS information, degrading the networks
attempting to participate in attack response with the DOTS attempting to participate in attack response with the DOTS
clients. DOTS servers SHALL detect such conflicting requests, and clients. DOTS servers SHALL detect such conflicting requests, and
SHALL notify the DOTS clients in conflict. The notification SHALL notify the DOTS clients in conflict. The notification
SHOULD indicate the nature and scope of the conflict, for example, SHOULD indicate the nature and scope of the conflict, for example,
the overlapping prefix range in a conflicting mitigation request. the overlapping prefix range in a conflicting mitigation request.
OP-009: Lookup Caching: DOTS agents SHOULD cache resolved names, PKI OP-009: Network Address Translator Traversal: The DOTS protocol MUST
validation chains, and similarly queried data as necessary.
Network-based lookups and validation may be inhibited or
unavailable during an active attack due to link congestion. For
example, DOTS agents SHOULD cache resolved names and addresses of
peer DOTS agents, and SHOULD refer to those agents by IPv4
[RFC0791] or IPv6 address for all communications following initial
name resolution.
OP-010: Network Address Translator Traversal: The DOTS protocol MUST
operate over networks in which Network Address Translation (NAT) operate over networks in which Network Address Translation (NAT)
is deployed. As UDP is the recommended transport for DOTS, all is deployed. As UDP is the recommended transport for DOTS, all
considerations in "Middlebox Traversal Guidelines" in [RFC5405] considerations in "Middlebox Traversal Guidelines" in [RFC5405]
apply to DOTS. Regardless of transport, DOTS protocols MUST apply to DOTS. Regardless of transport, DOTS protocols MUST
follow established best common practices (BCPs) for NAT traversal. follow established best common practices (BCPs) for NAT traversal.
2.3. Data Channel Requirements 2.3. Data Channel Requirements
The data channel is intended to be used for bulk data exchanges The data channel is intended to be used for bulk data exchanges
between DOTS agents. Unlike the signal channel, which must operate between DOTS agents. Unlike the signal channel, which must operate
skipping to change at page 11, line 5 skipping to change at page 10, line 50
discovery. For example, a DOTS client may submit to the DOTS server discovery. For example, a DOTS client may submit to the DOTS server
a collection of prefixes it wants to refer to by alias when a collection of prefixes it wants to refer to by alias when
requesting mitigation, to which the server would respond with a requesting mitigation, to which the server would respond with a
success status and the new prefix group alias, or an error status and success status and the new prefix group alias, or an error status and
message in the event the DOTS client's data channel request failed. message in the event the DOTS client's data channel request failed.
The transactional nature of such data exchanges suggests a separate The transactional nature of such data exchanges suggests a separate
set of requirements for the data channel, while the potentially set of requirements for the data channel, while the potentially
sensitive content sent between DOTS agents requires extra precautions sensitive content sent between DOTS agents requires extra precautions
to ensure data privacy and authenticity. to ensure data privacy and authenticity.
DATA-001 Reliable transport: Transmissions over the data channel DATA-001 Reliable transport: Messages sent over the data channel
MUST be transactional, requiring reliable, in-order packet MUST be delivered reliably, in send order.
delivery.
DATA-002 Data privacy and integrity: Transmissions over the data DATA-002 Data privacy and integrity: Transmissions over the data
channel is likely to contain operationally or privacy-sensitive channel is likely to contain operationally or privacy-sensitive
information or instructions from the remote DOTS agent. Theft or information or instructions from the remote DOTS agent. Theft or
modification of data channel transmissions could lead to modification of data channel transmissions could lead to
information leaks or malicious transactions on behalf of the information leaks or malicious transactions on behalf of the
sending agent (see Section 4 below). Consequently data sent over sending agent (see Section 4 below). Consequently data sent over
the data channel MUST be encrypted and authenticated using current the data channel MUST be encrypted and authenticated using current
industry best practices. DOTS servers and relays MUST enable industry best practices. DOTS servers MUST enable means to
means to prevent leaking operationally or privacy-sensitive data. prevent leaking operationally or privacy-sensitive data. Although
Although administrative entities participating in DOTS may detail administrative entities participating in DOTS may detail what data
what data may be revealed to third-party DOTS agents, such may be revealed to third-party DOTS agents, such considerations
considerations are not in scope for this document. are not in scope for this document.
DATA-003 Black- and whitelist management: DOTS servers SHOULD DATA-003 Session configuration: To help meet the general and
operational requirements in this document, DOTS servers MUST
provide methods for DOTS client operators to configure DOTS
session behavior using the data channel. DOTS server
implementations MUST have mechanisms to configure the following:
* Acceptable signal lossiness, as described in GEN-002.
* Heartbeat intervals, as described in OP-002.
* Maximum mitigation lifetime, as described in OP-005.
* Resource identifiers, as described in OP-006.
DOTS server implementations MAY expose additional configurability.
Additional configurability is implementation-specific.
DATA-004 Black- and whitelist management: DOTS servers SHOULD
provide methods for DOTS clients to manage black- and white-lists provide methods for DOTS clients to manage black- and white-lists
of source addresses of traffic destined for addresses belonging to of traffic destined for resources belonging to a client.
a client.
For example, a DOTS client should be able to create a black- or For example, a DOTS client should be able to create a black- or
whitelist entry; retrieve a list of current entries from either whitelist entry; retrieve a list of current entries from either
list; update the content of either list; and delete entries as list; update the content of either list; and delete entries as
necessary. necessary.
How the DOTS server determines client ownership of address space How the DOTS server determines client ownership of address space
is not in scope. is not in scope.
2.4. Security requirements 2.4. Security requirements
skipping to change at page 12, line 17 skipping to change at page 12, line 28
In order for DOTS protocols to remain secure despite advancements In order for DOTS protocols to remain secure despite advancements
in cryptanalysis and traffic analysis, DOTS agents MUST be able to in cryptanalysis and traffic analysis, DOTS agents MUST be able to
negotiate the terms and mechanisms of protocol security, subject negotiate the terms and mechanisms of protocol security, subject
to the interoperability and signal message size requirements to the interoperability and signal message size requirements
above. above.
SEC-003 Message Replay Protection: In order to prevent a passive SEC-003 Message Replay Protection: In order to prevent a passive
attacker from capturing and replaying old messages, DOTS protocols attacker from capturing and replaying old messages, DOTS protocols
MUST provide a method for replay detection. MUST provide a method for replay detection.
2.5. Data Model Requirements
The value of DOTS is in standardizing a mechanism to permit elements,
networks or domains under or under threat of DDoS attack to request
aid mitigating the effects of any such attack. A well-structured
DOTS data model is therefore critical to the development of a
successful DOTS protocol.
DM-001: Structure: The data model structure for the DOTS protocol
may be described by a single module, or be divided into related
collections of hierarchical modules and sub-modules. If the data
model structure is split across modules, those distinct modules
MUST allow references to describe the overall data model's
structural dependencies.
DM-002: Versioning: To ensure interoperability between DOTS protocol
implementations, data models MUST be versioned. The version
number of the initial data model SHALL be 1. Each published
change to the initial published DOTS data model SHALL increment
the data model version by 1.
How the protocol represents data model versions is not defined in
this document.
DM-003: Mitigation Status Representation: The data model MUST
provide the ability to represent a request for mitigation and the
withdrawal of such a request. The data model MUST also support a
representation of currently requested mitigation status, including
failures and their causes.
DM-004: Mitigation Scope Representation: The data model MUST support
representation of a requested mitigation's scope. As mitigation
scope may be represented in several different ways, per OP-006
above, the data model MUST be capable of flexible representation
of mitigation scope.
DM-005: Mitigation Lifetime Representation: The data model MUST
support representation of a mitigation request's lifetime,
including mitigations with no specified end time.
DM-006: Mitigation Efficacy Representation: The data model MUST
support representation of a DOTS client's understanding of the
efficacy of a mitigation enabled through a mitigation request.
TBD: how do we represent the efficacy?
DM-007: Relationship to Transport: The DOTS data model MUST NOT
depend on the specifics of any transport to represent fields in
the model.
3. Congestion Control Considerations 3. Congestion Control Considerations
The DOTS signal channel will not contribute measurably to link 3.1. Signal Channel
congestion, as the protocol's transmission rate will be negligible
regardless of network conditions. Bulk data transfers are performed As part of a protocol expected to operate over links affected by DDoS
over the data channel, which should use a reliable transport with attack traffic, the DOTS signal channel MUST NOT contribute
built-in congestion control mechanisms, such as TCP. significantly to link congestion. To meet the operational
requirements above, DOTS signal channel implementations MUST support
UDP. However, UDP when deployed naively can be a source of network
congestion, as discussed in [RFC5405]. Signal channel
implementations using UDP MUST therefore include a congestion control
mechanism. The form of that congestion control is implementation-
specific.
Signal channel implementations using TCP may rely on built-in TCP
congestion control support.
3.2. Data Channel
As specified in DATA-001, the data channel requires reliable, in-
order message delivery. Data channel implementations using TCP may
rely on the TCP implementation's built-in congestion control
mechanisms.
4. Security Considerations 4. Security Considerations
DOTS is at risk from three primary attacks: DOTS is at risk from three primary attacks:
o DOTS agent impersonation o DOTS agent impersonation
o Traffic injection o Traffic injection
o Signaling blocking o Signaling blocking
The DOTS protocol MUST be designed for minimal data transfer to The DOTS protocol MUST be designed for minimal data transfer to
address the blocking risk. Impersonation and traffic injection address the blocking risk. Impersonation and traffic injection
mitigation can be managed through current secure communications best mitigation can be managed through current secure communications best
practices. See Section 2.4 above for a detailed discussion. practices. See Section 2.4 above for a detailed discussion.
5. Contributors 5. Contributors
Med Boucadair Med Boucadair Flemming Andreasen
6. Acknowledgments 6. Acknowledgments
Thanks to Roman Danyliw and Matt Richardson for careful reading and Thanks to Roman Danyliw and Matt Richardson for careful reading and
feedback. feedback.
7. Change Log 7. Change Log
7.1. 01 revision 7.1. 02 revision
7.2. 01 revision
2016-03-21 2016-03-21
o Reconciled terminology with -00 revision of o Reconciled terminology with -00 revision of
[I-D.ietf-dots-use-cases]. [I-D.ietf-dots-use-cases].
o Terminology clarification based on working group feedback. o Terminology clarification based on working group feedback.
o Moved security-related requirements to separate section. o Moved security-related requirements to separate section.
skipping to change at page 13, line 44 skipping to change at page 15, line 22
efficacy reporting from DOTS clients. efficacy reporting from DOTS clients.
o Added proposed operational requirement to cache lookups of all o Added proposed operational requirement to cache lookups of all
kinds. kinds.
o Added proposed operational requirement regarding NAT traversal. o Added proposed operational requirement regarding NAT traversal.
o Removed redundant mutual authentication requirement from data o Removed redundant mutual authentication requirement from data
channel requirements. channel requirements.
7.2. 00 revision 7.3. 00 revision
2015-10-15 2015-10-15
7.3. Initial revision 7.4. Initial revision
2015-09-24 Andrew Mortensen 2015-09-24 Andrew Mortensen
8. References 8. References
8.1. Normative References 8.1. Normative References
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, DOI [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
10.17487/RFC0768, August 1980, DOI 10.17487/RFC0768, August 1980,
<http://www.rfc-editor.org/info/rfc768>. <http://www.rfc-editor.org/info/rfc768>.
[RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC [RFC0793] Postel, J., "Transmission Control Protocol", STD 7,
793, DOI 10.17487/RFC0793, September 1981, RFC 793, DOI 10.17487/RFC0793, September 1981,
<http://www.rfc-editor.org/info/rfc793>. <http://www.rfc-editor.org/info/rfc793>.
[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, DOI 10.17487/ Requirement Levels", BCP 14, RFC 2119,
RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
[RFC5405] Eggert, L. and G. Fairhurst, "Unicast UDP Usage Guidelines [RFC5405] Eggert, L. and G. Fairhurst, "Unicast UDP Usage Guidelines
for Application Designers", BCP 145, RFC 5405, DOI for Application Designers", BCP 145, RFC 5405,
10.17487/RFC5405, November 2008, DOI 10.17487/RFC5405, November 2008,
<http://www.rfc-editor.org/info/rfc5405>. <http://www.rfc-editor.org/info/rfc5405>.
8.2. Informative References 8.2. Informative References
[I-D.ietf-dots-architecture]
Mortensen, A., Andreasen, F., Reddy, T.,
christopher_gray3@cable.comcast.com, c., Compton, R., and
N. Teague, "Distributed-Denial-of-Service Open Threat
Signaling (DOTS) Architecture", draft-ietf-dots-
architecture-00 (work in progress), July 2016.
[I-D.ietf-dots-use-cases] [I-D.ietf-dots-use-cases]
Dobbins, R., Fouant, S., Migault, D., Moskowitz, R., Dobbins, R., Fouant, S., Migault, D., Moskowitz, R.,
Teague, N., and L. Xia, "Use cases for DDoS Open Threat Teague, N., and L. Xia, "Use cases for DDoS Open Threat
Signaling", draft-ietf-dots-use-cases-00 (work in Signaling", draft-ietf-dots-use-cases-01 (work in
progress), October 2015. progress), March 2016.
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, DOI
10.17487/RFC0791, September 1981,
<http://www.rfc-editor.org/info/rfc791>.
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities", [RFC1034] Mockapetris, P., "Domain names - concepts and facilities",
STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987,
<http://www.rfc-editor.org/info/rfc1034>. <http://www.rfc-editor.org/info/rfc1034>.
[RFC1518] Rekhter, Y. and T. Li, "An Architecture for IP Address [RFC1518] Rekhter, Y. and T. Li, "An Architecture for IP Address
Allocation with CIDR", RFC 1518, DOI 10.17487/RFC1518, Allocation with CIDR", RFC 1518, DOI 10.17487/RFC1518,
September 1993, <http://www.rfc-editor.org/info/rfc1518>. September 1993, <http://www.rfc-editor.org/info/rfc1518>.
[RFC1519] Fuller, V., Li, T., Yu, J., and K. Varadhan, "Classless [RFC1519] Fuller, V., Li, T., Yu, J., and K. Varadhan, "Classless
skipping to change at page 15, line 20 skipping to change at page 16, line 48
(IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460, (IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460,
December 1998, <http://www.rfc-editor.org/info/rfc2460>. December 1998, <http://www.rfc-editor.org/info/rfc2460>.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E. A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261, Schooler, "SIP: Session Initiation Protocol", RFC 3261,
DOI 10.17487/RFC3261, June 2002, DOI 10.17487/RFC3261, June 2002,
<http://www.rfc-editor.org/info/rfc3261>. <http://www.rfc-editor.org/info/rfc3261>.
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI Border Gateway Protocol 4 (BGP-4)", RFC 4271,
10.17487/RFC4271, January 2006, DOI 10.17487/RFC4271, January 2006,
<http://www.rfc-editor.org/info/rfc4271>. <http://www.rfc-editor.org/info/rfc4271>.
[RFC4732] Handley, M., Ed., Rescorla, E., Ed., and IAB, "Internet [RFC4732] Handley, M., Ed., Rescorla, E., Ed., and IAB, "Internet
Denial-of-Service Considerations", RFC 4732, DOI 10.17487/ Denial-of-Service Considerations", RFC 4732,
RFC4732, December 2006, DOI 10.17487/RFC4732, December 2006,
<http://www.rfc-editor.org/info/rfc4732>. <http://www.rfc-editor.org/info/rfc4732>.
Authors' Addresses Authors' Addresses
Andrew Mortensen Andrew Mortensen
Arbor Networks, Inc. Arbor Networks, Inc.
2727 S. State St 2727 S. State St
Ann Arbor, MI 48104 Ann Arbor, MI 48104
United States United States
 End of changes. 51 change blocks. 
155 lines changed or deleted 235 lines changed or added

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