CS 3700 Networks and Distributed Systems DNS (What’s in a Name?) Revised 8/20/15.

Slides:



Advertisements
Similar presentations
Sergei Komarov. DNS  Mechanism for IP hostname resolution  Globally distributed database  Hierarchical structure  Comprised of three components.
Advertisements

DNS and HTTPs ACN Presentation. Domain Names We refer to computers on the Internet (Internet hosts), by names like: sharda.ac.in These are called domain.
2.1 Installing the DNS Server Role Overview of the Domain Name System Role Overview of the DNS Namespace DNS Improvements for Windows Server 2008 Considerations.
Domain Name System. DNS is a client/server protocol which provides Name to IP Address Resolution.
Computer Networks: Domain Name System. The domain name system (DNS) is an application-layer protocol for mapping domain names to IP addresses Vacation.
Hands-On Microsoft Windows Server 2003 Networking Chapter 6 Domain Name System.
Domain Name System: DNS
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Domain Name System Some slides used with permissions.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
DNS Security Extensions (DNSSEC) Ryan Dearing. Topics History What is DNS? DNS Stats Security DNSSEC DNSSEC Validation Deployment.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 19 Domain Name System (DNS)
TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in.
Presented by Neeta Jain CISC 856 TCP/IP and Upper Layer Protocols RFC 1034 & RFC 1035.
Application Layer. Domain Name System Domain Name System (DNS) Problem – Want to go to but don’t know the IP addresswww.google.com Solution.
Domain Name System (DNS) Ayitey Bulley Session-1: Fundamentals.
NET0183 Networks and Communications Lecture 25 DNS Domain Name System 8/25/20091 NET0183 Networks and Communications by Dr Andy Brooks.
Tony Kombol ITIS Who knows this? Who controls this? DNS!
1 Domain Name System (DNS). 2 DNS: Domain Name System Internet hosts: – IP address (32 bit) - used for addressing datagrams – “name”, e.g.,
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 18: Domain Name System Slides used with.
TELE 301 Lecture 11: DNS 1 Overview Last Lecture –Scheduled tasks and log management This Lecture –DNS Next Lecture –Address assignment (DHCP)
Chapter 16 – DNS. DNS Domain Name Service This service allows client machines to resolve computer names (domain names) to IP addresses DNS works at the.
Computer Networks: Domain Name System. The domain name system (DNS) is an application-layer protocol for mapping domain names to IP addresses Vacation.
CSUF Chapter 6 1. Computer Networks: Domain Name System 2.
IIT Indore © Neminath Hubballi
DNS: Domain Name System
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Network Protocols Chapter 25 (Data Communication & Networking Book): Domain Name System (DNS) 1.
October 15, 2002Serguei A. Mokhov, 1 Intro to DNS SOEN321 - Information Systems Security.
Chapter 17 Domain Name System
October 8, 2015 University of Tulsa - Center for Information Security Microsoft Windows 2000 DNS October 8, 2015.
DNS Security Pacific IT Pros Nov. 5, Topics DoS Attacks on DNS Servers DoS Attacks by DNS Servers Poisoning DNS Records Monitoring DNS Traffic Leakage.
Netprog: DNS and name lookups1 Address Conversion Functions and The Domain Name System Refs: Chapter 9 RFC 1034 RFC 1035.
1 Kyung Hee University Chapter 18 Domain Name System.
Tony Kombol ITIS DNS! overview history features architecture records name server resolver dnssec.
Domain Name System Refs: Chapter 9 RFC 1034 RFC 1035.
Configuring Name Resolution and Additional Services Lesson 12.
Internet Address and Domain Name Service (DNS)
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 19 Domain Name System (DNS)
Security in DNS(DNSSEC) Yalda Edalat Pramodh Pallapothu.
CS 4700 / CS 5700 Network Fundamentals Lecture 12: DNS (What’s in a Name?) Revised 10/8/14.
DNS DNS overview DNS operation DNS zones. DNS Overview Name to IP address lookup service based on Domain Names Some DNS servers hold name and address.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Domain Name System Some slides used with permissions.
DNS Security Extension 1. Implication of Kaminsky Attack Dramatically reduces the complexity and increases the effectiveness of DNS cache poisoning –No.
DNS Security 1. Fundamental Problems of Network Security Internet was designed without security in mind –Initial design focused more on how to make it.
AfNOG-2003 Domain Name System (DNS) Ayitey Bulley
Web Server Administration Chapter 4 Name Resolution.
1 CMPT 471 Networking II DNS © Janice Regan,
Ch 6: DNSSEC and Beyond Updated DNSSEC Objectives of DNSSEC Data origin authentication – Assurance that the requested data came from the genuine.
Domain Name System (DNS) Joe Abley AfNOG Workshop, AIS 2014, Djibouti Session-1: Fundamentals.
TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in.
COMP 431 Internet Services & Protocols
Internet Naming Service: DNS* Chapter 5. The Name Space The name space is the structure of the DNS database –An inverted tree with the root node at the.
Domain Name System INTRODUCTION to Eng. Yasser Al-eimad
Basics of the Domain Name System (DNS) By : AMMY- DRISS Mohamed Amine KADDARI Zakaria MAHMOUDI Soufiane Oujda Med I University National College of Applied.
Grades update. Homework #1 Count35 Minimum Value47.00 Maximum Value Average
Short Intro to DNS (part of Tirgul 9) Nir Gazit. What is DNS? DNS = Domain Name System. For translation of host names to IPs. A Distributed Database System.
Internet infrastructure 1. Infrastructure Security r User expectations  Reliable service  Reliable endpoints – although we know of spoofing and phishing.
Using Digital Signature with DNS. DNS structure Virtually every application uses the Domain Name System (DNS). DNS database maps: –Name to IP address.
Understand Names Resolution
Attacking DNS Slides adapted from Olaf Kolkman, RIPE Lecture 18
DNS Security.
Domain Name System (DNS)
CS 4700 / CS 5700 Network Fundamentals
CS 3700 Networks and Distributed Systems
IMPLEMENTING NAME RESOLUTION USING DNS
DNS Cache Poisoning Attack
DNS security.
Chapter 19 Domain Name System (DNS)
NET 536 Network Security Lecture 8: DNS Security
NET 536 Network Security Lecture 6: DNS Security
Domain Name System Refs: Chapter 9 RFC 1034 RFC 1035.
Presentation transcript:

