Wat is een DNS Flood Attack?
Een DNS overstroming is een soort Distributed Denial of Service (DDoS) aanval die DNS infrastructuur overweldigt door het verzenden van enorme volumes DNS queries naar DNS servers (authoritatieve nameservers of recursieve resolvers). Het doel is om serverbronnen uit te putten, waardoor de DNS-service niet beschikbaar is en legitieme gebruikers ervan worden weerhouden domeinnamen op te lossen.
Effect van DNS Flood Attacks
Wanneer DNS-servers overweldigd zijn:
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)
Effecten:
- Websites worden onbereikbaar (zelfs als webservers operationeel zijn)
- E-mail levering mislukt (MX record opzoeken mislukt)
- API's en diensten die vertrouwen op DNS worden niet beschikbaar
- Bijkomende schade aan gedeelde DNS-infrastructuur
Soorten DNS-aanvallen
Directe DNS-zoekopdracht
Aanvaller stuurt legitieme DNS-queries op hoog volume:
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...
Kenmerken:
- Geldige DNS-queries (moeilijk te filteren)
- Vaak voor willekeurige subdomeinen (bypass caching)
- Gebruikt botnets voor gedistribueerde aanval
DNS-versterkeraanval
Exploiteert recursieve resolvers om aanvalsverkeer te versterken:
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
Voorbeeld:
Attacker sends: 60-byte query for TXT record (ANY query)
Resolver sends: 3000-byte response to victim
Amplification: 50x
NXDOMAIN Flood
Vragen voor niet bestaande domeinen om caching te omzeilen:
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
Phantom Domain Attack
Vragen legitieme domeinen die niet reageren:
Attacker: Queries resolver for slow/non-responsive domains
Resolver: Waits for timeout, consumes resources
Result: Resolver resource exhaustion
Willekeurige subdomeinaanval
Zoekt willekeurige subdomeinen om cache hits te voorkomen:
Query: abc123random.example.com
Query: xyz789random.example.com
Query: def456random.example.com
Each is unique → cache miss → authoritative query
Overwhelms authoritative nameservers
Aanvallen vectoren en technieken
Botnet-driven aanvallen
Compromised devices:
- IoT devices (cameras, routers)
- Infected computers
- Hacked servers
Distributed attack:
10,000 bots × 100 queries/sec = 1 million queries/sec
Reflectieaanvallen
Attacker spoofs victim's IP
Sends queries to many open resolvers
Resolvers respond to victim with large answers
Victim receives amplified traffic
Toepassing-laag overstromingen
Legitimate-looking queries
Difficult to distinguish from real traffic
May target specific resource-intensive query types
DNS Flood Attacks detecteren
Ongebruikelijke zoekopdracht Volume
Normal baseline: 10,000 queries/second
During attack: 500,000+ queries/second
Monitor:
# Check query rate (BIND)
rndc status | grep "queries resulted"
# Analyze query logs
tail -f /var/log/named/queries.log | wc -l
Hoge NXDOMAIN rate
Normal: 5-10% NXDOMAIN responses
Attack: 50-90% NXDOMAIN responses (random subdomain flood)
Bron IP distributie
Legitimate: Diverse source IPs, geographic spread
Attack: Concentrated sources, unusual geographic patterns
Zoekpatronen
Legitimate: Repetitive queries (common domains cached)
Attack: Unique queries (random strings, no cache benefit)
Responstijd degradatie
Normal: < 50ms response time
Under attack: > 1000ms or timeouts
Verminderen van DNS-aanvallen
Bescherming van de infrastructuur
Anycast DNS
Verdeel het verkeer over meerdere geografische locaties:
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
Voordelen:
- Automatische belastingsverdeling
- Geografische veerkracht
- Aanval verkeer absorptie
Oversized DNS-infrastructuur
Capacity: 10x normal peak traffic
Reserves: Handle sudden spikes
Auto-scaling: Add capacity during attacks
Rate Limiting
# BIND rate limiting (response-rate limiting)
rate-limit {
responses-per-second 10;
window 5;
slip 2;
};
Beperkt de reacties van dezelfde bron om versterkingsaanvallen te voorkomen.
Zoekopdracht Filteren
# Block ANY queries (common in amplification)
# Block excessively long queries
# Block known-malicious patterns
BIND Voorbeeld:
# Block ANY queries
match-query {
type ANY;
action drop;
};
DNS Provider-Level Defenses
DNSSEC
DNSSEC:
- Voorkomt cache vergiftiging tijdens aanvallen
- Behoud integriteit onder aanvalsomstandigheden
Verborgen Meesterconfiguratie
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
DNS Firewall / IDS
Analyze queries in real-time
Block suspicious patterns
Whitelist known-good clients
Blacklist attack sources
Bescherming op aanvraagniveau
Response Rate Limiting (RRL)
Limit identical responses to same client
Prevents amplification attacks
Slip mode: Occasionally allow queries through (to not break legitimate recursive resolvers)
BIND-configuratie:
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;
};
};
Cache Optimalisatie
Increase cache size to absorb repeated queries
Longer TTLs where appropriate (trade-off with agility)
Prefetch popular records
Zoekopdracht Filteren
# Drop queries for non-existent zones
# Block queries from known-bad sources
# Rate-limit per-source queries
Netwerkbescherming
BGP Blackholing
Route attack traffic to null0
Sacrifice availability to preserve infrastructure
Last resort when attack overwhelms capacity
Upstream ISP-filtering
Coordinate with ISP to filter attack traffic
Source IP validation (prevent spoofing)
Traffic scrubbing centers
DDoS Mitigation Services
Cloudflare, Akamai, AWS Shield
Absorb attack traffic before reaching your servers
Global capacity to withstand large attacks
Beste praktijken voor DNS Resilience
Gebruik meerdere DNS Providers
Primary provider: Cloudflare
Secondary provider: AWS Route 53
If one is attacked/down, other continues serving
Different infrastructure reduces single point of failure
DNSSEC implementeren
Protects against DNS spoofing/cache poisoning
Maintains integrity during attacks
Build trust even under attack conditions
Monitor DNS Performance
Real-time query rates
Response times
NXDOMAIN percentages
Geographic distribution of queries
Error rates
Tools: Grafana + Prometheus, Datadog, AWS CloudWatch
Reguliere capaciteit testen
Load testing: Can infrastructure handle 10x traffic?
Failover testing: Do secondary providers activate correctly?
Attack simulation: Test mitigation strategies
Recursie op auteursservers uitschakelen
# BIND
recursion no;
Auteurlijke nameservers moeten niet fungeren als recursieve resolvers.
Zoneoverdracht beperken
# BIND
allow-transfer { 10.0.0.2; 10.0.0.3; }; # Only specific slaves
Voorkom dat aanvallers de hele zone dumpen.
Keep Software updated
Regularly update DNS server software
Patch known vulnerabilities
Subscribe to security advisories
Reageren op actieve DNS Flood Attack
Onmiddellijke acties
1. Verify aanval treedt op
# Check query rate
rndc status
# Check load
top
2. Beperking van de snelheid inschakelen
# BIND: Enable RRL if not already active
rndc addzone rate-limit
3. Contact DDoS mitigatieprovider
- Schrobben activeren
- Redirect verkeer door mitigatienetwerk
4. * * Analyseer aanvalspatronen * *
# 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
5. Block voor de hand liggende aanvalsbronnen
# 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
Acties op middellange termijn
1. Schaalinfrastructuur
- Voeg meer naamservercapaciteit toe
- Verdeel via anycast indien niet reeds
2. Extra filtering implementeren
- Blokkeer query patronen specifiek voor aanval
- Whitelist known-good bronnen
3. Coördineren met aanbieders
- ISP/hostingprovider
- DNS provider
- DDoS mitigatiedienst
4. Document aanval
- Pakketvangsten
- Logs
- Verkeersgrafieken
- Voor analyse achteraf en juridische doeleinden
Post-aanvalsanalyse
1. Review doeltreffendheid van mitigatiemaatregelen
2. Identificeer zwakke infrastructuur
3. Bijgewerkte procedures voor incidentrespons
4. Beschouw verbeteringen op lange termijn (multi-provider DNS, grotere capaciteit)
Juridische zaken en verslaglegging
Rapporteer aan autoriteiten
- FBI IC3 (V.S.): ic3.gov
- Lokale cybercriminaliteit eenheden
- ISP misbruik afdelingen
Bewijsverzameling
# 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
DNS overstromingsaanvallen zijn een ernstige bedreiging voor online diensten, maar met de juiste infrastructuur, monitoring en mitigatie strategieën, hun impact kan worden geminimaliseerd.