Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya...

36
Background OpenSAFE and ALARMS Implementation Conclusion Extensible and Scalable Network Monitoring Using OpenSAFE Jeffrey R. Ballard Ian Rae Aditya Akella Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Transcript of Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya...

Page 1: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Extensible and Scalable NetworkMonitoring Using OpenSAFE

Jeffrey R. Ballard Ian Rae Aditya Akella

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 2: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Outline1 Background

Network monitoringHow monitoring is done today

2 OpenSAFE and ALARMSOpenSAFEALARMSRule AggregationDistribution

3 ImplementationMapping to OpenFlowSwitch Example

4 ConclusionRelated WorkFuture WorkConclusion

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 3: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Network monitoringHow monitoring is done today

Motivation

We want to monitor the network.

Specifically, we want to allow administrators toeasily:

• collect network usage statistics

• detect intrusions

• provide forensic evidence

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 4: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Network monitoringHow monitoring is done today

Challenges

Middleboxes are commonly used, however, theypresent challenges. . .

1 Speed

2 Cost3 Flexibility

1 Setup: rewire2 Change: rewire3 Add new middlebox: rewire

. . . making them ill suited for network monitoring.

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 5: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Network monitoringHow monitoring is done today

Example: College of Engineering

Building 1

Building 3

Building 2

Building 4 Building 5

Building 6

Building 7

Router 2

CampusBackboneRouters

Router 1

x5x2 x2 x2

x2

x2

Red links = 10 GbpsWhite links = 1 Gbps

Connections to the College:2 x 10 Gbps links22 x 1 Gbps links

x2

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 6: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Network monitoringHow monitoring is done today

How do people actually do it?

Mirror (or tap) an interesting network interface toanother switch port, then listen to that port withsomething like Snort.

Advantage over a middlebox: monitoring has noimpact on the production traffic and routes.

Disadvantages: the traffic can run you over, and it’sstill hard to add new detectors.

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 7: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Network monitoringHow monitoring is done today

What it looks like today

Network B

Network A

MonitoringDevice

Network BFirewall

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 8: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Network monitoringHow monitoring is done today

What we want to do

Network B

Network A

Programmable Network Layer

Network BFirewall

MonitoringDevice 2

MonitoringDevice 1

MonitoringDevice n

...

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 9: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

OpenSAFE

OpenSAFE uses a programmable network fabricto. . .

• Selectively match network flows

• Arbitrarily direct network flows to other switchports at line rate

• Direct exceptions to a software component

• Enable the use of commodity network hardware

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 10: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

Why not implement it in software?

We could use something like Click to dynamicallymanage detectors.

Major problem: software is not fast enough!

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 11: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

Solution: Hardware!

Easiest: Custom ASICs

1 Expensive

2 Non-standard

3 Potentially hard to configure

But we have something that can do this. . .

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 12: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

Programmable Network Fabric

While OpenSAFE would be compatible with anyprogrammable network fabric, we implementedOpenSAFE in OpenFlow since it is available today.

The key elements are:

1 speed

2 heterogeneity

3 flexibility

4 cost

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 13: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

Example OpenSAFE Layout

Network B

Network A

OpenFlow

Network BFirewall

dSniff

Snort

Decryption

OpenFlowController

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 14: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

ALARMS

ALARMS: A Language for Arbitrary RouteManagement for Security

Basic building blocks are paths of:

• Inputs: copy of traffic from a mirror switch port

• Selects: restricts the set of traffic for this rule

• Filters: pass the traffic through an application

• Sinks: where to finally direct the traffic

Combining these gives us a rich set ofconfigurations.

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 15: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

Simple Example

We will use the following example over the next fewslides:

MirrorPort: 80

Counter TCP Dump

Take all TCP port 80 traffic, send it to a counter,and then send it to a machine running tcpdump.

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 16: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

Paths

Input SinksSelect Filters

A path is:A source switch port with selection criteria. . . which goes into zero or more filters. . . then out to one or more sinks

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 17: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

OpenSAFE Schematic

OpenFlow Switch

InputSink1

Filter1 Filterm

Sinkn

...

...

OpenFlowController

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 18: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

Policy naming

In OpenSAFE all switch ports are named.

Logically, ALARMS articulates paths of namedswitch ports.

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 19: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

Revisiting our example

