Document 7532129

Download Report

Transcript Document 7532129

Extensible Architectures for Passive and Active Protocol Interposition

Farnam Jahanian Department of EECS University of Michigan http://www.eecs.umich.edu/~farnam (joint work with G.R. Malan, P. Howell, and D. Watson)

Roadmap

Motivation

Windmill extensible probe

Protocol scrubbers

Summary

Context

•Routers •Name Servers •Critical Services •Protocol Scrubbers •Replication schemes •Countermeasures

Active Response Capabilities Network Infrastructure

•Network Attacks •Operational Faults

Anomalous

•S/H Failures

Network Events

•Event Aggregation •Data Mining

Analysis Engines Coarse and Fine Grained Measurement Tools

•Netflow Statistics •Windmill Probes

Survivable Network Infrastructure

Protocol Interposition Tools

Windmill Measurement Probe:

– Passive measurement mechanism for on-line reconstruction of functional and performance behavior of infrastructure and application-level protocols from low-level network traffic – Programmable and extensible 

Protocol Scrubbers:

– New class of active interposition mechanisms for on-line monitoring and enforcement of network security policies – T ransparent protection of networking infrastructure such as routers and switches

Windmill Overview

An open-architecture programmable tool for passive measurement

Infer performance & functional behavior through eavesdropping & on-line state reconstruction How does it work?

High-speed Packet Filter:

Extracts from a network vantage point’s underlying data flows 

Abstract Protocol Modules:

Reconstructs higher-level protocols ( BGP, RIP, HTTP ) from network traffic in real-time 

Experiment Engine:

Supports dynamically loadable run-time experiments

Windmill Architecture

Abstract Protocol Modules IP BGP TCP UDP RIP ...

HTTP Experiment Engine Exp2 Exp1 Packet Dispatcher Packet Flows Windmill Packet Filter

Windmill's Features

Measure overloaded, shrink-wrapped system

Correlate events from different layers

Feedback mechanism for active measurements

Data reduction at the measurement point

Support for 24x7 measurement

Dynamically add/remove concurrent experiments

Windmill Packet Filter (WPF)

Allows one-to-many multiplexing

Avoids problems with ambiguous filters

Dynamically compiled machine language module:

 Constructs an intermediate DAG rep. of subscriptions  Compiles this graph to a native machine lang. Module  Installs this module in the probe machine’s kernel

Abstract Protocol Modules

Used to reconstruct target protocol

Inverts protocol stack, drills down

Don't run the whole stack on packet

"Opens the Hood" on underlying protocols

Each module exports its protocol abstraction

Semantics taken from BSD stack

Extensible Experiment Engine

Manages the set of concurrent experiments

   

Add Remove Execute Modify State

Provides interface for storage and dissemination

Custom loader dynamically links experiments as they are loaded.

Broad Range of Studies Conducted using Windmill

BGP routing protocol congestion collapse -

SIGCOMM’98

RIP intra-domain routing protocol -

OPENSIG’99

Overloaded web servers (Microsoft vs. Netscape)

Campus network traffic characterization -

OPENSIG’99

Detection of NMAP scans - UM tech report

Space science collaboratory application -

SIGCOMM’98

Border Gateway Protocol (BGP)

MCI Sprint

Interdomain protocol between Autonomous Systems at exchange points

Routing peers exchange reachability information incrementally using TCP

SIGCOMM’97 paper identified major instability and pathological behavior in BGP routing

BGP Congestion Collapse Hypothesis Validated Using Windmill

 Congestion causes underlying TCP to backoff  BGP-level timers expire, causing termination  Interaction between BGP and TCP leads to router congestion collapse  High bandwidth utilization  BGP Instability

Web Server Experiments

Demonstrates:

Measure overloaded, shrink-wrapped system

 

No modification of web servers / end hosts Data reduction at the measurement point

Support for 24x7 measurement

Obtain "hard to get" metrics:

 

TCP connections dropped by server HTTP connection establishment latency

Server's Aggregate bandwidth

Web Experimental Apparatus

Web Servers Microsoft Netscape Client Client Client Client

Windmill

Connections Attempted vs. Established

800 600 400 200 0 0 Microsoft IIS 2.0

Netscape ES 3.0

300 600

Connection Attempts per second

900

Key Challenge

Coarse-grained network flow measurement:

are becoming more common in enterprise routers & switches from vendors 

