Lecture 15: DNS Cache Poisoning and DNSSEC Flashcards
What is DNS cache poisoning?
Attacker spoofs a DNS response and the results are stored in an upstream DNS cache
The poisoned records may redirqect clients to malicious servers
What does it mean that cache poisoning is self-cleaning?
Poisoned DNS records will go stale when their TTL expires and the DNS resolver or cache re-fetches them
Why can you not count on the TTL to handle DNS cache posioning?
DNS TTL can be very long
Up to 68 years
What are the goals of cache posioning?
Redirect users
- Send them to a website that tries to execute malware
- Send users to non-existent servers or joke/advertisement pages
- Use look a like web pages to steal login or other user info
How could an attack install malicious DNS resolver onto a client machine?
- Use a bot or remote access to set the DNS resolver of the machine remotely
- Physically have access to the machine
How can you mitigate cache posioning and bad resolvers?
Compare records returned from different DNS sources (resovlers)
Make DNS call twice to 2 different DNS resolvers, if they dont match you may have a poisoned cache
What is DNSSEC or Domain Name System Security Extensions?
A DNS protocol that provides authentication for DNS responses via message signing and chains of trust
How does DNSSEC prevent cache poisoning?
Uses public key cryptography to sign DNS responses to prevent spoofing by an attacker
What is the DNS Chain?
The DNS servers we follow when making a request
- Root DNS Server
- TLD DNS Server
- Authoritative DNS Server
How does DNSSEC work with the DNS chain?
Passes along verification information along each step in the DNS chain
How does signing DNS requests work in DNSSEC?
When you request records from a DNS server, it will sign it using a private key from a public/private key pair
What are DNSSEC signatures stored?
RRSIG
Resource Record SIGnature
What key signing algorithms are considered obsolete?
- RSA
- MD5
What key signing algorithms are used today?
- RSA/SHA-1
- SHA-256
- SHA-512
- ECDSA
What is the DNSKEY record?
Matching public key of the private key used to generate the RRSIG