CS 3700 Networks and Distributed Systems DNS (What’s in a Name?) Revised 8/20/15

Human Involvement 2  If you want to…  Call someone, you need to ask for their phone number You can’t just dial “P R O F W I L S O N”  Mail someone, you need to get their address first  What about the Internet?  If you need to reach Google, you need their IP  Does anyone know Google’s IP?  Problem:  People can’t remember IP addresses  Need human readable names that map to IPs

Internet Names and Addresses 3  Addresses, e.g  Computer usable labels for machines  Conform to structure of the network  Names, e.g.  Human usable labels for machines  Conform to organizational structure  How do you map from one to the other?  Domain Name System (DNS)

History 4  Before DNS, all mappings were in hosts.txt  /etc/hosts on Linux  C:\Windows\System32\drivers\etc\hosts on Windows  Centralized, manual system  Changes were submitted to SRI via  Machines periodically FTP new copies of hosts.txt  Administrators could pick names at their discretion  Any name was allowed christos_server_at_neu_pwns_joo_lol_kthxbye

Towards DNS 5  Eventually, the hosts.txt system fell apart  Not scalable, SRI couldn’t handle the load  Hard to enforce uniqueness of names e.g MIT Massachusetts Institute of Technology? Melbourne Institute of Technology?  Many machines had inaccurate copies of hosts.txt  Thus, DNS was born

 DNS Basics  DNS Security Outline 6

DNS at a High-Level 7  Domain Name System  Distributed database  No centralization  Simple client/server architecture  UDP port 53, some implementations also use TCP  Hierarchical namespace  As opposed to original, flat namespace .com  google.com  mail.google.com

Naming Hierarchy 8  Top Level Domains (TLDs) are at the top  Each Domain Name is a subtree .edu  neu.edu  ccs.neu.edu   Maximum tree depth: 128  Name collisions are avoided  neu.com vs. neu.edu Root educomgovmilorgnetukfretc. neumit ccsecehusky wwwloginmail

Hierarchical Administration 9  Tree is divided into zones  Each zone has an administrator  Responsible for the part of the hierarchy  Example:  CCIS controls *.ccs.neu.edu  NEU controls *.neu.edu Root educomgovmilorgnetukfretc. neumit ccs wwwloginmail ICANN Verisign

