<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.6 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-cui-dots-extended-yang-00" category="info" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.0 -->
  <front>
    <title>YANG Data Model for Extended DOTS</title>
    <seriesInfo name="Internet-Draft" value="draft-cui-dots-extended-yang-00"/>
    <author initials="Y." surname="Cui" fullname="Yong Cui">
      <organization>Tsinghua University</organization>
      <address>
        <postal>
          <region>Beijing</region>
          <code>100084</code>
          <country>China</country>
        </postal>
        <email>cuiyong@tsinghua.edu.cn</email>
        <uri>http://www.cuiyong.net/</uri>
      </address>
    </author>
    <author initials="L." surname="Li" fullname="Linzhe Li">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <region>Beijing</region>
          <code>100094</code>
          <country>China</country>
        </postal>
        <email>lilz@zgclab.edu.cn</email>
      </address>
    </author>
    <date year="2024" month="March" day="01"/>
    <area>Security</area>
    <workgroup>IETF</workgroup>
    <keyword>DDoS Mitigation</keyword>
    <abstract>
      <?line 106?>

<t>With the development of DDoS defense technologies, the interfaces and parameters defined by DOTS are no longer sufficient to support the collaborative signaling required between DDoS mitigation systems. 
This document defines three YANG model to extend the data models of existing interfaces on the DOTS signaling and data channels, with the aim of supporting the transmission of necessary collaborative information between DDoS mitigation systems via DOTS and enabling efficient collaborative mitigation based on this information.</t>
    </abstract>
  </front>
  <middle>
    <?line 111?>

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="context-and-motivation">
        <name>Context and motivation</name>
        <t>DDoS attacks have been a persistent network security issue plaguing global network operators and software providers. With the growth of global networks, DDoS attacks have increased in scale, frequency, and the emergence of new types, leading to a heightened focus on coordinated attack response and standardization. 
<xref target="RFC8612"/> defines the DDoS Open Threat Signaling (DOTS) protocol for coordinating responses to DDoS attacks. DOTS can be utilized by any device or software system involved in DDoS mitigation, allowing both parties involved in the coordination to exchange necessary information such as collaborative mitigation requests and monitoring data.</t>
        <t>As DDoS mitigation technologies evolve, DDoS protection devices and software systems have expanded their functionalities, yet DOTS has not been adapted to incorporate these updates. 
In order for collaborative mitigation parties to formulate more effective mitigation strategies and respond more quickly to collaborative mitigation requests, it is necessary to extend the functionality interface and parameter model of DOTS.</t>
        <t>This document defines three data models for extending the existing DOTS interfaces, enabling DOTS to support the transmission of crucial information required for collaborative mitigation.</t>
      </section>
      <section anchor="terminology">
        <name>2.   Terminology</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
        <t>These capitalized words are used to signify the requirements for the
   DOTS protocols design.</t>
        <t>This document adopts the following terms:</t>
        <t>DDoS:  A distributed denial-of-service attack in which traffic originating from multiple sources is directed at a target on a network. DDoS attacks are intended to cause a negative impact on the availability and/or functionality of an attack target.
   Denial-of-service considerations are discussed in detail in <xref target="RFC4732"/>.</t>
        <t>Mitigation:  A set of countermeasures enforced against traffic destined for the target or targets of a detected or reported DDoS attack, where countermeasure enforcement is managed by an entity in the network path between attack sources and the attack target. 
   Mitigation methodology is out of scope for this document.</t>
        <t>Mitigator:  An entity, typically a network element, capable of performing mitigation of a detected or reported DDoS attack.
   The means by which this entity performs these mitigations and how they are requested of it are out of scope for this document.
   The mitigator and DOTS server receiving a mitigation request are assumed to belong to the same administrative entity.</t>
        <t>DOTS client:  A DOTS-aware software module responsible for requesting attack response coordination with other DOTS-aware elements.</t>
        <t>DOTS server:  A DOTS-aware software module handling and responding to messages from DOTS clients.<br/>
   The DOTS server enables mitigation on behalf of the DOTS client, if requested, by communicating the DOTS client's request to the mitigator and returning selected  mitigator feedback to the requesting DOTS client.
<!-- # Body [REPLACE] -->
        </t>
      </section>
    </section>
    <section anchor="problem-statement">
      <name>Problem statement</name>
      <t>To illustrate the collaboration for DDoS mitigation systems, the following workflow should be established for efficient collaboration:</t>
      <ul spacing="normal">
        <li>
          <t>The client sends predetermined configuration information to the server, including but not limited to mitigation strategies and required mitigation resource capacity.</t>
        </li>
        <li>
          <t>Upon receiving the predetermined configuration request, the server determines based on its own capabilities whether to accept the installation.</t>
        </li>
        <li>
          <t>When collaboration is needed for mitigation, the client initiates a collaborative mitigation request to the server. 
The mitigation request should include important information such as attack characteristics, mitigation scope, and mitigation strategies.</t>
        </li>
        <li>
          <t>The server receives the mitigation request and forwards it to the mitigation party, utilizing the information within to confirm the authenticity of the attack and decide on responding to the collaborative mitigation request.</t>
        </li>
        <li>
          <t>The mitigation party formulates and executes the mitigation strategy. 
The server sends a confirmation response to the client.</t>
        </li>
        <li>
          <t>Continual exchange of monitoring information can occur between the server and client. 
The mitigation party can dynamically adjust mitigation strategies based on the monitoring information.</t>
        </li>
        <li>
          <t>After collaborative mitigation ceases, the server should send a mitigation report to the client.</t>
        </li>
      </ul>
      <t>To improve collaborative mitigation efficiency, it is essential to pre-configure mitigation strategies and mitigation resource capacities. 
These can assist clients in initiating requests to appropriate mitigation parties and enable mitigation parties to establish mitigation strategies. 
Currently, DOTS only supports the installation of ACL rules, lacking other widely used mitigation methods such as BGP Flowspec. 
Additionally, DOTS does not support the installation of mitigation resource capacity information, making it difficult for targets to identify the optimal collaborative mitigation party when facing attacks of different scales.</t>
      <t>Within the mitigation request data model defined in DOTS, only descriptions of the mitigation scope are included, such as IP addresses and protocols. 
In the absence of commercial cooperation, these basic information pieces are insufficient to help mitigation parties identify attacks associated with mitigation requests and develop appropriate mitigation strategies based on the attack situation. 
Therefore, it is necessary to define an extended attack description model in the signaling channel, allowing mitigation parties to quickly and accurately identify associated attacks. 
These attack characteristics can also guide mitigation parties in formulating reasonable mitigation strategies.</t>
      <t>When requesting mitigation, providing baseline information, mitigation suggestions, or specifying mitigation strategies is also essential. 
The key role of mitigation is to differentiate between attack packets and non-attack packets. 
The targeted entities usually have extensive learning experience on their normal business packets or statistical data, enabling them to accurately identify the differences between attacks and legitimate requests, thereby filtering attack traffic more accurately. 
Sharing baseline information, mitigation suggestions, and mitigation strategies can fully utilize the knowledge of the requesting party to help the mitigation party formulate effective mitigation strategies.</t>
    </section>
    <section anchor="yang-models">
      <name>YANG Models</name>
      <section anchor="extended-yang-models-for-signal-channel">
        <name>Extended YANG models for signal channel</name>
        <artwork><![CDATA[
module: ietf-dots-extended-signal-channel
 +--rw dots-signal
    +--rw attack-details
    |  +--rw packet-feature
    |  |  +--rw port-number              inet:port-number
    |  |  +--rw average-packet-length    unit32
    |  |  +--rw duplicate-content        string
    |  +--rw statistical-feature
    |  |  +--ro bps-avg               unit32
    |  |  +--ro bps-peak              unit32
    |  |  +--ro pps-avg               unit32
    |  |  +--ro pps-peak              unit32
    |  |  +--ro bkts-avg              unit32
    |  |  +--ro bkts-peak             unit32
    +--rw mitigation-strategy  list
    |  +--rw name              string
    +--rw mitigation-advice    list
    |  +--rw description       string
]]></artwork>
        <t>Figure 1: DOTS Extended Signal Channel Tree Structure</t>
        <t>file "ietf-dots-extended-signal-channel@2024-02-20.yang"
  module ietf-dots-extended-signal-channel {
    yang-version 1.0;
    namespace "urn:ietf:params:xml:ns:yang:ietf-dots-extended-signal-channel";</t>
        <artwork><![CDATA[
grouping packet-feature {
  description
     "Packet-level characteristics of DDoS attack events.";
   leaf port-number {
     type inet:port-number;
     description
       "Target port number of the attack packet.";
   }
   leaf average-packet-length {
     type inet32;
     units "byte";
     description
       "Average length of attack packets.";
   }
   leaf duplicate-content {
     type string;
     description
       "Duplicate content in the attack packet.";
   }
}

grouping statistical-feature {
  description
     "Statistical characteristics of DDoS attack events.";
   leaf bps-avg {
     type inet32;
     description
       "Average bps.";
   }
   leaf bps-peak {
     type inet32;
     description
       "Peak bps.";
   }
   leaf pps-avg {
     type inet32;
     description
       "Average pps.";
   }
   leaf pps-avg {
     type inet32;
     description
       "Peak pps.";
   }
   leaf kbps-avg {
     type inet32;
     description
       "Average kbps.";
   }
   leaf kbps-avg {
     type inet32;
     description
       "Peak kbps.";
   }
}

typedef mitigation-strategy{
  leaf name{
    type: string;
    description
       "Name of the mitigation policy installed on the server.";
  }
}

typedef mitigation-advice{
  leaf description{
    type: string;
    description
       "Mitigation recommendations
       or other remarks that the expert can understand.";
  }
}   }
]]></artwork>
        <ul spacing="normal">
          <li>
            <t>The mitigation request should include a description of the attack details, such as the type and characteristics of the attack. 
