dns cache poisoning attack relo loaded
play

DNS Cache Poisoning Attack Relo loaded: Revolutions wit ith Sid - PowerPoint PPT Presentation

DNS Cache Poisoning Attack Relo loaded: Revolutions wit ith Sid ide Channels Keyu Man, Zhiyun Qian, Zhongjie Wang, Xiaofeng Zheng, Youjun Huang, Haixin Duan Contents Background DNS Cache Poisoning Part I: Infer


  1. DNS Cache Poisoning Attack Relo loaded: Revolutions wit ith Sid ide Channels Keyu Man, Zhiyun Qian, Zhongjie Wang, Xiaofeng Zheng†, Youjun Huang†, Haixin Duan† †

  2. Contents • Background • DNS Cache Poisoning • Part I: Infer Ephemeral Port • Part II: Extend Attack Window • Our Attacks • Defenses • Conclusion • Disclosure 2

  3. DNS Cache Poisoning 6.6.6.6 2.2.2.2 5.6.7.8 Trudy (Off-path) Cached Wrong record! www.bank.com IP=6.6.6.6 www.bank.com IP=? Alice’s Browser www.bank.com IP=6.6.6.6 www.bank.com IP=? www.bank.com IP=2.2.2.2 www.bank.com IP=? 5.6.7.8 Resolver bank.com Nameserver (NS) Trudy www.bank.com IP=6.6.6.6 3

  4. DNS Cache Poisoning www.bank.com IP=6.6.6.6 5.6.7.8 Resolver Trudy (Off-path) Src: 5.6.7.8 IP Layer Dst: (resolver) UDP Layer Src Port: 53 Dst Port: ? (16 bit) TxID: ? (16 bit) DNS Layer Question: www.bank.com A ? Answer: www.bank.com A 6.6.6.6, TTL= 99999 Traditional: 2 16 × 2 16 = 2 32 (Impossible in short time) Ephemeral Port=Client Port Our Side Channel: 2 16 + 2 16 ≈ 2 16 Q:12345->53 R:53->12345 Resolver 4 NS

  5. Contents • Background • Part I: Infer Ephemeral Port • Method I: Direct Scan (Refer to the Paper) • Method II: Side-channel-based Scan • Part II: Extend Attack Window • Our Attacks • Defenses • Conclusion • Disclosure 5

  6. Port In Inference: Basics Resolver Attacker APP OS Listen on 53 UDP dport=53 Packet UDP dport=67 ICMP : 67 isn’t open 6

  7. Port In Inference: Ephemeral Ports Resolver Nameserver Attacker DNS Query (Ephemeral Port) 1234->53 UDP dport=1234 UDP dport=1234 ICMP : 1234 isn’t open 7

  8. Port In Inference: IP IP Spoofing 5.6.7.8 5.6.7.8 Resolver Nameserver Attacker UDP dport=1234 UDP dport=5678 ICMP : 5678 isn’t open 8

  9. Port In Inference: Side Channel • ICMP Global Rate Limit: 50 ICMPs / 50 ms • Limit sending rate • Shared by all IPs Off-Path TCP Exploits: Global Rate Limit Considered Dangerous 9 USENIX Security 2016

  10. Port In Inference: How It It Works Resolver Resolver Nameserver Nameserver Attacker Attacker with ONE port open with NO port open Counter=50 Counter=50 Hit 49 closed ports 50 UDP Probes 50 UDP Probes & Hit 50 closed ports 1 open port 50 ICMPs 49 ICMPs Counter=50-49=1 Counter=50-50=0 Verification Verification Spoofed ICMP Reply Normal 10

  11. Port In Inference: Measurement • Open Resolvers: • Well-known Public Resolvers: • 34% Vulnerable • 12 /14 Vulnerable Google 8.8.8.8 Cloudflare 1.1.1.1 OpenDNS 208.67.222.222 Comodo 8.26.56.26 Dyn 216.146.35.35 Quad9 9.9.9.9 AdGuard 176.103.130.130 CleanBrowsing 185.228.168.168 Neustar 156.154.70.1 Yandex 77.88.8.1 Baidu DNS 180.76.76.76 114 DNS 114.114.114.114 Tencent DNS 119.29.29.29 Ali DNS 223.5.5.5 11

  12. Contents • Background • Overview • Part I: Infer Ephemeral Port • Part II: Extend Attack Window • Strategy I: Malicious Name Server (Refer to the Paper) • Strategy II: Response Rate Limiting • Our Attacks • Defenses • Conclusion • Disclosure 12

  13. Ext xtend Attack Window RRL: 18% Deployed Client Resolver Attacker Nameserver Query Query Fake Attack Response Window Attack Flooding Window Queries Response Response 13

  14. Contents • Background • Part I: Infer Ephemeral Port • Part II: Extend Attack Window • Our Attacks • Forwarder Attack (Refer to the Paper) • Resolver Attack • Defenses • Conclusion • Disclosure 14

  15. Production Resolver Attack Unbound Worker Unbound Worker Pacific Ocean 70M queries/day Attacker 2 Name Servers (Ethical Concerns: Controlled by us) Open Resolver 20ms delay, 3ms jitter, 0.2% loss 15

  16. Resolver Attack: Results Setup Result Attack # Back Server # NS Jitter Delay Loss Total Time Success Rate Tsinghua 2 2 3ms 20ms 0.2% 15 mins 5/5 Commercial 4 1 2ms 30ms 0.6% 2.45 mins 1/1 Refer to the paper for more exciting results! 16

  17. Contents • Background • Part I: Infer Ephemeral Port • Part II: Extend Attack Window • Our Attacks • Defenses • Conclusion • Disclosure 17

  18. Defenses • DNSSEC • 0x20 encoding • DNS cookie • Only 5% open resolvers deployed • Disable ICMP port unreachable • Randomize ICMP global rate limit 18

  19. Contents • Background • Part I: Infer Ephemeral Port • Part II: Extend Attack Window • Our Attacks • Defenses • Conclusion • Disclosure 19

  20. Conclusion • Side-channel-based UDP port scan. • Make DNS cache poisoning possible again! • Real-world attacks. 20

  21. Contents • Background • Part I: Infer Ephemeral Port • Part II: Extend Attack Window • Our Attacks • Defenses • Conclusion • Disclosure 21

  22. Disclosure 22

  23. Thank you! Q & A Source code & more interesting projects Keyu Man https://github.com/seclab-ucr/ kman001@ucr.edu

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend