<?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.8 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-cui-idr-content-filter-flowspec-00" category="info" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.1 -->
  <front>
    <title>Packet Content Filter for BGP FlowSpec</title>
    <seriesInfo name="Internet-Draft" value="draft-cui-idr-content-filter-flowspec-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="Y." surname="Gao" fullname="Yujia Gao">
      <organization>Zhongguancun Laboratory</organization>
      <address>
        <postal>
          <region>Beijing</region>
          <code>100094</code>
          <country>China</country>
        </postal>
        <email>gaoyj@zgclab.edu.cn</email>
      </address>
    </author>
    <date year="2024" month="March" day="20"/>
    <area>Security</area>
    <workgroup>IETF</workgroup>
    <keyword>DDoS Mitigation, BGP flow specification</keyword>
    <abstract>
      <?line 108?>

<t>The BGP Flow Specification enables the distribution of traffic filter policies (traffic filters and actions) via BGP, facilitating DDoS traffic filtering. 
However, the traffic filterer in FSv1 and FSv2 predominantly focuses on IP header fields, which may not adequately address new types of DDoS attack traffic characterized by constant patterns within the packet content. 
This document introduces a new flow specification filter type designed for packet content filtering. 
The match field includes offset-type, offset value, content-length, and content-value, encoded in the Flowspec NLRI. 
This new filter aims to augment DDoS defense capabilities.</t>
    </abstract>
  </front>
  <middle>
    <?line 116?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>BGP flow specification describes the distribution of traffic filter policies through BGP, allowing for efficient traffic management and DDoS attack mitigation. 
Existing versions, FSv1 and FSv2, primarily offer n-tuple matching conditions for policy enforcement, enabling actions such as packet dropping, re-directing, or limitation, etc.
These filter rules can be propagated to all BGP peers simultaneously without necessitating router configuration changes. 
Despite their utility, FSv1 and FSv2 reliance on IP header fields for traffic filtering is increasingly inadequate for countering DDoS attack. DDoS attacks such as application-level Challenge Collapsar (CC) attacks, ACK flood attacks, etc, feature distinct patterns within the packet content with a large traffic.</t>
      <t>This document delineates a new flow specification filter type that facilitates packet content filtering, leveraging offset-type, offset value, content-length, and content-value within the Flowspec NLRI to enhance DDoS defense mechanisms.</t>
      <section anchor="terminology">
        <name>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>
        <!-- # Body [REPLACE] -->

</section>
    </section>
    <section anchor="definitions-and-acronyms">
      <name>Definitions and Acronyms</name>
      <ul spacing="normal">
        <li>
          <t>DDoS: Distributed Denial of Service</t>
        </li>
        <li>
          <t>NLRI: Network Layer Reachability Information</t>
        </li>
        <li>
          <t>FSv1: Flow Specification Version 1, defined in <xref target="RFC8955"/> and <xref target="RFC8956"/></t>
        </li>
        <li>
          <t>FSv2: Flow Specification Version 2 define in [draft-hares-idr-flowspec-v2-ddos-00]</t>
        </li>
      </ul>
    </section>
    <section anchor="the-flow-specification-for-packet-offset-filter">
      <name>The Flow Specification for Packet Offset Filter</name>
      <t>This document specifies a new flow specification filter type that is encoded in the BGP FS NLRI and we follow the FSv1 definition format rightnow. The new filter is defined as follows:</t>
      <t>Type TBD – Packet-Content</t>
      <t>Encoding:&lt; type (1 octet), [value]+&gt;</t>
      <t>The value field is encoded using offset-type, offset-value, content-length and content-value.</t>
      <t>Encoding: &lt; offset-type (4 bits), offset-value (2 octets), content-length (1 octets), content-value&gt;</t>
      <section anchor="offset-type-and-offset-value">
        <name>Offset-type and Offset-value</name>
        <t>The offset-type and offset-value define the starting position of the packet content used for matching. To avoid the effect of variable header length on the offset, we use the hierarchical way like [draft-khare-idr-bgp-flowspec-payload-match-08].The offset-tpye is defined as follows:</t>
        <artwork><![CDATA[
+-------+-----------------------------+
| Value | Description of Offset Type  |
+-------+-----------------------------+
| 0     | IP Header                   |
| 1     | IP Header Data              |
| 2     | Data within TCP/UDP         |
+-------+-----------------------------+
]]></artwork>
        <t>Figure 1： offset-type</t>
        <t>Each offset-type is detailed as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Offset-type 0 is defined as the start of the IP
