DNS フラッド

セキュリティ & 脅威
過剰なクエリで DNS インフラストラクチャを圧倒するサービス拒否攻撃。
← 用語集に戻る

DNSフラッド攻撃とは

「DNSフラッド攻撃とは」について、概要と影響を説明します。

DNSフラッド攻撃の影響

「DNSフラッド攻撃の影響」について、想定される影響と確認点を整理します。

Normal operation:

User → DNS query → DNS server → Response → Website loads

During DNS flood:

User → DNS query → DNS server (overwhelmed, no response)

→ Website doesn't load (even though web server is fine)

DNSフラッド攻撃の種類

「DNSフラッド攻撃の種類」について、代表的な手法と特徴を示します。

直接DNSクエリフラッド

「直接DNSクエリフラッド」について、検出と対応に必要な実務上の要点をまとめます。

Botnet → Millions of DNS queries → Target DNS server

Query examples:

example.com A

www.example.com A

random1.example.com A

random2.example.com A

...millions more...

DNS増幅攻撃

「DNS増幅攻撃」について、運用時の防御と検証方法を説明します。

1. Attacker sends small query to open resolver

2. Spoofs source IP as victim's IP

3. Resolver sends large response to victim

4. Attacker amplifies bandwidth 28-54x

Attacker sends: 60-byte query for TXT record (ANY query)

Resolver sends: 3000-byte response to victim

Amplification: 50x

NXDOMAINフラッド

「NXDOMAINフラッド」について、安全な復旧と報告の手順を確認します。

