<?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-01" category="info" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.0 -->
  <front>
    <title>Extended YANG Data Model for DOTS</title>
    <seriesInfo name="Internet-Draft" value="draft-cui-dots-extended-yang-01"/>
    <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>
  </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 556?>

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

-->

</rfc>
