<?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.19 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-cui-dots-extended-yang-02" category="info" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.0 -->
  <front>
    <title>Extended YANG Data Model for DOTS</title>
    <seriesInfo name="Internet-Draft" value="draft-cui-dots-extended-yang-02"/>
    <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="September" day="06"/>
    <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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
O6+k4j8cTEGE6sC16/w/Tc2qU9hWAAA=

-->

</rfc>
