Enabling Practical SDN Security Applications with OFX (The O pen F - - PowerPoint PPT Presentation

enabling practical sdn security applications with ofx the
SMART_READER_LITE
LIVE PREVIEW

Enabling Practical SDN Security Applications with OFX (The O pen F - - PowerPoint PPT Presentation

Enabling Practical SDN Security Applications with OFX (The O pen F low e X tension Framework) John Sonchack, Adam J. Aviv, Eric Keller, and Jonathan M. Smith Outline Introduction Overview of OFX Using OFX Benchmarks 2 Basic Networking:


slide-1
SLIDE 1

Enabling Practical SDN Security Applications with OFX (The OpenFlow eXtension Framework)

John Sonchack, Adam J. Aviv, Eric Keller, and Jonathan M. Smith

slide-2
SLIDE 2

Outline

Introduction Overview of OFX Using OFX Benchmarks

2

slide-3
SLIDE 3

Basic Networking: Forwarding and Routing

3

Packet Forwarding

Route Computation

?

slide-4
SLIDE 4

SDNs: Networking in Two Planes

4

Data Plane

Control Plane

Packet forwarding Route computation

slide-5
SLIDE 5

OpenFlow: A Protocol to Manage Switches

5

Data Plane

Control Plane

Flow rules to implement routes

Packet forwarding Route computation

slide-6
SLIDE 6

OpenFlow: A Protocol to Manage Switches

6

Data Plane

Control Plane

Flow rules to implement routes

Assumption: Interactions between the control plane and data plane are infrequent.

Packet forwarding Route computation

slide-7
SLIDE 7

SDNs for Network Security

7

Data Plane

Control Plane

Flow rules to implement access control policy

Access Control

Casado, Martin, et al. "Ethane: taking control of the enterprise." ACM SIGCOMM Computer Communication Review. Vol. 37. No. 4. ACM, 2007.

Access Control Policy

slide-8
SLIDE 8

SDNs for Dynamic Network Security

8

Data Plane

Control Plane

Traffic Declassification DDoS Defense Bot Detection Traffic Declassification Access Control

Packet from new flow

Route for flow Advanced Processing

slide-9
SLIDE 9

SDNs for Dynamic Network Security: Flow Monitoring

9

Data Plane

Control Plane

Bot Detection

Packet from new TCP flow

Install byte counting rule

Gu, Guofei, et al. "BotMiner: Clustering Analysis of Network Traffic for Protocol-and Structure- Independent Botnet Detection." USENIX Security Symposium. Vol.

  • 5. No. 2. 2008.

Collect flow records without routing through a middlebox.

slide-10
SLIDE 10

SDNs for Dynamic Network Security: Traffic Declassification

10

Data Plane

Control Plane

Traffic Declassification Traffic Declassification

Can this flow leave the network?

declassification decision (Allow | Block)

Mundada, Yogesh, Anirudh Ramachandran, and Nick Feamster. "SilverLine: preventing data leaks from compromised web applications." Proceedings of the 29th Annual Computer Security Applications Conference. ACM, 2013.

Check flow tags and user permissions Enforce access control on tagged data leaving the network.

slide-11
SLIDE 11

SDNs for Dynamic Network Security

11

Data Plane

Control Plane

Traffic Declassification DDoS Defense Bot Detection Traffic Declassification Access Control

Packet from new flow

Route for flow Advanced Processing

slide-12
SLIDE 12

SDNs for Dynamic Network Security

12

Data Plane

Control Plane

Traffic Declassification DDoS Defense Bot Detection Traffic Declassification Access Control

Packet from new flow

Assumption: Interactions between the control plane and data plane are infrequent.

Route for flow Advanced Processing

slide-13
SLIDE 13

Obstacle: Low Throughput Control Path

13

130 million packets/second!!!!*

*can only forward 500 pps to controller.

Appelman, Michiel, and Maikel de Boer. "Performance analysis of OpenFlow hardware." University of Amsterdam, Tech. Rep (2012). Curtis, Andrew R., et al. "DevoFlow: scaling flow management for high-performance networks." ACM SIGCOMM Computer Communication Review. Vol. 41. No. 4. ACM, 2011.

slide-14
SLIDE 14

Obstacle: Centralized Control Plane

14

New Flow New Flow New Flow New Flow New Flow New Flow New Flow New Flow

slide-15
SLIDE 15

Our question: How Can We Make SDNs More Practical?

15

Traffic Declassification Traffic Declassification Access Control DDoS Defense Bot Detection Traffic Declassification

Data Plane

Control Plane

slide-16
SLIDE 16

16

The General Approach: Switch Level Security

Data Plane

Control Plane

Access Control DDoS Defense Bot Detection Traffic Declassification

slide-17
SLIDE 17

17

Previous Work: Security Functionality in the Forwarding Engine

Build new switch chips that support security applications

Shin, Seungwon, et al. "Avant-guard: Scalable and vigilant switch flow management in software-defined networks." Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security. ACM, 2013.

slide-18
SLIDE 18

18

Our insight: Leverage Switch CPUs

Run security logic on the switch CPUs

slide-19
SLIDE 19

19

OFX: A Framework for Application- Specific Switch Extensions

Declassification Declassification

Each application can load custom functionality into

  • switches. At runtime!
slide-20
SLIDE 20

Outline

Introduction Overview of OFX Using OFX Benchmarks

20

slide-21
SLIDE 21

OFX at a High Level

stack

21

slide-22
SLIDE 22

stack

OFX Switch Agents OFX Controller Library OFX Switch Agents OFX Switch Agents

stack OFX

22

OFX at a High Level

slide-23
SLIDE 23

stack

OFX Switch Agents OFX Switch Agents Switch-level logic

stack OFX

23

OFX at a High Level

OFX Extension Module

Controller interface

slide-24
SLIDE 24

stack stack OFX

24

OFX at a High Level

Permissions Database OFX Switch Agents OFX Switch Agents

Per-Flow Declassification Logic

Declassifier Module

slide-25
SLIDE 25

… Controller-managed forwarding tables OFX Filtering Tables OFX Agent

OFX at the Switch Level

Ingress Packets Egress Packets

25

OFX modules use filters to select packets that they need to process Software Hardware OpenFlow Switch OFX installs corresponding rules onto OFX tables

OFX Module Packet Handler

OFX modules process packets with custom handler

slide-26
SLIDE 26

Outline

Introduction Overview of OFX Using OFX Benchmarks

26

slide-27
SLIDE 27

Refactoring OpenFlow Applications to use OFX

OFX Declassifier Module

slide-28
SLIDE 28

Refactoring OpenFlow Applications to use OFX

OFX Declassifier Module

slide-29
SLIDE 29

Outline

Introduction Overview of OFX Using OFX Benchmarks

29

slide-30
SLIDE 30

Benchmarking OFX

How much raw overhead is there for processing packets with OFX?

How do OFX based security applications perform, compared with Middlebox and OpenFlow implementations?

30

slide-31
SLIDE 31

OFX Benchmark: Packets Per Second

Packets per Second 1 10 100 1,000 10,000 100,000 Packet Size 64 128 256 512 1024 1500 Packet handler in controller Packet handler in OFX module

31

Log10 Scale 100 PPS @ MTU 45,000 PPS @ MTU

slide-32
SLIDE 32

Benchmarking OFX

How much raw overhead is there for processing packets with OFX?

How do OFX based security applications perform, compared with Middlebox and OpenFlow implementations?

32

slide-33
SLIDE 33

Benchmark: Declassifier Packet Drop Rate

Implementation Frequent arriving flows Median High bandwidth flows Middlebox Proxy

OpenFlow

OFX

33

Proxy implementation limited by bit rate

OFX implementation performed well in all workloads

0.1% 0.1% 20.4% 97.5% 88.2% 0.1% 5.1% 3.2% 0.1%

OpenFlow implementation limited by flow arrival rate

.

  • S. Kandula, S. Sengupta, A. Greenberg, P. Patel, and R. Chaiken, “The nature of data center traffic: measurements & analysis,” in

Proceedings of the 9th ACM SIGCOMM conference on Internet measurement conference. ACM, 2009, pp. 202–208. .

  • L. Qian and B. E. Carpenter, “A flow-based performance analysis of tcp and tcp applications,” in Networks (ICON), 2012 18th

IEEE International Conference on. IEEE, 2012, pp. 41–45.

Workload Name Frequently arriving flows Median flows High bandwidth flows Flow Inter-arrival Period 0.0015 Seconds 0.015 Seconds 0.15 Seconds Average Transmission Bandwidth 19.75 Mbps 43.57 Mbps 970.99 Mbps

slide-34
SLIDE 34

Condition Reached

In the Paper

34

Application Specific Modules

Bot Detection DDoS Defense

Enhanced Switch API Modules

TCP Handshake Validation Push Based Alerts New TCP Flow

More benchmarks

Running on unmodified OpenFlow hardware!

OpenFlow Packet Path OFX Packet Path OpenFlow Controller OpenFlow Switch OFX Agent Linux Network Stack Forwarding Engine Firmware OpenFlow Agent Linux Kernel Control Platform Linux Kernel OFX Library

OFX API and Implementation Details

slide-35
SLIDE 35

35

Thank You

OFX Extension Module

OFX lets OpenFlow security applications push parts of their control plane logic down to switch CPUs, which can greatly improve performance and scalability on existing hardware and software. OFX: The OpenFlow Extension Framework