Server Hierarchy 10  Functions of each DNS server:  Authority over a portion of the hierarchy No need to store all DNS names  Store all the records for hosts/domains in its zone May be replicated for robustness  Know the addresses of the root servers Resolve queries for unknown names  Root servers know about all TLDs  The buck stops at the root servers

Root Name Servers 11  Responsible for the Root Zone File  Lists the TLDs and who controls them  ~272KB in size com INNSa.gtld-servers.net. com INNSb.gtld-servers.net. com INNSc.gtld-servers.net.  Administered by ICANN  13 root servers, labeled A  M  6 are anycasted, i.e. they are globally replicated  Contacted when names cannot be resolved  In practice, most systems cache this information

Map of the Roots 12

Local Nameserver and Authorities  Local nameserver handles queries on behalf of clients  Authoritative nameservers know the zone mappings for a subset of the heirarchy Root com ns1.google.com asgard.ccs.neu.edu Where is Local nameserver Root nameserver Authority for *.com Authority for *google.com

Basic Domain Name Resolution 14  Every host knows a local DNS server  Sends all queries to the local DNS server  If the local DNS can answer the query, then you’re done 1. Local server is also the authoritative server for that name 2. Local server has cached the record for that name  Otherwise, go down the hierarchy and search for the authoritative name server  Every local DNS server knows the root servers  Use cache to skip steps if possible e.g. skip the root and go directly to.edu if the root file is cached

DNS Packet Format TxIDFlags Question CountAnswer Count Authority CountAdditional Record Count Question and answer data (Resource Records, variable length) ID number used to match requests and responses Query/response? Authoritative/non-authoritative response? Success/failure? How many records are there of each type in the response payload?  DNS is a UDP-based protocol on port 53  No TCP means no connections  TxIDs are needed to correlate requests and responses  Serves as authentication for responses

Glue Records  DNS responses may contain more than a single answer  Example: resolving cyclic dependency asgard.ccs.neu.edu TxID: 5678 Q: 1A: 0 Auth: 0Addl: 0 Q: Where is Root TxID: 5678 Q: 1A: 0 Auth: 1Addl: 1 Q: Where is Auth: NS a.gtld-server.com Addl: A a.gtld-server.com  Known as glue records  Additional responses can contain any type of record (i.e. A, NS, etc.)

Iterative DNS Query Example Root a.gtld-server.com ns1.google.com asgard.ccs.neu.edu Where is TxID: Q: 1A: 0 Auth: 0Addl: 0 Q: Where is TxID: Q: 1A: 0 Auth: 1Addl: 1 Q: Where is Auth: NS a.gtld-server.com Addl: A a.gtld-server.com TxID: Q: 1A: 0 Auth: 1Addl: 1 Q: Where is Auth: NS ns1.google.com Addl: A ns1.google.com TxID: Q: 1A: 1 Auth: 0Addl: 0 Q: Where is A TxID: Q: 1A: 0 Auth: 0Addl: 0 Q: Where is TxID: Q: 1A: 0 Auth: 0Addl: 0 Q: Where is

Recursive DNS Query 18  Puts the burden of resolution on the contacted name server  How does asgard know who to forward responses too?  Random IDs embedded in DNS queries  What have we said about keeping state in the network? Root com ns1.google.com asgard.ccs.neu.edu Where is

~] dig google.com ; > DiG ubuntu0.1-Ubuntu > google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 4, ADDITIONAL: 5 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;google.com. IN A ;; ANSWER SECTION: google.com. 161 IN A google.com. 161 IN A google.com. 161 IN A google.com. 161 IN A google.com. 161 IN A google.com. 161 IN A ;; AUTHORITY SECTION: google.com IN NS ns2.google.com. google.com IN NS ns1.google.com. ;; ADDITIONAL SECTION: ns2.google.com IN A ns1.google.com IN A Header info from the response The original question Answers(s) Authority information Glue records

DNS Queries and Resource Records 20  DNS queries have two fields: name and type  Resource record is the response to a query  Four fields: (name, value, type, TTL)  There may be multiple records returned for one query  What are do the name and value mean?  Depends on the type of query and response

DNS Types 21  Type = A / AAAA  Name = domain name  Value = IP address  A is IPv4, AAAA is IPv6  Type = NS  Name = partial domain  Value = name of DNS server for this domain  “Go send your query to this other server” Query Name: Type: A Resp. Name: Value: Query Name: ccs.neu.educcs.neu.edu Type: NS Resp. Name: ccs.neu.educcs.neu.edu Value:

DNS Types, Continued 22  Type = CNAME  Name = hostname  Value = canonical hostname  Useful for aliasing  CDNs use this  Type = MX  Name = domain in address  Value = canonical name of mail server Query Name: foo.mysite.comfoo.mysite.com Type: CNAME Resp. Name: foo.mysite.comfoo.mysite.com Value: bar.mysite.combar.mysite.com Query Name: ccs.neu.educcs.neu.edu Type: MX Resp. Name: ccs.neu.educcs.neu.edu Value: amber.ccs.neu.eduamber.ccs.neu.edu

Reverse Lookups 23  What about the IP  name mapping?  Separate server hierarchy stores reverse mappings  Rooted at in-addr.arpa and ip6.arpa  Additional DNS record type: PTR  Name = IP address  Value = domain name Query Name: Type: PTR Resp. Name: Value: ccs.neu.educcs.neu.edu

DNS as Indirection Service 24  DNS gives us very powerful capabilities  Not only easier for humans to reference machines!  Changing the IPs of machines becomes trivial  e.g. you want to move your web server to a new host  Just change the DNS record!

Aliasing and Load Balancing 25  One machine can have many aliases *.blogspot.com christo.blogspot.com sandi.blogspot.com  One domain can map to multiple machines

Content Delivery Networks 26 DNS responses may vary based on geography, ISP, etc

DNS Propagation 27  How many of you have purchased a domain name?  Did you notice that it took ~72 hours for your name to become accessible?  This delay is called DNS Propagation Root com ns.godaddy.com asgard.ccs.neu.edu  Why would this process fail for a new DNS name?

Caching vs. Freshness 28  DNS Propagation delay is caused by caching asgard.ccs.neu.edu Cached Root Zone File Cached.com Zone File Cached.net Zone File Etc. Root com ns.godaddy.com Where is That name does not exist.  Zone files may be cached for 1-72 hours

 DNS Basics  DNS Security Outline 29

The Importance of DNS 30  Without DNS…  How could you get to any websites?  You are your mailserver  When you sign up for websites, you use your address  What if someone hijacks the DNS for your mail server?  DNS is the root of trust for the web  When a user types they expect to be taken to their bank’s websitewww.bankofamerica.com  What if the DNS record is compromised?

Denial Of Service 31  Flood DNS servers with requests until they fail  October 2002: massive DDoS against the root name servers  What was the effect?  … users didn’t even notice  Root zone file is cached almost everywhere  More targeted attacks can be effective  Local DNS server  cannot access DNS  Authoritative server  cannot access domain

Hijacking DNS  Instead of shutting DNS down, what if we could inject arbitrary records?  E.g. CNAME  Three types of attacks  Old school attack: record injection  Somewhat old school attack: response spoofing  New, deadly attack: The Kaminsky Attack

Threat Model and Attacker Goals Local Nameserver Honest DNS Servers Where is I want to add a record to that local nameserver that directs   Active attacker, may send DNS packets  Remote attacker, may not eavesdrop  Attacker may control their own domains and DNS servers

Record Injection Local Nameserver Honest DNS Servers Where is ns.attacker.net TxID: Q: 1A: 1 Auth: 0Addl: 1 Q: Where is A Addl: A Where is

Bailiwick Checking  Record injection attacks no longer work in practice  All modern DNS servers implement bailiwick checking  Only records related to the requested domain are accepted in responses  In other words, DNS servers are less trusting of additional information

Response Spoofing Local Nameserver Honest DNS Servers Where is TxID: ???? Q: 1A: 1 Auth: 0Addl: 1 Q: Where is A TxID: Q: 1A: 0 Auth: 0Addl: 0 Q: Where is

Implementing Response Spoofing  What info does the attacker need to spoof a DNS response?  IP address of the target nameserver and true authoritative nameserver Easy, both pieces of info are readily available  Source port used by the authoritative nameserver Easy, it must be 53  The question in the query Easy, the attacker can choose the targeted domain name  Response port used by the target when they made the request  TxID in the query  Old DNS servers used one port for all queries and incremented TxID monotonically  Attacker can query the target DNS server for a domain they control and observe the query at their own DNS server  The query reveals the port used by the target, as well as the approximate TxID

Inspecting the Target Local Nameserver Honest DNS Servers ns.attacker.net Where is TxID: Q: 1A: 0 Auth: 0Addl: 0 Q: Where is

