Скачать презентацию In cooperation with DNSSEC Restoring trust in DNS Скачать презентацию In cooperation with DNSSEC Restoring trust in DNS

f9e7ac947e194d1a114a101083f1b39f.ppt

  • Количество слайдов: 51

In cooperation with: DNSSEC Restoring trust in DNS Roland van Rijswijk roland. vanrijswijk [at] In cooperation with: DNSSEC Restoring trust in DNS Roland van Rijswijk roland. vanrijswijk [at] surfnet. nl September 18 th 2009

About us High quality and high bandwith network for higher education and research Shared About us High quality and high bandwith network for higher education and research Shared ICT innovation centre for academia Over 180 connected institutions (universities, polytechnics, vocational education, hospitals, research institutions) with 1 million end-users Independent consultancy company Cryptography expertise Internet security expertise 1 SURFnet. We make innovation work

Overview - First half: - Attacks on DNS - Second half: - DNSSEC in Overview - First half: - Attacks on DNS - Second half: - DNSSEC in detail - Questions: please ask! 2 SURFnet. We make innovation work

DNS: Roadsigns for the net 3 SURFnet. We make innovation work DNS: Roadsigns for the net 3 SURFnet. We make innovation work

DNS: insecurity by design? - DNS was designed in the early Internet era - DNS: insecurity by design? - DNS was designed in the early Internet era - Everybody more or less knew everybody else - And everybody trusted everybody else - Bottom line: Security was not a design criterion 4 SURFnet. We make innovation work

Threats to DNS - Availability - If DNS is not available, the internet is Threats to DNS - Availability - If DNS is not available, the internet is broken (users think) - A typical DNS resolver services 100000+ end users - Some authoritative servers host over 8 million zones - Exploitation - On an exploited server availability and integrity are broken - Plus the attacker can gain access to all other software on the same server/client - Integrity - DNS gives the wrong answer and sends you the wrong way 5 SURFnet. We make innovation work Slide content courtesy of Bert Hubert (Power. DNS)

Why attack DNS? - DNS is everywhere: - In your phone, in your laptop, Why attack DNS? - DNS is everywhere: - In your phone, in your laptop, in your PC… - But also in your car, in an ATM, in your elevator, … - It is very hard to protect DNS against attacks (currently) - It is very easy to attack a lot of users 6 SURFnet. We make innovation work

Let’s start simple www. piggybank. dom A? Referral to auth. ww w. p igg Let’s start simple www. piggybank. dom A? Referral to auth. ww w. p igg yba ww nk. w. p dom igg A: www. piggybank. dom A? 12 yba www. piggybank. dom A? 3. 4 nk. 5. 6 d A: 123. 45. 67. 89 7. 8 om 9 Answer: a man a general attack model Question: namein the middle attack that is applicable to this setup

Beyond M-i-t-M: spoofing IP headers & stuff src IP = 192. 87. 106. 101 Beyond M-i-t-M: spoofing IP headers & stuff src IP = 192. 87. 106. 101 (ns 1. surfnet. nl) dst IP = 208. 77. 188. 166 (www. example. com) UDP src port = 53 dst port = 4321 headers & stuff DNS QID = 1201 some flags Question# = 1 Answer# = 1 Authority# = 3 Add. record# = 3 Q? A record for www. surfnet. nl Ans. www. surfnet. nl = 194. 171. 26. 203 Aut. surfnet. nl = ns 1. surfnet. nl Aut. surfnet. nl = ns 2. surfnet. nl Aut. surfnet. nl = ns 3. surfnet. nl Add. ns 1. surfnet. nl = 192. 87. 106. 101 Add. ns 2. surfnet. nl = 192. 87. 36. 2 Add. ns 3. surfnet. nl = 195. 169. 124. 71

Cache poisoning www. piggybank. dom A? Referral to auth. ww w. p igg yba Cache poisoning www. piggybank. dom A? Referral to auth. ww w. p igg yba nk. dom www. piggybank. dom w A? www. piggybank. dom A? ww A: 123. 57. 89. 15 A: . pi 12 ggy 3. ba 57 n. 8 k. d 9. o 15 m Answer: introduce I target Question: how can a rogue client a specific name?

So where do we go today? ; -) 10 SURFnet. We make innovation work So where do we go today? ; -) 10 SURFnet. We make innovation work

Is it really a threat? Yes because: - Source port randomisation was not common Is it really a threat? Yes because: - Source port randomisation was not common practice before Kaminsky - Query ID randomisation wasn’t common practice either No because: - You can only attempt to poison a name a few times per day (why? ) 11 SURFnet. We make innovation work