This will help the mitigator to identify the attack related to the mitigation request and decide whether to respond to the mitigation request. 
The attack characteristics can also serve as the basis for formulating mitigation strategies. 
The mitigator can develop reasonable mitigation strategies based on the specific features of the attack, such as the port, packet-level characteristics, etc. 
Furthermore, by utilizing statistical features of the attack, such as peak packet rate, the mitigator can allocate appropriate mitigation resources.</t>
          </li>
          <li>
            <t>In a mitigation request, it is optional to include the target's daily business baseline information, such as normal business ports and average packet length. 
This can assist the mitigator in comparing the differences between the normal baseline and attack characteristics, thus allowing them to select appropriate mitigation strategies.</t>
          </li>
          <li>
            <t>A request to be cached may selectively carry cache relief information, including specific cache relief strategies and recommendations.
Cache relief strategies are policies already installed on the server by the client in advance, while cache relief recommendations can be any potentially effective cache relief strategy or important information proposed by the client. 
Cache relief information can assist the cache relief party in devising appropriate cache relief strategies.</t>
          </li>
        </ul>
      </section>
      <section anchor="extended-yang-models-for-data-channel">
        <name>Extended YANG models for data channel</name>
        <artwork><![CDATA[
module: ietf-dots-extended-data-channel
 +--rw dots-data
    +--rw mitigation-strategy
    |  +--rw name            string
    |  +--rw type            string
    |  +--rw method          string
    |  +--rw content         string
    +--rw mitigation-capacity
    |  +--rw name            string
    |  +--rw type                  int8
    |  +--rw method                int8
    |  +--rw block-range           string
    |  +--ro filtering-capacity    unit32
    |  +--rw description           string
    +--rw baseline-information
    |  +--ro bps-avg               unit32
    |  +--ro bps-peak              unit32
    |  +--ro pps-avg               unit32
    |  +--ro pps-peak              unit32
    |  +--ro bkts-avg              unit32
    |  +--ro bkts-peak             unit32
    |  +--rw port-range            [lower-port]
    |  |  +--rw lower-port         inet:port-number
    |  |  +--rw upper-port?        inet:port-number
    |  +--rw packet-length-range   
    |  |  +--rw min-length         unit32
    |  |  +--rw max-length         unit32
    +--rw intelligence
    |  +--rw type                  string
    |  +--rw content               string
    +--rw mitigation-capabilities
    |  +--rw type                  string
    |  +--rw capacity              string
]]></artwork>
        <t>Figure 2: DOTS Extended Data Channel Tree Structure</t>
        <t>file "ietf-dots-extended-data-channel@2024-02-20.yang"
  module ietf-dots-extended-data-channel {
    yang-version 1.0;
    namespace "urn:ietf:params:xml:ns:yang:ietf-dots-extended-data-channel";</t>
        <artwork><![CDATA[
grouping mitigation-strategy {
  description
     "Mitigation strategy that clients can install on servers.";
   leaf name {
     type string;
     description
       "Name of the mitigation strategy.";
   }
   leaf type {
    tye enumeration {
      enum block {
        value 1;
        description
          "Discard all DDoS defense methods from specific sources.";
      }
      enum filter {
        value 2;
        description
          "Network devices such as routers
           are used to identify and filter attack traffic.";
      }
      enum scrubbing {
        value 3;
        description
          "Perform refined attack traffic 
          filtering with dedicated DDoS scrubbing products.";
      }
    }
   }
   leaf method {
     type string;
     description
       "The name of the specific mitigation 
       method used, such as the speed limit.";
   }
   leaf content {
     type string;
     description
       "Specific mitigation directives,
       such as ACL or BGP Flowspec directives.";
   }
}

grouping mitigation-capacity {
  description
     "Mitigation capacity that servers can offer.";
   leaf name {
     type string;
     description
       "Name of the mitigation resource.";
   }
   leaf type {
    tye enumeration {
      enum block {
        value 1;
        description
          "Discard all DDoS defense methods from specific sources.";
      }
      enum filter {
        value 2;
        description
          "Network devices such as routers
          are used to identify and filter attack traffic.";
      }
      enum scrubbing {
        value 3;
        description
          "Perform refined attack traffic filtering
          with dedicated DDoS scrubbing products.";
      }
    }
   }
   leaf method {
     type string;
     description
       "The name of the specific mitigation
       method used, such as the speed limit.";
   }
   leaf block-range {
     type string;
     description
       "The range that can be blocked when traffic is blocked.";
   }
   leaf filtering-capacity {
     type int32;
     description
       "Filter or clean the maximum acceptable attack traffic rate.";
   }
   leaf description {
     type string;
     description
       "Other supplementary notes.";
   }
}

grouping mitigation-capacity {
  description
     "Describes the mitigation capabilities of
     server-connected Minigators.";
     leaf bps-avg {
     type inet32;
     description
       "Average bps.";
   }
   leaf bps-peak {
     type inet32;
     description
       "Peak bps.";
   }
   leaf pps-avg {
     type inet32;
     description
       "Average pps.";
   }
   leaf pps-avg {
     type inet32;
     description
       "Peak pps.";
   }
   leaf kbps-avg {
     type inet32;
     description
       "Average kbps.";
   }
   leaf kbps-avg {
     type inet32;
     description
       "Peak kbps.";
   }
   leaf port-range {
     key "lower-port";
     description
       "Port range.  When only 'lower-port' is
        present, it represents a single port number.";
     leaf lower-port {
       type inet:port-number;
       description
         "Lower port number of the port range.";
     }
     leaf upper-port {
       type inet:port-number;
       must '. >= ../lower-port' {
         error-message
           "The upper port number must be greater than
            or equal to the lower port number.";
       }
       description
         "Upper port number of the port range.";
     }
   }
   leaf packet-length-range {
     key "lower-packet-length";
     description
       "Packet length range.  When only 'min-length' is
        present, it represents an avarage length.";
     leaf min-length {
       type int32;
       description
         "Minimum length of the packets.";
     }
     leaf max-length  {
       type int32;
       must '. >= ../min-length' {
         error-message
           "The minium length must be smaller than maximum length.";
       }
       description
         "Maximum length of the packets.";
     }
   }
}

grouping intelligence {
   description
     "Threat intelligence, such as IP and URI blacklist,
     botnet activity information, etc.";
   leaf type {
     type string;
     description
         "Types of threat intelligence.";
   }
   leaf type {
     type content;
     description
         "The specifics of the threat intelligence.";
   }
 }
]]></artwork>
        <t>}</t>
        <ul spacing="normal">
          <li>
            <t>The data channel should support pre-deployed mitigation strategies for clients to choose from in case of attacks, as clients have a better understanding of the protection target's business model. 
