Poseidon: Mitigating Volumetric DDoS Attacks with Programmable - - PowerPoint PPT Presentation

poseidon mitigating volumetric ddos attacks with
SMART_READER_LITE
LIVE PREVIEW

Poseidon: Mitigating Volumetric DDoS Attacks with Programmable - - PowerPoint PPT Presentation

Poseidon: Mitigating Volumetric DDoS Attacks with Programmable Switches Menghao Zhang 1 , Guanyu Li 1 , Shicheng Wang 1 , Chang Liu 1 , Ang Chen 2 , Hongxin Hu 3 , Guofei Gu 4 , Qi Li 1 , Mingwei Xu 1 , Jianping Wu 1 1 4 2 3 DDoS Attacks are


slide-1
SLIDE 1

Poseidon: Mitigating Volumetric DDoS Attacks with Programmable Switches

Menghao Zhang1, Guanyu Li1, Shicheng Wang1, Chang Liu1, Ang Chen2, Hongxin Hu3, Guofei Gu4, Qi Li1, Mingwei Xu1, Jianping Wu1

1 2 3 4

slide-2
SLIDE 2

DDoS Attacks are Getting Worse

2

Corero, 2018 Datacenter Dynamics, 2016 The GitHub Blog, 2018

Increase in scale

Help Net Security, 2019

Increase in diversity

slide-3
SLIDE 3

DDoS Defense Today – Traffic Scrubbing Center

3

Middlebox

Ø High performance Ø Expensive, inflexible

Network Function Virtualization

Ø Flexible, elastic Ø Low Performance

VM

*malware.news

slide-4
SLIDE 4

Ideal DDoS Traffic Scrubbing Service

4

$$$

Ø Increasing number of IoT botnets Ø Volumetric DDoS attacks Ø New variants of DDoS attacks Low Cost High Performance Flexible Deployment

slide-5
SLIDE 5

New Opportunities: Programmable Switches

5

Programmable Parser

Memory

ALU

Programmable Match-Action Pipeline

header_type ethernet_t { … } header_type l2_metadata_t { … } header ethernet_t ethernet; header vlan_tag_t vlan_tag[2]; metadata l2_metadata_t l2_meta;

Header and Data Declarations Parser Program

parser parse_ethernet { extract(ethernet); return switch(ethernet.ethertype) { 0x8100 : parse_vlan_tag; 0x0800 : parse_ipv4; 0x8847 : parse_mpls; default: ingress; }

Tables and Control Flow

table port_table { … } control ingress { apply(port_table); if (l2_meta.vlan_tags == 0) { process_assign_vlan(); } }

*www.barefootnetworks.com

slide-6
SLIDE 6

New Opportunities: Programmable Switches

6

Ø Programmed using P4

  • Flexibility to support future defenses

Ø Same power and cost as fixed-function switches

  • Lower unit capital cost

Ø Programs always run at line-rate

  • High packet processing performance

Poseidon: Bring these benefits to DDoS defense

slide-7
SLIDE 7

Poseidon System Overview

  • Deployment scenario

– Traffic scrubbing center

  • Threat model

– Volumetric and Dynamic DDoS attacks against victims

  • Workflow

– Attack detection – Policy declaration – Attack mitigation

7

Resource Orchestration Runtime Management Attack traffic Legitimate traffic Legitimate traffic Control Plane Infrastructure Defense Policies Server Server Server Attack Detection

slide-8
SLIDE 8

Poseidon Design Challenges

  • Policy representation

– Accommodate to heterogeneous DDoS defense mechanisms

  • Resource orchestration

– Limited on-chip resources and restrictive computational models in switching ASICs

  • Handling dynamic attacks

– Naively recompile the P4 program for switches

  • State loss and flow interruption

– Update the defenses when all flow states are no longer needed

  • Waste of precious and high-density defense resources (i.e., switching ASICs)

8

slide-9
SLIDE 9
  • 1. Expressing Defense Policies
  • Observation

– Key components common to many volumetric attacks

  • Adapted from

NetCore [POPL’12]

– High modularity – High-level abstractions and customizations for DDoS defense

9

Details in our paper!

slide-10
SLIDE 10
  • 1. Policy Example
  • SYN Flood Defense

10

POSEIDON: 9 lines of code P4: 91 lines of code

slide-11
SLIDE 11
  • 2. Analyzing Defense Primitives
  • Monitor

– count(P, h, every) and aggr(P, h, every)

  • count-min sketches
  • Actions

– Switch only

  • drop, pass, rlimit and sproxy

– Switch assisted

  • log

– Server only

  • puzzle

11

  • Policy declaration

– if...else...

  • tag-based match-action

– composition operator |

  • prefers the stricter action
  • Flow affinity

– bidirectional semantics

  • hash1(pkt.src) + hash2(pkt.dst)
slide-12
SLIDE 12
  • 2. Placing Defense Primitives

12

DNS amplification SYN flood HTTP flood

Resources? Reduce Load?

Solving this partition problem using Integer Linear Program (ILP)

slide-13
SLIDE 13
  • 2. Partition ILP

13

Constraints

Goal: Minimize packets sending to servers

Programmable Deparser Programmable Parser Memory Persistent State ALU

Stateful Memory Number of Actions Node Order Total Stages

Memory Persistent State ALU Memory Persistent State ALU Memory Persistent State ALU

slide-14
SLIDE 14
  • 3. Handling Dynamic Attacks

14

S S S S S S

  • Key idea

– Copy necessary states in the switches to servers

  • States requiring replication

– Identify the states which will still take effect for legitimate traffic even when attacks finish

  • Approach to replication

– Distribute the replication overhead across a period – Spread the traffic from a switch across a set of servers

slide-15
SLIDE 15

Implementation & Evaluation

  • Implementation

– Policy primitives

  • P4 for switch part
  • DPDK for server part

– Resource orchestration

  • Policy enforcement engine

– Runtime management

  • Switch/server interface
  • State replication mechanism
  • Evaluation

– Real-world testbeds + Trace-driven evaluations

15

slide-16
SLIDE 16

Overall Effectiveness

16

Throughput restoration for legitimate flows during attacks End-to-end latency in traffic scrubbing center

Poseidon can mitigate DDoS attacks effectively

slide-17
SLIDE 17

Policy Expressiveness

17

SYN flood defense DNS amplification defense HTTP flood defense SlowLoris defense UDP flood defense Elephant flow defense

slide-18
SLIDE 18

Policy Expressiveness

18

  • Lines of Code
slide-19
SLIDE 19

Policy Expressiveness

19

Poseidon can support a wide range of state-of-the-art DDoS defense mechanisms easily

slide-20
SLIDE 20

Policy Placement Mechanism

20

Traffic arriving at servers

Poseidon can orchestrate the defense resources efficiently

slide-21
SLIDE 21

Dynamic DDoS Attacks

21

Received packets before/after policy transition (packet loss) Broken connections before/after policy transition (flow interruption) Control traffic/workload traffic ratio

Poseidon can cope with dynamic DDoS attacks effectively with minor overheads

< 4%

slide-22
SLIDE 22

Conclusion

  • DDoS defense today: expensive, inflexible, and low performance
  • Poseidon: programmable switches for cost-efficient, flexible and

performant DDoS defense

  • Key challenges: heterogeneity, resource constraint, dynamic
  • Main solutions:

– Simple, modular policy representation – Optimized, efficient defense orchestration – Handling dynamic attacks at runtime

  • Highly effective in mitigating modern DDoS attacks

22

slide-23
SLIDE 23

23

Thanks! Q&A

zhangmh16@mails.tsinghua.edu.cn