Internet Engineering Task Force | H. Zhang |
Internet-Draft | P. Zuo |
Intended status: Informational | Y. Sun |
Expires: January 27, 2021 | M. Yuan |
CNNIC | |
July 26, 2020 |
DNS DOTS considerations
draft-zhang-dots-dns-considerations-00
DDoS Open Threat Signaling(DOTS) described in [RFC8612] is a standardized method to coordinate a real-time response among involved operators. This document focus on the considerations regard to the use of DOTS to mitigate DNS-Related DDoS attacks.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 27, 2021.
Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
Domain Name System(DNS) is one of the most foundational and essential services on the Internet, the security and robustness of DNS are of great significance. However, the stable operation of DNS has been threatened by Distributate Denial of Service(DDoS) for quiet a long time. In addition, DNS is often used to implement amplification attacks, reflection attacks, etc.
DDoS Open Threat Signaling(DOTS) described in [RFC8612] is a standardized method to coordinate a real-time response among involved operators. This document focus on the considerations regard to the use of DOTS to mitigate DNS-Related DDoS attacks.
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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
This document uses the terminologies defined in [RFC8612] and [I-D.ietf-dots-use-cases].
DOTS Server described in RFC 8612 is responsible for handling messages from DOTS client. In order to provide more effective and comprehensive mitigation, the DOTS server should have the ability to filter DNS messages based on different transfer protocols. At the time of this writing, the majority of DNS traffic is transmitted in plain text via UDP. As some new DNS protocols like DoT[RFC 7858], DoH[RFC8484] are introduced, encrypted DNS traffic transmitted via TLS and HTTPS is growing. As the normal deep packet inspection method is not easy to detect encrypted traffic, port filtering or deep learning methods can be considered to identify abnormal traffic in the case of DoT or DoH.
Filters described in RFC 8612 should be extended to filter DNS traffic based on DNS message characteristics. For example, DNS packets can be filtered by domain name queried. Based on the telemetry of the attack, filter can drop or transmit DNS packages according to specific domain names or other DNS characteristics. In addition, filter should support bidirectional filtering of DNS traffic. For example, for the use of DNS to implement amplification attacks, the filter can drop the DNS response from the DNS server side.
Data channel described in RFC 8612 should support the transmission of blacklists and whitelists used in DNS traffic filtering and DNS service status between DOTS client and DOTS server. The list should include the DNS packet characteristics such as IP, port, domain name, query type, etc. For scenarios where the blacklist and whitelist have huge size and may cost long time to transfer, regular and incremental update should be considered to ensure timely delivery of information.
DNS server should deploy DNS traffic management module to detect DDoS traffic. When DDoS attack happens, traffic management module will notify DOTS client to request attack coordination with DOTS server.
DOTS Client should set dynamic thresholds for different attacks. For example, Bit-and-piece attack is a new pattern of attach which spreading small and fine-targeted traffic attacks across hundreds of IP-addresses to evade detection. This new pattern is often leveraged on open DNS resolvers to launch what is commonly known as DNS amplification. In this case, a relatively low threshold should be set to detect such attacks.
The DNS server directly processes DNS traffic, thus it can obtain the status of DNS nodes most accurately and timely. A suitable attack detection system should be applied on the DNS server side to implement attack detection, feature baseline learning, protection strategy recommendations, etc. For example, the DOTS client deployed in the DNS server side can comprehensively calculate the probability of false alarm and the probability of missed reports to trigger the security mechanism reasonably. Attack detection system can consider the classification of attack types, so that Filter can choose more reasonable strategies in the early stage of a DDoS mitigation.
The DNS server should learn the characteristics of both the normal DNS traffic and DDoS traffic in real time. The normal traffic characteristics can be used as the normal flow profile. These characteristics include but are not limited to: query rate of specific domains, characteristics of domains, amplification ratio of query size to response size, anomaly detection parameters and models based on machine learning, etc.
Generally ordinary attacks have relatively obvious characteristics, for example sending a large number of requests for random subdomains to a DNS resolver. These type of attacks can be detected based on the characteristics relatively simply. If the attack randomness is strong and it is difficult to extract clear attack characteristics, the characteristics aggregation can be performed by machine learning.
Random subdomain attack is a type of DDOS against DNS service that happens frequently. Attackers send a lot of DNS queries against a valid and existing domain name. However, the queries will not target the main domain name, but a lot of non-existing subdomains. The goal of this attack is to create a DoS that will saturate the DNS server, and cause the faliure of DNS service. Here is the mitigation process of such Random subdomain attack.
1. A large number of requests for XXX.example.cn are mixed into the normal DNS request, XXX represents a random domain name label. The request traffic exceeds the service capabilities of DNS server.
2. The Traffic Moinitor located in DNS server detects the anomaly traffic and sends attackrelated features and mitigation requests to the Filter in the ISP through the DOTS interface. The information contains the following: (1)The QNAME field of the attack packet is random label + example.cn; (2)news.example.cn should be kept and transmitted; (3)The normal QPS of domain name news.example.cn is M; (4)The maximum response capacity of the server is N.
3: Filter implements mitigation process according to the signal it receives and re-injects the cleaned data to the DNS server. After filtering, the traffic contains normal request traffic and news.example.cn requests. The total request traffic does not exceed the DNS server service capacity.
+---------DOTS signal/data channel-------+ |S C| V | +---------------------+ +------------+ | | | | | DDOS ATTACK | | | | |Filter| |========================>|----------+ | | | | | |========================>| DNS | | | | +------+ |====|XXX.example.cn|====>| Traffic | | | +-----------> |========================>| Detection| | |------------------> |========================>|----------+ | | +------------> | normal DNS traffic | | | | +----------> |------------------------>| DNS | | ISP | | | | Server | +---------------------+ +------------+ *C is for DOTS client functionality *S is for DOTS server functionality Figure1: Random subdomain attack traffic
+--------DOTS signal/data channel--------+ |S C| V | +---------------------+ +------------+ | | |---+| |----------+ | | |Filter|-+ || | DNS | | | +------+ | || | Traffic | | | ^ ^ | || news.example.cn | Detection| | |----------- | | | +------------------------->|----------+ | |------------+ | | | normal DNS REQ | | | +--------+ +--------------------------->| | | | +------ | | DNS | | ISP | | | | Server | +---------------------+ +------------+ *C is for DOTS client functionality *S is for DOTS server functionality Figure2: normal DNS traffic after filtering
In the above example, the Filter uses the characteristics of anomaly traffic provided by the DNS serve. This process not only filters the attack traffic, but also keeps normal DNS packets within the service capabilities of the DNS server to the maximum extent.
TBD.
[I-D.ietf-dots-use-cases] | Dobbins, R., Migault, D., Moskowitz, R., Teague, N., Xia, L. and K. Nishizuka, ""Use cases for DDoS Open Threat Signaling(work in progress)"", July 2019. |
[RFC7858] | Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D. and P. Hoffman, ""Specification for DNS over Transport Layer Security (TLS)"", May 2016. |
[RFC8484] | Hoffman, P. and P. McManus, ""DNS Queries over HTTPS (DoH)"", October 2018. |
[RFC8612] | Mortensen, A., Reddy, T. and R. Moskowitz, ""DDoS Open Threat Signaling (DOTS) Requirements"", May 2019. |