Through the data channel, it is also important to proactively share information about mitigation resources, including available mitigation strategies and capacities provided by mitigation parties.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>This document includes no request to IANA.</t>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC8612">
        <front>
          <title>DDoS Open Threat Signaling (DOTS) Requirements</title>
          <author fullname="A. Mortensen" initials="A." surname="Mortensen"/>
          <author fullname="T. Reddy" initials="T." surname="Reddy"/>
          <author fullname="R. Moskowitz" initials="R." surname="Moskowitz"/>
          <date month="May" year="2019"/>
          <abstract>
            <t>This document defines the requirements for the Distributed Denial-of- Service (DDoS) Open Threat Signaling (DOTS) protocols enabling coordinated response to DDoS attacks.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8612"/>
        <seriesInfo name="DOI" value="10.17487/RFC8612"/>
      </reference>
      <reference anchor="RFC4732">
        <front>
          <title>Internet Denial-of-Service Considerations</title>
          <author fullname="M. Handley" initials="M." role="editor" surname="Handley"/>
          <author fullname="E. Rescorla" initials="E." role="editor" surname="Rescorla"/>
          <author>
            <organization abbrev="IAB">Internet Architecture Board</organization>
          </author>
          <date month="December" year="2006"/>
          <abstract>
            <t>This document provides an overview of possible avenues for denial-of-service (DoS) attack on Internet systems. The aim is to encourage protocol designers and network engineers towards designs that are more robust. We discuss partial solutions that reduce the effectiveness of attacks, and how some solutions might inadvertently open up alternative vulnerabilities. This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4732"/>
        <seriesInfo name="DOI" value="10.17487/RFC4732"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
    </references>
    <?line 558?>

<section numbered="false" anchor="Acknowledgements">
      <name>Acknowledgements</name>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