MirrorPort: 80

Counter TCP Dump

. . . becomes . . .

Mirror Counter TCP DumpPort 80

mirror[http] -> counter -> tcpdump;

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 20: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

Let’s get some more paths

Mirror Counter TCP DumpPort 80

mirror[http] -> counter -> tcpdump;

Mirror Counter TCP DumpPort 443 Decryption

mirror[https] -> decrypt ->

counter -> tcpdump;

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 21: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

Let’s get some more paths

Mirror Counter TCP DumpPort 80

mirror[http] -> counter -> tcpdump;

Mirror Counter TCP DumpPort 443 Decryption

mirror[https] -> decrypt ->

counter -> tcpdump;

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 22: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

Waypoints

As more rules are added, often the rules follow thesame paths making rule management difficult.

Solution:

Waypoint

Waypoints are virtual destinations for paths.

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 23: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

Waypoint example

Mirror Port 80

Mirror

Counter TCP Dump

Port 443 Decryption

Web

mirror[https] -> decrypt -> web;

mirror[http] -> web;

web -> counter -> tcpdump;

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 24: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

Multiple Destinations

In ALARMS, multiple destinations are easy:

Mirror

TCPDump 1

Port 80

TCPDump 2

mirror[http] -> {ALL, tcpdump1, tcpdump2};

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 25: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

Distribution rules

When parallel filters or sinks are used, distributionrules describe how traffic flows should be spread.

Rules include:

Any Randomly pick a switch portAll Replicate packet to all switch ports

Round Robin Cycle through the switch portsHash Apply a hash function

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 26: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

OpenSAFEALARMSRule AggregationDistribution

Multiple Destinations

Mirror

TCPDump 1

Port 80

Mirror

TCPDump 2

Port 443 Decryption

Web

web -> {ALL, tcpdump1, tcpdump2};

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 27: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Mapping to OpenFlowSwitch Example

Mapping the language into OpenFlow

We want to handle lots of traffic, so need highperformance.

Hardware is fast. Software is slow.

Install as many precomputed flow entries as possible.

However, when the hardware does not supportfunctions we must go to software. In OpenFlow thisincludes Any, Round Robin, and Hash distributionrules.

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 28: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Mapping to OpenFlowSwitch Example

How it works under the hood

Starting with the last path diagram we hadbefore. . .

Mirror

TCPDump 1

Port 80

Mirror

TCPDump 2

Port 443 Decryption

Web

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 29: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Mapping to OpenFlowSwitch Example

How it works under the hood

OpenFlow SwitchMirror

TCPDump 1

TCPDump 2

Decryption

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 30: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Mapping to OpenFlowSwitch Example

How it works under the hood

OpenFlow SwitchMirror

TCPDump 1

TCPDump 2

Decryption

Web

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 31: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Mapping to OpenFlowSwitch Example

How it works under the hood

OpenFlow SwitchMirror

TCPDump 1

TCPDump 2

Decryption

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 32: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Related WorkFuture WorkConclusion

Related Work: Ethane

Ethane (the predecessor to OpenFlow) is anenterprise-wide security solution.

The focus here is to insert a tool just at the border,optimized for the border.

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 33: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Related WorkFuture WorkConclusion

Related Work: Policy-aware switching

Policy-aware switching, proposed by Joseph et al. issomewhat similar to Ethane.

It removes the centralized controller, and has eachswitch determine the next hop.

Also, the policy specification language, like Ethane,is centered around deciding appropriate paths for aflow.

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 34: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Related WorkFuture WorkConclusion

What next?

In the future, we’d like to expand our system byexploring:

• incorporating dynamic feedback from filtersand sinks

• precomputing more dynamic distribution rules

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 35: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Related WorkFuture WorkConclusion

Conclusion

OpenSAFE greatly simplifies high-speed networkmonitoring.It is also:

• Cost effective by using commodity hardware

• Flexible and easy to modify

• Capable of operating at high line rates

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE

Page 36: Extensible and Scalable Network Monitoring Using OpenSAFE · Je rey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE. Background OpenSAFE

BackgroundOpenSAFE and ALARMS

ImplementationConclusion

Questions?

Questions?

Jeffrey R. Ballard, Ian Rae, Aditya Akella Extensible and Scalable Network Monitoring Using OpenSAFE