header.</t>
          </li>
          <li>
            <t>Offset-type 1 is defined as the start of the data portion of the IP header after the IP options.</t>
          </li>
          <li>
            <t>Offset-type 2 is defined as start of the TCP or UDP data. Type 2 will only be used if it is the first packet of a fragment and the Layer 4 transport protocol is TCP (6) or UDP (17). For other IP protocols, type 1 or type 2 can be used.</t>
          </li>
        </ul>
        <t>The offset-value is defined as a 2-octet unsigned integer that specifies the count of bytes to be bypassed from the offset-type's starting position to match the packet content.</t>
        <t>Example:</t>
        <ul spacing="normal">
          <li>
            <t>By setting offset-type 0 and an offset-value of 0, the match is configured to start precisely at the beginning of the IP header.</t>
          </li>
          <li>
            <t>By setting offset-type 1 and an offset-value of 2, the match will start two bytes past the initial data portion of the IP header, skipping over any IP options. This configuration, for example, in UDP packets, specifically targets the start of the destination port information.</t>
          </li>
          <li>
            <t>By setting offset-type 2 and an offset-value of 10, the match will start ten bytes into the content of the TCP/UDP packet.</t>
          </li>
        </ul>
      </section>
      <section anchor="content-length-and-content-value">
        <name>Content-length and Content-value</name>
        <t>The content-length is a one octet unsigned integer field that contains the length of the value field in octets.
The content-value is encoded as {content, mask}. Content and mask have a same length which defined by the content-length.</t>
        <t>The content provides a string to be matched. Their length is defined by content-length. 
Based on the information provided by equipment vendors and operators, 8octets is usually sufficient for the identification of DDoS attacks.</t>
        <t>Mask is a string containing 0 and 1, where 1 represents what will be matched and 0 represents characters that can be ignored.</t>
        <t>The content and mask are operated AND by bit to get the final content of the packet that needs to be matched.</t>
      </section>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>In accordance with the procedures outlined for managing the "Flow Spec Component Types" registry, IANA is hereby requested to assign a new Type Value. 
This assignment is sought from the First Come First Served range, as detailed below:</t>
      <artwork><![CDATA[
+------------+---------------------------+---------------+
| Type Value | Name                      | Reference     |
+------------+---------------------------+---------------+
| TBD        | Packet Content filter     | this document |
+------------+---------------------------+---------------+
]]></artwork>
      <t>The introduction of the "Packet Content filter" Type Value is purposed to expand the capability of BGP FSv1 by enabling more granular control over traffic filtering.</t>
      <t>This is especially pertinent for addressing complex patterns within packet content that are characteristic of Distributed Denial of Service (DDoS) attacks and other security challenges. 
The proposed Packet Content filter facilitate the specification of detailed criteria for traffic matching, including but not limited to, content inspection at specific packet offsets. In the following update we will add the definition of FSv2.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>No new security issues are introduced to the BGP protocol by this specification</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC8955">
        <front>
          <title>Dissemination of Flow Specification Rules</title>
          <author fullname="C. Loibl" initials="C." surname="Loibl"/>
          <author fullname="S. Hares" initials="S." surname="Hares"/>
          <author fullname="R. Raszuk" initials="R." surname="Raszuk"/>
          <author fullname="D. McPherson" initials="D." surname="McPherson"/>
          <author fullname="M. Bacher" initials="M." surname="Bacher"/>
          <date month="December" year="2020"/>
          <abstract>
            <t>This document defines a Border Gateway Protocol Network Layer Reachability Information (BGP NLRI) encoding format that can be used to distribute (intra-domain and inter-domain) traffic Flow Specifications for IPv4 unicast and IPv4 BGP/MPLS VPN services. This allows the routing system to propagate information regarding more specific components of the traffic aggregate defined by an IP destination prefix.</t>
            <t>It also specifies BGP Extended Community encoding formats, which can be used to propagate Traffic Filtering Actions along with the Flow Specification NLRI. Those Traffic Filtering Actions encode actions a routing system can take if the packet matches the Flow Specification.</t>
            <t>This document obsoletes both RFC 5575 and RFC 7674.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8955"/>
        <seriesInfo name="DOI" value="10.17487/RFC8955"/>
      </reference>
      <reference anchor="RFC8956">
        <front>
          <title>Dissemination of Flow Specification Rules for IPv6</title>
          <author fullname="C. Loibl" initials="C." role="editor" surname="Loibl"/>
          <author fullname="R. Raszuk" initials="R." role="editor" surname="Raszuk"/>
          <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
          <date month="December" year="2020"/>
          <abstract>
            <t>"Dissemination of Flow Specification Rules" (RFC 8955) provides a Border Gateway Protocol (BGP) extension for the propagation of traffic flow information for the purpose of rate limiting or filtering IPv4 protocol data packets.</t>
            <t>This document extends RFC 8955 with IPv6 functionality. It also updates RFC 8955 by changing the IANA Flow Spec Component Types registry.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8956"/>
        <seriesInfo name="DOI" value="10.17487/RFC8956"/>
      </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>
      <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>
    </references>
    <?line 223?>

<section numbered="false" anchor="Acknowledgements">
      <name>Acknowledgements</name>
      <t>We wish to thank Susan Hares, Jeffery Hass and Li Yang for their valuable comments and suggestions on this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