Cache poisoning++ - Dan Kaminsky published an attack at last year’s Black Hat conference Cache poisoning++ - Dan Kaminsky published an attack at last year’s Black Hat conference - No need to wait for a resolver to take initiative, no need to wait for TTL expiry… 12 SURFnet. We make innovation work

Preparing for Kaminsky IP headers & stuff src IP = 192. 87. 106. 101 Preparing for Kaminsky IP headers & stuff src IP = 192. 87. 106. 101 (ns 1. surfnet. nl) dst IP = 208. 77. 188. 166 (www. example. com) UDP src port = 53 dst port = 4321 headers & stuff DNS QID = 1201 some flags Question# = 1 Answer# = 1 Authority# = 3 Add. record# = 3 Q? A record for www. surfnet. nl Ans. www. surfnet. nl = 194. 171. 26. 203 Aut. surfnet. nl = ns 1. surfnet. nl Aut. surfnet. nl = ns 2. surfnet. nl Aut. surfnet. nl = ns 3. surfnet. nl Add. ns 1. surfnet. nl = 192. 87. 106. 101 Add. ns 2. surfnet. nl = 192. 87. 36. 2 Add. ns 3. surfnet. nl = 195. 169. 124. 71

Attack in action QID=12345. piggybank. dom A? ? ? go to piggybank auth. 12345. Attack in action QID=12345. piggybank. dom A? ? ? go to piggybank auth. 12345. piggybank. dom A? ? ? QID=1235 12345. piggybank. dom A: 123. 45. 67. 89 QID=1234 QID=1233 QID=1235 Success! Additional: NS piggybank. dom

Spoofed additional section ; ; QUESTION SECTION: ; abcde. piggybank. dom. IN A 582 Spoofed additional section ; ; QUESTION SECTION: ; abcde. piggybank. dom. IN A 582 IN A 123. 45. 67. 89 piggybank. dom. 3161 IN NS ns 1. piggybank. dom. 3161 IN NS ns 2. piggybank. dom. ns 1. piggybank. dom. 604800 IN A 123. 45. 67. 1 ns 2. piggybank. dom. 604800 IN A 123. 45. 67. 2 ; ; ANSWER SECTION: abcde. piggybank. dom. ; ; AUTHORITY SECTION: ; ; ADDITIONAL SECTION: 15 SURFnet. We make innovation work

Attack in action www. piggybank. dom A? A: 123. 45. 67. 89 www. piggybank. Attack in action www. piggybank. dom A? A: 123. 45. 67. 89 www. piggybank. dom A: 123. 45. 67. 89

So it’s even worse! 17 SURFnet. We make innovation work So it’s even worse! 17 SURFnet. We make innovation work