Fine-grained measurement technologies:

provide packet traces and enable protocol state reconstruction (e.g., packet sniffers, Windmill) 

Integration of two technologies has numerous applications in enterprise-wide networks:

– Traffic characterization – Cache & replica placement – Denial of service & anomaly detection – Backtracing intrusion attacks

Protocol Scrubbers

A transparent interposition mechanism for on-line modification of traffic to comply with network security policies Enables protection of critical network infrastructure such as routers, switches and enterprise servers Ability to remove attacks targeted at distinct layers in the protocol stack Placed in front of critical infrastructure or eventually built into routers and switches

Applications of Protocol Scrubbers

Intrusion Detection Firewalls & attack removal Anti-fingerprinting Tools Content-based filtering Load-balancing Proxies ...

TCP/IP Scrubber TCP, UDP, IP Infrastructure Scrubber BGP, RIP, DNS Application-level Scrubber HTTP, FTP

TCP/IP Protocol Scrubber

TCP/IP Protocol Scrubber Implementation:

converts potentially ambiguous flows into

homogenized well-behaved flows maintains a very small amount of state per flow … lighter than full transport proxy

eliminates insertion and evasion attacks

FreeBSD implementation on Pentium. Next on Linux!

Performance comparable to IP forwarding and much better than commercial transport-level proxy

Example Domain: Network Intrusion Detection

Network ID systems watch traffic

Look for malicious use and attacks

Doesn’t modify flow

Notifies security administrator upon detection

Attackers counter with

crud

Ambiguities in Protocol Implementation

Examples from [Ptacek and Newsham ‘98]:

– –

IP TTL attack Packet too large for link without fragmenting

– – – –

DST configured to drop source routed packets DST may timeout fragments differently DST may reassemble fragments differently DST doesn’t accept packets with certain options

– – –

DST may use PAWS and silently discard packets DST may resolve conflicting segments differently DST may not check seqno on RST packets

Example Attack

Packet 1

012345678 ?ood url

Reconstruction:

012345678 ?ood url

Reconstruction:

012345678 ?ood url

Example Attack

Packet 1

012345678 ?ood url.

Packet 2

012345678 go blue!!

Reconstruction:

012345678

Reconstruction:

012345678

TCP/IP Scrubber: Use

External Host (Untrusted) Scrubber or Transport Proxy Internal Host (Trusted)

How the TCP Scrubber Solves the Previous Example

Scrubber Reconstruction:

012345678

Packet 1-U

012345678 ?ood url.

Reconstruction:

012345678 good url.

Packet 2-U

012345678 go blue!!

Reconstruction:

012345678 good url.

Packet 2-T

012345678 good url.

TCP/IP Scrubber: Micro-benchmarks

How does the scrubber affect throughput?

– Measured at the TCP level using netperf IP Forwarding Scrubbing 83.84Mbps

82.87

Plug Proxy 82.71

How does the scrubber affect forwarding latency in the kernel?

– Measured using Pentium on-chip cycle counter Forwarding Type IP Forwarding Scrub (1 byte) Scrub ( > 1000) Mean 8.00

 s 13.19

31.85

Std Dev 2.91

3.38

5.72

TCP/IP Scrubber: Macro-benchmarks

Macro-benchmarks (answer two questions):

How much overhead does the scrubber add?

Increase the number of clients and see how many connections per second we can sustain

Does the scrubber treat well-behaved flows adversely?

Inject range of artificial loss into flows to determine gross differences between IP forwarding and scrubbing

TCP/IP Scrubber: Sustainable Connections With No Loss 2500 2000 1500 1000 500 0 0

IP Forwarding TCP/IP Scrubbing User space proxy

100 200 300

Number of concurrent connections

400

TCP/IP Scrubber: Sustainable Connections With Artificial Loss 2500 2000

Transport Scrubbing IP Forwarding

1500 1000 500 0 0 2 4 6

Packet loss (percentage)

8 10

Infrastructure Protocol Scrubbing

 a lightweight transparent mechanism for preventing network attacks  scrubber can masquerade as a set of network services  allows protection of infrastructure level protocols

Client

(such as OSPF and BGP)  enabled through a single modification to the socket API; no modification of client or server code

Scrubber Set of Servers

Final Remarks

Passive vs. active protocol interposition

Coarse-grained vs. fine-grained measurement

Open architectures and programmability

Future work