Attacking encrypted DNS transports¶
Attack pattern¶
DoT, DoH and DoQ each wrap the query so the path cannot read it, and each leaves the question of what to do when the wrapper is unavailable to the client’s configuration. That configuration is usually opportunistic, which is a polite way of saying it falls back to port 53 when the encrypted route stops answering. So the attack is rarely against the cryptography. Block 853, inject a reset, spoof a connection close, and a client that was told to prefer encryption rather than require it goes back to speaking in the clear on its own. What survives the wrapper is almost as useful: response sizes, inter-arrival times and, where Encrypted Client Hello is absent, the server name sitting in plaintext at the front of the handshake.
1. Attack Encrypted DNS [OR]
1.1 Privacy Leaks [OR]
1.1.1 Metadata Correlation [AND]
1.1.1.1 IP + timestamp correlation across multiple resolvers
1.1.1.2 Query size and timing analysis
1.1.1.3 Server name indication (SNI) monitoring
1.1.2 ML-based fingerprinting [OR]
1.1.2.1 Neural network traffic analysis
1.1.2.2 Query pattern recognition
1.1.2.3 Encrypted traffic classification
1.1.3 Protocol Identification [OR]
1.1.3.1 DoH/DoT/DoQ protocol fingerprinting
1.1.3.2 Application-level protocol detection
1.1.3.3 Middlebox cooperation for traffic analysis
1.2 Downgrade Attacks [OR]
1.2.1 Force fallback to plaintext DNS [OR]
1.2.1.1 TCP RST injection on port 853 (DoT)
1.2.1.2 HTTP/2 GOAWAY frame injection (DoH)
1.2.1.3 QUIC connection close spoofing (DoQ)
1.2.2 Encryption Bypass [OR]
1.2.2.1 Disable ECH (Encrypted Client Hello) in DoH
1.2.2.2 TLS version downgrade attacks
1.2.2.3 QUIC version negotiation manipulation
1.2.3 Middlebox Interference [OR]
1.2.3.1 ISP-level protocol blocking
1.2.3.2 Enterprise firewall policy enforcement
1.2.3.3 Government-mandated protocol filtering
1.3 Certificate Attacks [OR]
1.3.1 CA Compromise [OR]
1.3.1.1 Rogue certificate issuance
1.3.1.2 Intermediate CA exploitation
1.3.1.3 Certificate transparency log poisoning
1.3.2 Client Validation Bypass [OR]
1.3.2.1 Self-signed certificate acceptance
1.3.2.2 Certificate pinning bypass
1.3.2.3 Trust store manipulation
Downgrade beats decryption¶
DoT sits on port 853 and announces itself by doing so. Blocking that port is the entire downgrade attack against any client configured to fall back.
DoH sits on 443 among everything else, so suppressing it means naming resolvers rather than naming a port, and the list is never complete.
Strict mode fails closed and opportunistic mode fails open. Most shipped defaults are opportunistic.
Padding is optional under RFC 8467. Without it, response sizes and inter-arrival gaps still describe which names were asked for.
Encrypted Client Hello is what keeps the server name off the wire. Where it is absent or stripped, the destination reads in plaintext whatever the DNS transport underneath.
Resolver authentication rests on the same public key infrastructure as everything else, so a rogue certificate or an edited trust store hands the channel back to whoever holds it.