forwarding loop attacks in content delivery networks
play

Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen , - PowerPoint PPT Presentation

Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen , Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin Liang, Kang Li, Tao Wan, Vern Paxson 1 Content Delivery Networks CDN is now an important Internet infrastructure, it is a


  1. Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen , Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin Liang, Kang Li, Tao Wan, Vern Paxson 1

  2. Content Delivery Networks • CDN is now an important Internet infrastructure, it is a popular solutions for: – Performance, Security(WAF), Availability(anti-DDoS) CDN has its own architectural weaknesses Client CD Website N Attacker 2

  3. Our work • We present “forwarding loop” attacks that threaten CDN availability. • We measured 16 popular CDNs and find all of them are vulnerable to such attacks. • Vendors have acknowledged the problem and are actively addressing it. 3

  4. The normal forwarding process of CDNs Normal example.com -> D CDN customer POST / POST / Host: example.com Host: example.com Client Website D CDN A Customer controls forwarding rules of CDNs 4

  5. Conceptual view of a forwarding-loop attack Attacker (Malicious customer) example.com -> B POST / Host: example.com Attacker POST POST CDN A example.com -> C example.com -> A POST CDN B CDN C • Malicious customers can manipulate forwarding rules to create loop 5 • Amplification -> consume resource -> potentially DoS

  6. Practicality of forwarding-loop attacks • Cost – All 16 CDNs provide free or free-trial account • Anonymity – 11/16 CDNs only require an email address • Some CDNs agreed this attack is severe • Next we describe 3 types of looping attacks, and 3 factors for enhancing the loop – Self loop, intra-CDN, Inter-CDN – Abort-forwarding, Streaming, gzip bomb 6

  7. Self loop Configuration Entry example.com -> IP of A/loopback POST Affected vendors(1/16): • Azure(China) Attacker CDN A Loop in a single node 7

  8. Intra-CDN loop Configuration Entry example.com -> attack.com POST Affected vendors(7/16): CDN A 1 CDN A • Azure(China) • CDN77 Attacker IP of A2 • CDNlion POST POST • CDN.net Authority DNS ns.attack.com • CDNsun IP of A1 • KeyCDN IP of A3 • MaxCDN CDN A 3 CDN A 2 POST Loop among multiple nodes within one CDN 8

  9. Loop Detection by CDNs example.com -> attack.com POST / Host:example.com CDN A 1 POST / Attacker Host:example.com IP of A2 Header: Loop-Detection-Tag Authority DNS ns.attack.com CDN A 2 CDN A 3 Current Defenses Use headers to tag processed requests Attacker countermeasure Extends forwarding loops across multiple CDNs 9

  10. Loop-Detection Headers are different CDN Provider Loop Detection CDN Provider Loop Detection Header Header Akamai Akamai-Origin-Hop CloudFlare X-Forwarded-For CF-Connecting-IP Alibaba Via CloudFront Via Azure(China) Fastly Fastly-FF Baidu X-Forwarded-For Incapsula Incap-Proxy-ID CF-Connecting-IP CDN77 KeyCDN CDNlion Level3 Via CDN.net MaxCDN CDNsun Tencent X-Daa-Tunnel RFC 7230 recommends to use Via header for loop detection 10

  11. Bypassing CDN defenses • Chain loop-aware CDNs to other CDNs that can be abused to disrupt loop-detection headers • Abusive features provided by CDNs: CDN Provider Reset Filter CDN77 Via CDNlion Via CDN.net Via CDNsun Via Fastly No-self-defined MaxCDN Any 11

  12. Inter-CDN loops: POST / Host: example.com POST / Attacker POST / Host: example.com Host: example.com Via: 1.1 abcd (CloudFront) CloudFront Via: 1.1 abcd (CloudFront) Akamai-Origin-Hop:1 Akamai Filter rules: 1.Remove Via POST / 2.Remove Akamai-Origin-Hop Host: example.com MaxCDN Via: 1.1 abcd(CloudFront) Akamai-Origin-Hop:1 12

  13. Can a loop last indefinitely ? • Limitation on header size might terminates a loop – All CDNs limit header size; – some CDNs increase header size when forwarding a request; – Filtering and reset behaviors can bypass such limitation • Timeout might also terminate a loop – A careful attacking plan can avoid this effect. 13

  14. Handling timeout Factors Attacker countermeasure Timeout Add a no-abort-forwarding node(7/16) Timeout Timeout A A C B B Continues C No-abort-forwarding Abort-forwarding • Experiment – A request loops for 5+ hours among CloudFlare, MaxCDN, CDN77 and our control node 14

  15. How to enlarge attacking traffic? • Streaming loop – faster speed -> overlap -> higher traffic – All nodes need to support streaming – 7/16 CDNs support request streaming, all CDNs support response streaming 15

  16. “Dam F looding” attack: streaming loop with response example.com -> attack.com POST POST CDN A Attacker Attacker’s website D IP of D IP of B Authority DNS ns.attack.com example.com -> A example.com -> C CDN C CDN B 16

  17. Enhance streaming loop with gzip bomb POST / Host:example.com Accept-Encoding:identity example.com -> attack.com CDN A Attacker Unzip Gzip bomb Attacker’s website Authority DNS ns.attack.com CDN C CDN B example.com -> A example.com -> C • 3 CDNs can be used to uncompress gzip bombs • Total Amplification Factor = Loop Amplification * Gzip Bomb Amplification(~ 1000) 17

  18. Defenses • Unifying and standardizing a loop-detection header, – Via as recommended by RFC • Interim defenses, independently – Obfuscating self-defined loop-detection headers – Monitoring and rate-limiting – Constraint on forwarding destination 18

  19. CDN Vendor Feedback • CDNs are actively addressing it – CloudFlare and Baidu implemented Via header – CDN77 and CDNsun will change to not reset Via – Verizon (Edgecast) agreed the problem is serious – Tencent evaluates as high risk – Fastly actively discussed defenses with us – Alibaba are intreseted in interim defenses 19

  20. Summary • A variety of implementation issues make forwarding loops a potentially severe attack vector • A case that highlights the danger of allowing cross-organization, user-controlled (untrusted) policies without centralized administration • How to enforce standard compliance, especially when global coordination is needed 20

  21. Acknowledgement 21

  22. Thank you! 22

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