Impact on threat level (1) - Kaminsky is happening (we think, but is damn Impact on threat level (1) - Kaminsky is happening (we think, but is damn hard to detect): - Wide-scale patching has been rolled out - But research shows: Poisoning unpatched BIND: ± 3 seconds Poisoning patched BIND: 1 -11 hours (source: NIC. cz) 18 SURFnet. We make innovation work

Impact on threat level (2) - Kaminsky is happening on our network! 19 SURFnet. Impact on threat level (2) - Kaminsky is happening on our network! 19 SURFnet. We make innovation work

Impact on threat level (3) - Kaminsky is happening on our network! 20 SURFnet. Impact on threat level (3) - Kaminsky is happening on our network! 20 SURFnet. We make innovation work

Impact on threat level (4) - Kaminsky is happening on our network! 21 SURFnet. Impact on threat level (4) - Kaminsky is happening on our network! 21 SURFnet. We make innovation work

The slow attack - Brute force attacks are easy to detect - But the The slow attack - Brute force attacks are easy to detect - But the slow attack is very insidious… research by Bert Hubert (Power. DNS) shows: Graph courtesy of Bert Hubert 22 SURFnet. We make innovation work

Summary Summary

Break time Break time

What is DNSSEC? (1) - DNSSEC is an extension to DNS specified by the What is DNSSEC? (1) - DNSSEC is an extension to DNS specified by the IETF in a number of RFCs - Actively developed since 1997 - According to RFC 4033: “The Domain Name System Security Extensions (DNSSEC) add data origin authentication and data integrity to the Domain Name System. ” 25 SURFnet. We make innovation work

What is DNSSEC? (2) - DNSSEC makes it possible to check the authenticity of What is DNSSEC? (2) - DNSSEC makes it possible to check the authenticity of DNS records - This is accomplished using public key cryptography - What DNSSEC does not do: - Provide confidentiality - Protect against threats to the name server (DDo. S, etc. ) - Guarantee correctness of the DNS data (only authenticity) - Protect against phishing, typosquatting, etc. 26 SURFnet. We make innovation work

Cryptography in DNSSEC (1) - Public key cryptography - RSA, DSA, (Elliptic Curve) - Cryptography in DNSSEC (1) - Public key cryptography - RSA, DSA, (Elliptic Curve) - All based on a common principle: the keypair - Private Key is used to sign well protected, hidden from outsiders - Public Key is used to verify must be widely published 27 SURFnet. We make innovation work

Cryptography in DNSSEC (2) - Signing takes place at zone level - 2 -tiered Cryptography in DNSSEC (2) - Signing takes place at zone level - 2 -tiered key model: - Key Signing Key - Large key size (≥ 2048 bits RSA) - Long validity (≥ 1 year) - Used to sign Zone Signing Key - Smaller key size (≥ 1024 bits RSA) - Short validity (± 1 month) - Used to sign the zone (resource records) 28 SURFnet. We make innovation work

Signing DNS zones - Additional resource records (RRs) - For public keys: - DNSKEY, Signing DNS zones - Additional resource records (RRs) - For public keys: - DNSKEY, DS - For signatures: - RRSIG - For authenticated denial-of-existence: - NSEC, NSEC 3 - Zones become quite a bit larger 29 SURFnet. We make innovation work

Validating a response Query “www. nist. gov” @ns 1. nist. gov ß IN A Validating a response Query “www. nist. gov” @ns 1. nist. gov ß IN A RRSIG www. nist. gov 129. 6. 13. 45 156 0020502000151804 A 10 623 C 49 E 8 D 53 CF 7 E 6046 E 69 737403676 F 7600. . . signature! - Validate this signature against the “nist. gov” zone public zone signing key - It’s the resolver’s job to do this! - How do I find and trust the “nist. gov” key? 30 SURFnet. We make innovation work

Current deployment - Deployed on several TLDs: - cc. TLD’s: . bg, . br, Current deployment - Deployed on several TLDs: - cc. TLD’s: . bg, . br, . cz, . pr, . se - generic TLD’s: . org, . gov, . museum - Announced for more TLDs: - generic TLD’s: . com and. net (2011) (> 65% of all domains!) - Good news: root is likely to be signed before end of 2009 (bad news: politics…) - Many (cc)TLD’s still to announce strategy 31 SURFnet. We make innovation work

Trust chain Trust chain

Islands of trust 33 SURFnet. We make innovation work Islands of trust 33 SURFnet. We make innovation work

Finding trust anchors - Managing trust anchors by hand is hard work - IANA Finding trust anchors - Managing trust anchors by hand is hard work - IANA has made the “Interim Trust Anchor Repository” (ITAR) available https: //itar. iana. org/ - ISC has introduced “DNSSEC look-a-side validation” (DLV) and made a repository available - No standard way to trust the trust anchors of these repositories - These are interim solutions 34 SURFnet. We make innovation work

DLV DLV

Key management (1) - Key Signing Key and Zone Signing Key have a limited Key management (1) - Key Signing Key and Zone Signing Key have a limited validity; this requires regular roll-overs: 36 SURFnet. We make innovation work

Key management (2) - Keys need to be stored securely off-line, smart card, Hardware Key management (2) - Keys need to be stored securely off-line, smart card, Hardware Security Module (HSM), . . . - Administrators need to plan for emergency key roll-over - The parent has to be notified of new keys for a domain (this needs to be automated) 37 SURFnet. We make innovation work

Future 38 SURFnet. We make innovation work Future 38 SURFnet. We make innovation work

Criticism on DNSSEC The Top-10 Reasons Why DNSSEC Is the String Theory - Even Criticism on DNSSEC The Top-10 Reasons Why DNSSEC Is the String Theory - Even the critics agree that DNSSEC is the only of the Internet available solution at the moment 10. Adds many new dimensions to an already complex problem 9. Hogs all the research funds 8. That doesn’t mean - Has many careers riding on itthat DNSSEC is perfect… far from 7. Widely hailed by expert and layman alike as the next big thing it 6. Responds to shortcomings by reinventing itself and doubling its complexity 5. DNSSEC is hard (especially compared to ‘ordinary’ - On its third iteration to succes 4. Attracts the brightest very forgiving) DNS, which is minds of the industry 3. Cult-like following among believers 2. The on the verge of solving a easy-to-use - Always(un)availability of real world problem tools is hindering 1. Will be ready in 6 months! deployment of signed zones Bert Hubert (Power. DNS) 39 SURFnet. We make innovation work

DNSSEC software - But there is light on the tool horizon: - Open. DNSSEC DNSSEC software - But there is light on the tool horizon: - Open. DNSSEC (www. opendnssec. org) Secure 64 DNS Signer Xelerance DNSX Signer ZKT (Zone Key Tool, www. hznet. de/dns/zkt) Power. DNS + DNSSEC = Power. DNSSEC other vendors have announced products - For resolvers it’s a different matter, tools are widely available: - Unbound (by NLnet. Labs) - BIND 9. x and up - Windows Server announced (2008 R 2, Server 7) 40 SURFnet. We make innovation work

Alternatives (1) - Continue patching against attacks (keep using traditional DNS) - This is Alternatives (1) - Continue patching against attacks (keep using traditional DNS) - This is an arms race - The race is already being lost! (remember the 6 weeks attack that Bert Hubert talked about yesterday) - SSL/TLS - Too heavyweight to use on connections to DNS servers - Does not secure a domain against cache -poisoning; getting an SSL certificate is easy 41 SURFnet. We make innovation work

Alternatives (2) - TSIG/SIG(0) - TSIG is based on shared secrets (does not scale) Alternatives (2) - TSIG/SIG(0) - TSIG is based on shared secrets (does not scale) - SIG(0) secures transactions (no authentication of records!) - DNScurve - Based on elliptic curve crypto - Can do much more than DNSSEC - Only proves authenticity online (forwarder based) - No widescale deployment/support 42 SURFnet. We make innovation work

Alternatives (3) - DNS 0 x 20 - Based on using capitalisation to introduce Alternatives (3) - DNS 0 x 20 - Based on using capitalisation to introduce extra entropy into a query - Capitalise parts of the query at random and check that the capitalisation in the answer matches the query - Should be compatible with existing DNS infrastructure (RFC 4343) - But depends on all name server software to implement literal query copying (most do) - Criticism: it’s still an arms race - And it doesn’t protect ‘. ’ 43 SURFnet. We make innovation work

Summary - What does DNSSEC do for you? - You can prove the authenticity Summary - What does DNSSEC do for you? - You can prove the authenticity of the records in your domain - You can check the authenticity of the records of others - You effectively protect yourself against attacks like Kaminsky’s 44 SURFnet. We make innovation work

What have we done? - SURFnet’s resolvers perform DNSSEC validation: 45 SURFnet. We make What have we done? - SURFnet’s resolvers perform DNSSEC validation: 45 SURFnet. We make innovation work

What are we going to do? - Extend our managed DNS service with DNSSEC What are we going to do? - Extend our managed DNS service with DNSSEC support - Testing DNSSEC appliances as they appear on the market - Keep supporting Open. DNSSEC - Give talks like this one : -) 46 SURFnet. We make innovation work

What can you do? - Gather knowledge on DNSSEC - SURFnet DNSSEC white paper What can you do? - Gather knowledge on DNSSEC - SURFnet DNSSEC white paper (www. dnssec. nu) - Available at the end of this class - Update/reconfigure your resolvers to support DNSSEC validation and experiment with it - Work on an open source tool project! - Go to the Open. DNSSEC website and test the software 47 SURFnet. We make innovation work

Questions? Thank you for your attention! Roland van Rijswijk roland. vanrijswijk [at] surfnet. nl Questions? Thank you for your attention! Roland van Rijswijk roland. vanrijswijk [at] surfnet. nl Rick van Rein rick [at] openfortress. nl Presentation released under Creative Commons (http: //creativecommons. org/licenses/by-nc-sa/3. 0/nl/deed. en ) 48 SURFnet. We make innovation work

Lab work - You are going to perform the Kaminsky attack - Install BIND Lab work - You are going to perform the Kaminsky attack - Install BIND as a resolver - Download the code IMPORTANT: The code is provided under embargo, please discard it after the lab work is done - We’d like you to finish with a short presentation of your findings

URL - http: //dnssec 1. students. os 3. nl/DNSspoof. tgz URL - http: //dnssec 1. students. os 3. nl/DNSspoof. tgz