Conditions for Successful Response Spoofing 1. Attacker must infer the response port of the target nameserver and TxID 2. Attacker’s response must outrace the legitimate response 3. The attack must be executed after the target nameserver is queried for a domain that is not in the cache  If the target domain name is already cached, no queries will be sent  The attacker can send the initial query to the nameserver, but if the attack fails the legitimate response will be cached until the TTL expires 4. If the attack is successful, the record for a single domain is poisoned

Kaminsky Attack  Variation of the response spoofing attack that is much more powerful  Discovered by notable security researcher Dan Kaminsky in 2008  Poisons glue records rather than A records  Attacker repeatedly makes queries for non-existent subdomains of the target domain Since these subdomains do not exist, they are guaranteed to not be in the target nameservers cache  Attacker then attempts to spoof a response with a poison glue record The attacker can attempt the attack an infinite number of times until success  On success, entire zone is poisoned, rather than a single domain name

Kaminsky Attack Local Nameserver Honest DNS Servers Where is TxID: ???? Q: 1A: 1 Auth: 1Addl: 1 Q: Where is aaaa.bofa.com A: aaaa.bofa.com = Auth: NS = ns1.bofa.com Addl: ns1.bofa.com = Where is aaaa.bofa.com? ns.attacker.net Where is aaab.bofa.com? TxID: ???? Q: 1A: 1 Auth: 1Addl: 1 Q: Where is aaab.bofa.com A aaab.bofa.com Auth: NS ns1.bofa.com Addl: A ns1.bofa.com

Mitigating the Kaminsky Attack  The Kaminsky attack relies on fundamental properties of the DNS protocol  Specifically, the ability to respond with NS records and glue to any query  The functionality is essential for DNS, it cannot be disabled  How do you mitigate the Kaminsky attack?  Make it harder to spoof DNS responses  All modern DNS servers randomize the TxID and query port for every request  2 16 TxIDs * 2 16 query ports = 2 32 messages needed to spoof successfully  Despite this mitigation, almost all existing DNS servers are still fundamentally vulnerable to spoofing attacks

Additional DNS Hijacks  Infect the target user’s OS or browser with a virus/trojan  e.g. Many trojans change entries in /etc/hosts  *.bankofamerica.com  evilbank.com  Man-in-the-middle  DNS is not encrypted or strongly authenticated

Authentication for DNS  Domain Name System Security Extensions (DNSSEC)  Integrates a public key infrastructure (PKI) into DNS  Provides end-to-end authentication and integrity, but not confidentiality  Prevents DNS hijacking!  But, complex to deploy, some performance overhead, much power given to DNS root  Deployment  On the roots since July 2010  Verisign enabled it on.com and.net in January 2011  Comcast was the first major ISP to support it (January 2012)

DNSSEC Details  Cryptographically sign critical resource records  Resolver can verify the cryptographic signature  Four new resource types  DNSKEY Public key for a zone Signed by the private key of the parent zone Signatures from the root servers are trusted by default  DS Delegated signer  RRSIG Digital signature of a specific resource record Signed by the private key of the zone  NSEC* Signed denial of record existence Prevents hijacking and spoofing Creates a hierarchy of trust within each zone

NS ns1.google.com A ns1.google.com DS google.com DNSKEY P com A DNSKEY P Google RRSIG {H(A Record)} S Google NS a.gtld-server.com A a.gtld-server.com DS com DNSKEY P Root DNSSEC Example Root a.gtld-server.com ns1.google.com asgard.ccs.neu.edu Where is ? Q: Where is

Site Finder 47  September 2003: Verisign created DNS wildcards for *.com and *.net  Essentially, catch-all records for unknown domains  Pointed to a search website run by Verisign  Search website was full of advertisements  Extremely controversial move  Is this DNS hijacking?  Definitely abuse of trust by Verisign  Site Finder was quickly shut down, lawsuits ensued

Much More to DNS 48  Caching: when, where, how much, etc.  Other uses for DNS (i.e. DNS hacks)  Content Delivery Networks (CDNs)  Different types of DNS load balancing  Dynamic DNS (e.g. for mobile hosts)  DNS and botnets  Politics and growth of the DNS system  Governance  New TLDs (.xxx,.biz), eliminating TLDs altogether  Copyright, arbitration, squatting, typo-squatting