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

Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

Apr 23, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

Forwarding-Loop Attacks in Content Delivery Networks

Jianjun Chen, Jian Jiang, Xiaofeng Zheng,

Haixin Duan, Jinjin Liang, Kang Li,

Tao Wan, Vern Paxson

1

Page 2: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

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

Attacker

WebsiteCDN

2

Page 3: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

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

Page 4: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

The normal forwarding process of CDNs

POST /Host: example.com

POST /Host: example.com

CDN A

Client Website D

example.com -> DNormal

CDN customer

4

Customer controls forwarding rules of CDNs

Page 5: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

Conceptual view of a forwarding-loop attack

POST /Host: example.com

CDN A

CDN BCDN CPOST

POSTPOST

example.com -> B

example.com -> Cexample.com -> A

Attacker

Attacker(Malicious customer)

5• Malicious customers can manipulate forwarding rules to create loop• Amplification -> consume resource -> potentially DoS

Page 6: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

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

Page 7: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

Self loop

CDN A

example.com ->IP of A/loopback

Attacker

POST

7

Affected vendors(1/16):• Azure(China)

Configuration Entry

Loop in a single node

Page 8: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

Intra-CDN loop

CDN A

CDN A2

CDN A3

POST

POST POST

Authority DNSns.attack.com

example.com ->attack.com

Loop among multiple nodes within one CDN

Attacker

POST

IP of A2

IP of A3

IP of A1

CDN A1

8

Affected vendors(7/16):• Azure(China)• CDN77• CDNlion• CDN.net• CDNsun• KeyCDN• MaxCDN

Configuration Entry

Page 9: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

Loop Detection by CDNs

9

Current Defenses Use headers to tag processed requests

Attacker countermeasure Extends forwarding loops across multiple CDNs

CDN A2CDN A3

POST /Host:example.comHeader: Loop-Detection-Tag

Authority DNSns.attack.com

example.com -> attack.com

Attacker

POST /Host:example.com

IP of A2

CDN A1

Page 10: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

Loop-Detection Headers are different

10RFC 7230 recommends to use Via header for loop detection

CDN Provider Loop Detection Header

CDN Provider Loop Detection Header

Akamai Akamai-Origin-Hop CloudFlare X-Forwarded-ForCF-Connecting-IP

Alibaba Via CloudFront Via

Azure(China) Fastly Fastly-FF

Baidu X-Forwarded-ForCF-Connecting-IP

Incapsula Incap-Proxy-ID

CDN77 KeyCDN

CDNlion Level3 Via

CDN.net MaxCDN

CDNsun Tencent X-Daa-Tunnel

Page 11: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

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 Any11

Page 12: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

Inter-CDN loops:POST /Host: example.com

CloudFront

Akamai

MaxCDN

POST /Host: example.comVia: 1.1 abcd (CloudFront)

POST /Host: example.comVia: 1.1 abcd (CloudFront)Akamai-Origin-Hop:1

POST /Host: example.comVia: 1.1 abcd(CloudFront)Akamai-Origin-Hop:1

Filter rules:1.Remove Via2.Remove Akamai-Origin-Hop

Attacker

12

Page 13: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

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

Page 14: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

Handling timeout

• Experiment– A request loops for 5+ hours among CloudFlare,

MaxCDN, CDN77 and our control node

Abort-forwarding No-abort-forwarding

Factors Attacker countermeasure

Timeout Add a no-abort-forwarding node(7/16)

A

BC

A

BC

14

Timeout

Continues

Timeout

Page 15: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

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

Page 16: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

“Dam Flooding” attack: streaming loop with response

Attacker’s website D

CDN A

CDN BCDN C

Authority DNSns.attack.com

example.com -> A example.com -> C

example.com -> attack.comPOSTPOST

Attacker

IP of BIP of D

16

Page 17: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

Enhance streaming loop with gzip bomb

Attacker’s website

CDN A

CDN BCDN C

Authority DNSns.attack.com

example.com -> A example.com -> C

example.com -> attack.com

POST /Host:example.comAccept-Encoding:identity

Gzip bomb

Unzip

• 3 CDNs can be used to uncompress gzip bombs• Total Amplification Factor = Loop Amplification * Gzip Bomb Amplification(~ 1000)

Attacker

17

Page 18: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

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

Page 19: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

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

Page 20: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

Summary

• A variety of implementation issues makeforwarding loops a potentially severe attackvector

• 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

Page 21: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

Acknowledgement

21

Page 22: Forwarding-Loop Attacks in Content Delivery Networks2017/09/04  · Forwarding-Loop Attacks in Content Delivery Networks Jianjun Chen, Jian Jiang, Xiaofeng Zheng, Haixin Duan, Jinjin

Thank you!

22