Query: random-12345.example.com (doesn't exist)

Server must check authoritative zone every time

Cannot be cached (NXDOMAIN responses often have low TTL)

Consumes more server resources than cached responses

ファントムドメイン攻撃

「ファントムドメイン攻撃」について、概要と影響を説明します。

Attacker: Queries resolver for slow/non-responsive domains

Resolver: Waits for timeout, consumes resources

Result: Resolver resource exhaustion

ランダムサブドメイン攻撃

「ランダムサブドメイン攻撃」について、想定される影響と確認点を整理します。

Query: abc123random.example.com

Query: xyz789random.example.com

Query: def456random.example.com

Each is unique → cache miss → authoritative query

Overwhelms authoritative nameservers

攻撃ベクトルと手法

「攻撃ベクトルと手法」について、代表的な手法と特徴を示します。

ボットネットによる攻撃

「ボットネットによる攻撃」について、検出と対応に必要な実務上の要点をまとめます。

Compromised devices:
  • IoT devices (cameras, routers)
  • Infected computers
  • Hacked servers

Distributed attack:

10,000 bots × 100 queries/sec = 1 million queries/sec

リフレクション攻撃

「リフレクション攻撃」について、運用時の防御と検証方法を説明します。

Attacker spoofs victim's IP

Sends queries to many open resolvers

Resolvers respond to victim with large answers

Victim receives amplified traffic

アプリケーション層フラッド

「アプリケーション層フラッド」について、安全な復旧と報告の手順を確認します。

Legitimate-looking queries

Difficult to distinguish from real traffic

May target specific resource-intensive query types

DNSフラッド攻撃の検出

「DNSフラッド攻撃の検出」について、概要と影響を説明します。

異常なクエリ量

「異常なクエリ量」について、想定される影響と確認点を整理します。

Normal baseline: 10,000 queries/second

During attack: 500,000+ queries/second

# Check query rate (BIND)

rndc status | grep "queries resulted"

# Analyze query logs

tail -f /var/log/named/queries.log | wc -l

高いNXDOMAIN率

「高いNXDOMAIN率」について、代表的な手法と特徴を示します。

Normal: 5-10% NXDOMAIN responses

Attack: 50-90% NXDOMAIN responses (random subdomain flood)

送信元IPの分布

「送信元IPの分布」について、検出と対応に必要な実務上の要点をまとめます。

Legitimate: Diverse source IPs, geographic spread

Attack: Concentrated sources, unusual geographic patterns

クエリパターン

「クエリパターン」について、運用時の防御と検証方法を説明します。

Legitimate: Repetitive queries (common domains cached)

Attack: Unique queries (random strings, no cache benefit)

応答時間の低下

「応答時間の低下」について、安全な復旧と報告の手順を確認します。

Normal: < 50ms response time

Under attack: > 1000ms or timeouts

DNSフラッド攻撃の緩和

「DNSフラッド攻撃の緩和」について、概要と影響を説明します。

インフラストラクチャレベルの防御

「インフラストラクチャレベルの防御」について、想定される影響と確認点を整理します。

Single IP address (e.g., 1.2.3.4) announced from multiple locations

Attack traffic automatically routed to nearest server

Load distributed across global network

Harder to overwhelm all locations simultaneously

Capacity: 10x normal peak traffic

Reserves: Handle sudden spikes

Auto-scaling: Add capacity during attacks

# BIND rate limiting (response-rate limiting)

rate-limit {

responses-per-second 10;

window 5;

slip 2;

};

# Block ANY queries (common in amplification)

# Block excessively long queries

# Block known-malicious patterns

# Block ANY queries

match-query {

type ANY;

action drop;

};

DNSプロバイダーレベルの防御

「DNSプロバイダーレベルの防御」について、代表的な手法と特徴を示します。

Master server (hidden):    10.0.0.1 (not publicly known)

Slave servers (public): ns1.example.com, ns2.example.com

Attackers target slaves

Master remains operational

Can quickly update slaves if needed

Analyze queries in real-time

Block suspicious patterns

Whitelist known-good clients

Blacklist attack sources

アプリケーションレベルの保護

「アプリケーションレベルの保護」について、検出と対応に必要な実務上の要点をまとめます。

Limit identical responses to same client

Prevents amplification attacks

Slip mode: Occasionally allow queries through (to not break legitimate recursive resolvers)

options {

rate-limit {

responses-per-second 5;

referrals-per-second 5;

nodata-per-second 5;

nxdomains-per-second 5;

errors-per-second 5;

window 5;

};

};

Increase cache size to absorb repeated queries

Longer TTLs where appropriate (trade-off with agility)

Prefetch popular records

# Drop queries for non-existent zones

# Block queries from known-bad sources

# Rate-limit per-source queries

ネットワークレベルの防御

「ネットワークレベルの防御」について、運用時の防御と検証方法を説明します。

Route attack traffic to null0

Sacrifice availability to preserve infrastructure

Last resort when attack overwhelms capacity

Coordinate with ISP to filter attack traffic

Source IP validation (prevent spoofing)

Traffic scrubbing centers

Cloudflare, Akamai, AWS Shield

Absorb attack traffic before reaching your servers

Global capacity to withstand large attacks

DNSレジリエンスのベストプラクティス

「DNSレジリエンスのベストプラクティス」について、安全な復旧と報告の手順を確認します。

複数のDNSプロバイダーを使う

「複数のDNSプロバイダーを使う」について、概要と影響を説明します。

Primary provider: Cloudflare

Secondary provider: AWS Route 53

If one is attacked/down, other continues serving

Different infrastructure reduces single point of failure

DNSSECを実装する

「DNSSECを実装する」について、想定される影響と確認点を整理します。

Protects against DNS spoofing/cache poisoning

Maintains integrity during attacks

Build trust even under attack conditions

DNSパフォーマンスを監視する

「DNSパフォーマンスを監視する」について、代表的な手法と特徴を示します。

Real-time query rates

Response times

NXDOMAIN percentages

Geographic distribution of queries

Error rates

容量を定期的にテストする

「容量を定期的にテストする」について、検出と対応に必要な実務上の要点をまとめます。

Load testing: Can infrastructure handle 10x traffic?

Failover testing: Do secondary providers activate correctly?

Attack simulation: Test mitigation strategies

権威サーバーの再帰を無効にする

「権威サーバーの再帰を無効にする」について、運用時の防御と検証方法を説明します。

# BIND

recursion no;

ゾーン転送を制限する

「ゾーン転送を制限する」について、安全な復旧と報告の手順を確認します。

# BIND

allow-transfer { 10.0.0.2; 10.0.0.3; }; # Only specific slaves

ソフトウェアを最新に保つ

「ソフトウェアを最新に保つ」について、概要と影響を説明します。

Regularly update DNS server software

Patch known vulnerabilities

Subscribe to security advisories

アクティブなDNSフラッド攻撃への対応

「アクティブなDNSフラッド攻撃への対応」について、想定される影響と確認点を整理します。

直ちに行う対応

「直ちに行う対応」について、代表的な手法と特徴を示します。

# Check query rate

rndc status

# Check load

top

# BIND: Enable RRL if not already active

rndc addzone rate-limit

# Top query types

grep "query" /var/log/named/queries.log | awk '{print $6}' | sort | uniq -c | sort -rn | head -20

# Top queried domains

grep "query" /var/log/named/queries.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20

# Identify top source IPs

grep "query" /var/log/named/queries.log | awk '{print $5}' | cut -d# -f1 | sort | uniq -c | sort -rn | head -50

# Block at firewall

iptables -A INPUT -s ATTACKER_IP -j DROP

中期的な対応

「中期的な対応」について、検出と対応に必要な実務上の要点をまとめます。

攻撃後の分析

「攻撃後の分析」について、運用時の防御と検証方法を説明します。

法的対応と報告

「法的対応と報告」について、安全な復旧と報告の手順を確認します。

当局への報告

「当局への報告」について、概要と影響を説明します。

証拠の収集

「証拠の収集」について、想定される影響と確認点を整理します。

# Packet captures

tcpdump -i eth0 -w dns-attack.pcap port 53

# Full query logs

tar -czf attack-logs-$(date +%Y%m%d).tar.gz /var/log/named/

# Traffic graphs/screenshots

# System resource usage

この知識を実践する

DomScan の API を使用してドメインの可用性、状態などを確認します。