Lehrstuhl für Netzarchitekturen und Netzdienste
Institut für Informatik Technische Universität München
ilab Lab 5 DNS and DNSSec History and Motivation of DNS Problem: - - PowerPoint PPT Presentation
Lehrstuhl fr Netzarchitekturen und Netzdienste Institut fr Informatik Technische Universitt Mnchen ilab Lab 5 DNS and DNSSec History and Motivation of DNS Problem: The Internet needs IP addresses. Human beings do not memorize IP
Lehrstuhl für Netzarchitekturen und Netzdienste
Institut für Informatik Technische Universität München
Internetpraktikum 2
Problem: The Internet needs IP addresses. Human beings do not
memorize IP addresses well.
Idea: Map easy to remember symbolic names to IP address
(Not so good) first approach: hosts.txt
Feasible for small networks, not feasible for the internet
Better approach: Domain Name System (DNS)
Picture: http://www3.isi.edu
Internetpraktikum 3
DNS is a distributed name database
DNS is a protocol on Application Layer
“getHostByName”
DNS is extensible, e.g.:
Internetpraktikum 4
Zone ~ administrative unit within the DNS A Zone‘s nameserver saves information in a Zone File A Zone File consists of several Resource Records (RR)
The RR can be split into the following fields
Internetpraktikum 5
Typ Description A Mapping Name IPv4 Address
foo.org. 3600 IN A 12.34.56.78
AAAA Mapping Name IPv6 Address
foo.org. 3600 IN AAAA 2001:db8::1
MX Name of the mail server (Mail Exchanger) of the domain foo.org
foo.org. 3600 IN MX 10 mail.foo.org.
NS Nameserver of a domain
foo.org. 1800 IN NS ns.foo.org. ns.foo.org 1800 IN A 12.34.56.79 („Glue Record“)
CNAME Alias name for a A resource record (Canonical Name)
www.foo.org. 3600 IN CNAME foo.org.
PTR Mapping IP address to name (Pointer)
78.56.34.12.in-addr.arpa. 3600 IN PTR foo.org.
Many more: CERT, TXT, ISDN, SOA, etc…
Internetpraktikum 6
DNS uses UDP
DNS-Header:
information (e.g. for recursive/iterative resolving), authority bit , …
Queries:
Answer-RRs
Authority/ Additional RR:
IP UDP DNS- Header Query Answer RRs Authority- RRs Additional RRs
12 variabel variabel variabel variabel [byte]
Internetpraktikum 7
Internetpraktikum 8
de se ... arpa net
gov mil edu com
The name space is hierarchically structured into zones One zone corresponds to a subtree of the DNS Name Space
Country domains Functional domains
us tum in net www IEEE gemini foo bar yale eng .
Top Level Domain 2nd Level Domain (Organizations) Root domain Top Level Domain Hosts
Internetpraktikum 9
Each Zones has one primary and 0..n secondary name servers
subdomains.
NS are also queried by stub resolvers (“hosts”) for DNS lookups
Internetpraktikum 10
de tum in net www .
1) http://www.net.in.tum.de 2) IP www.net.in.tum.de? 13) 131.159.15.231 3 ) w . n . i . t . d n s ? 4) IP de ns 5) w.n.i.t.d ns? 6 ) I P t u m n s 7) w.n.i.t.d ns? 8) IP in ns 9) w.n.i.t.d ns? 1 ) I P n e t n s 11) www.net.in.tum.de? 12) 131.159.15.231 1 4 ) G e t … 1 5 ) W e b s i t e … 8) IP in ns
Internetpraktikum 11
iterative recursive
Name Name Info Info Name Name Info Info
Internetpraktikum 12
Purpose of the reverse lookup:
Approach:
„inverted“ notation hierarchical structuring
Example:
IPv6:
arpa in-addr 207 171 168 16
Internetpraktikum 13
DNS was designed at a point in time, where security was no issue due
to the small amount of network users (mostly scientists).
Security was neglected in DNS.
Possible impact of successful DNS hacks:
The security of the internet depends on the security of DNS
Internetpraktikum 14
Examples for attacks
faked entries to the DNS caches
software manufacturers about the attack
1) ? (with
random ID)
DoS 2) ! (with faked IP and
„guessed“ ID
Internetpraktikum 15
Privacy of DNS queries/replies is no goal
Basic idea: make DNS safe using digital signatures
Digital signatures are based upon public key cryptography
Basic question:
entity?
Use a Chain of Trust
Internetpraktikum 16
DNS servers obtain public/private keys
„built-in“ the operating system (like webbrowser‘s cert store)
Root servers sign (using their private key):
Signer) Root servers vouch for the validity of the TLD‘s public key.
Chain of trust continues: TLDs sign (using their private keys):
(Analogous for deeper hierarchy levels, e.g. “in.tum.de”)
A chain of trust is established from root servers down to subdomains
Internetpraktikum 17
Typ Beschreibung DS The „parent zone“ publishes the fingerprint of the public key used within her „child zone“ (Delegation Signer), e.g. the root server have a DS RR for „.de.“
dskey.example.com. 86400 IN DS 60485 5 1 ( 2BB183AF5F22588179A53B0A 98631FAD1A292118 )
RRSIG Signature over all records within a zone with the same owner, type and class, e.g. all A RRs of class IN for host.example.com
host.example.com. 86400 IN RRSIG A 5 3 86400 20030322173103 ( 20030220173103 2642 example.com. oJB1W6WNGv+ldvQ3WDG0MQkg5IEhjRip8WTr PYGv07h108dUKGMeDPKijVCHX3DDKdfb+v6o B9wfuh3DTJXUAfI/M0zmO/zz8bW0Rznl8O3t GNazPwQKkRN20XPXV6nwwfoXmJQbsLNrLfkG J5D6fwFm8nN+6pBzeDQfsS3Ap3o= )
DNSKEY Contains the public key that can be used to verify signatures within a zone
example.com. 86400 IN DNSKEY 256 3 5 ( AQPSKmynfzW4kyBv015MUG2DeIQ3 Cbl+BBZH4b/0PY1kxkmvHjcZc8no kfzj31GajIQKY+5CptLr3buXA10h WqTkF7H6RfoRqXQeogmMHfpftf6z Mv1LyBUgia7za6ZEzOJBOztyvhjL 742iU/TpPSEDhm2SNKLijfUppn1U aNvv4w== )
NSEC, NSEC3 Contains the name (hash value) of the lexicographically following DNS name
alfa.example.com. 86400 IN NSEC host.example.com.
Internetpraktikum 18
Question: How can one believe in a „negative“ query response?
Approach: use „authenticated denial of existence“ (NSEC)
alpha.foo.com. 86400 IN NSEC beta.foo.com. ( … ) beta.foo.com. 86400 IN NSEC cesar.foo.com. ( … ) cesar.foo.com. 86400 IN NSEC alpha.foo.com. ( … )
Note: This list can be precomputed. I.e. the server does not need to
compute a special message to deny the existence of a subdomain. Decreases CPU load on the nameserver.
Internetpraktikum 19
alpha.foo.com. 86400 IN NSEC beta.foo.com. ( … ) beta.foo.com. 86400 IN NSEC cesar.foo.com. ( … ) cesar.foo.com. 86400 IN NSEC alpha.foo.com. ( … )
A query for the A RR of b.foo.com will be answered with:
alpha.foo.com. 86400 IN NSEC beta.foo.com. ( … ) including the signature.
The resolver validates the signature and evaluates the massage:
There is no b.foo.com! The resolver can be confident, that b.foo.com really does not exist.
Internetpraktikum 20
Problem: NSEC RR can be abused to enumerate all DNS entries within a zone (“Zone
Walking”).
The attacker only needs to send enough well chosen queries for DNS names, e.g.:
Query for host „b“. Response: alpha.foo.com NSEC beta.foo.com Query for host „c“. Response: beta.foo.com. NSEC cesar.foo.com Query for host „a“. Response: cesar.foo.com NSEC alpha.foo.com
The attacker finally knows all subdomains alpha, beta, and cesar. Privacy concerns!
DNSSec.
Internetpraktikum 21
Hashed Authenticated Denial of Existence (NSEC3)
177d..7f7e 86400 IN NSEC3 857a..af32 ( … ) 857a..af32 86400 IN NSEC3 a25c..a018 ( … ) a25c..a018 86400 IN NSEC3 177d..7f7e ( … )
Internetpraktikum 22
177d..7f7e 86400 IN NSEC3 857a..af32 ( … ) 857a..af32 86400 IN NSEC3 a25c..a018 ( … ) a25c..a018 86400 IN NSEC3 177d..7f7e ( … )
Query for host „b“ is received by DNS server.
DNS server hashes „b“ c123..aad3
DNS server searches and sends the suitable NSEC3 RR (incl. signature): a25c..a018 86400 IN NSEC3 177d..7f7e ( … )
Attacker gathers information: „After a host with the hashed name a25c..a018 there is another host with the hashed name 177d..7f7e“
As the hash function is a one way function, the attacker can not easily map the hashed values back to a domain name.
Internetpraktikum 23
DNS is one of the most important services deployed in the Internet
The security of DNS is highly relevant for the security inside the
Internet
DNSSec is used for adding the missing security to DNS