+ All Categories
Home > Documents > Security services and the IXP

Security services and the IXP

Date post: 20-Jan-2016
Category:
Upload: dixon
View: 20 times
Download: 0 times
Share this document with a friend
Description:
Security services and the IXP. Wu-chang Feng [email protected] Systems Software Laboratory Dept. of Computer Science and Engineering. About the project. 6 months old Just started, pardon the vapor Supported by Intel (12/2001) and ETIC (4/2002) Graduate Students - PowerPoint PPT Presentation
37
Security services and the IXP Wu-chang Feng [email protected]. edu Systems Software Laboratory Dept. of Computer Science and Engineering
Transcript
Page 1: Security services and the IXP

Security services and the IXP

Wu-chang Feng

[email protected]

Systems Software Laboratory

Dept. of Computer Science and Engineering

Page 2: Security services and the IXP

About the project..

• 6 months old– Just started, pardon the vapor

• Supported by Intel (12/2001) and ETIC (4/2002)– Graduate Students

• Francis Chang: [email protected]

• Deepa Srinivasan: [email protected]

• Jin Choi (1/2003): [email protected]

– Undergraduate Interns from Charles Consel’s group

• Ludovic Martorel

• Damien Berger

Page 3: Security services and the IXP

Talk outline

• IXP and network security research• Packet classification• Packet classification caching strategies• Curriculum

Page 4: Security services and the IXP

The IXP and network security research

Page 5: Security services and the IXP

A research opportunity

• IXP– Provides an open high-speed networking platform

– Research enabler

• Analyzing packet classification/routing algorithms

• Analyzing packet classification/routing lookup caching algorithms

• Security functions

– Sandbox to test and compare algorithms on a real platform

Page 6: Security services and the IXP

IXP and research

• Quickly becoming the ns of experimental networking systems– Open hardware

– Open software

• What’s needed?• A library of reference implementations and benchmarks

– IP route lookup (longest-prefix match) algorithms

– General packet classification algorithms

– Route and classification lookup caching algorithms

– Security functions

Page 7: Security services and the IXP

Our focus: Security

• Borrow and use liberally…– Princeton (VERA)– Columbia (NetBind)– Georgia Tech (IDS)– Utah (Emulab)– Others..

• Build what’s missing– Range of full packet classifiers– Range of lookup caching algorithms– Merging the goals of research and education

• A security-focused IXP laboratory course

• Eventually, examine additional security services– Anomaly detection– Content filtering– etc.

Page 8: Security services and the IXP

Packet classification

Student: Deepa Srinivasan

Page 9: Security services and the IXP

Packet classification

• Use the IXP and open-source tools to– Compare full, packet classification algorithms

– Benchmark algorithms via real rule sets and real traffic traces

– Explore adaptive packet classifiers

Page 10: Security services and the IXP

A hard, but well-studied problem

• What are the key issues?– Storage

– Search time

– Update time

• General filter matching problem ~ Problems in computational geometry– N=number of filters or rules, d=number of dimensions

– Requires

• O(log N) time with O(Nd) space OR

• O((log N)(d-1) time with O(N) space

• Classic space-time tradeoff problem

Page 11: Security services and the IXP

A space-time tradeoff example

• Hierarchical tries: slow and compact• Set-pruning tries: fast and large

Page 12: Security services and the IXP

Hierarchical Trie

(Figure should terminate at R2)

Page 13: Security services and the IXP

Set-pruning Trie

Page 14: Security services and the IXP

A space-time tradeoff example

• Hierarchical tries vs. Set-pruning tries (worst-case)

Algorithm Time Storage Updates Notes

Linear Search N N 1 Simple, poor scaling, iptables

Hierarchical trie Wd NdW d2W Backtracking search

Set-pruning trie dW Nd Nd Fast retrieval at the cost of storage. Good for relatively static classifiers.

N – Number of Rules W – Width of dimension d – Number of dimensions

Page 15: Security services and the IXP

Packet classification

• Approaches– Generic classifiers

• Optimized for best worst-case performance– Heuristic classifiers

• Take advantage of structure in rule sets (as done with IP router lookups)

• Tradeoff speed, storage, and update time in the worst case for speed and storage in the common case

– Hardware classifiers• Throw hardware and parallel processing at the problem• Serves as a wish-list for the IXP

– Is a hardware-based packet classification engine in the works?– Can I go home?– Will I need to shoot myself when the IXP4xxx comes out?

Page 16: Security services and the IXP

So many algorithms, so little time…

• Which one to choose?– Hierarchical tries with backtracking search– Set-pruning tries– Bit vector, Fractional cascading [Lakshman98]– Aggregated bit vector [Baboescu00]– Grid of tries, Cross-producting [Srinivasan98]– Area-based quadtrees [Buddhikot99]– Fat inverted segment tree [Feldman00]– Tuple-space search [Srinivasan99]– Recursive flow classification [Gupta99]– Hierarchical intelligent cuttings [Gupta00]

• Performance and cost a function of– d = number of dimensions– W = width of dimensions– N = number of rules– l = number of levels in tree (FIS-tree only)

Page 17: Security services and the IXP

Summary of schemes [Gupta00]

Grid-of-tries W d-1 NdW NdW Rebuild for each update; Could be used for last 2 dimensions of a multi-dimensional hierarchical trie.

AQT aW NW a Sqrta(N) a is a tunable integer parameter

FIS-tree (l + 1) W l x N1 + 1/l -- Tree must be recomputed on update

RFC d Nd --- Not suitable for large sets of rules (> 6000); pre-processing and large storage space. 10Gbps line rates in hardware and 2.5Gbps rates in software.

Hierarchical Intelligent Cuttings

d Nd --- Parameters can be tuned to trade-off query time against storage requirements.

Tuple-space search M N 1 Performs well for multiple dimensions if the number of tuples (i.e. hash entries) are small. Only supports prefixes; generic rules increase storage complexity.

Algorithm Time Storage Updates Notes

Linear Search N N 1 Simple, poor scaling

Hierarchical trie Wd NdW d2W

Set-pruning trie

Cross-producting

dW Nd Nd Fast retrieval at the cost of storage. Good for relatively static classifiers.

Ternary CAM 1 N 1* Simple; Good for small classifiers; Costly

Bit vector dW + N/memwidth

dN2

---Incremental updates not supported; Good for multiple dimension and a small number of rules

N=# of rules, W=Width of dimensions, d=# of dimensions, l=levels of tree, M=# of Tuples

Page 18: Security services and the IXP

Is there a winner?

• Not really, it depends on….– Rule sets

– Incoming traffic characteristics

– Metric desired (average vs. worst-case lookup time)

– Hardware cost (memory, ternary CAM)

• How much chip area did that 16-entry CAM on the IXP2xxx take?

Page 19: Security services and the IXP

Adaptive packet classifiers

• Hypothesis– Value in adaptation

– Reconfigure for high-speed based on amount of memory and rule set given a fixed hardware configuration and performance metric

• Approach– Implement a small set of classifiers

– Build modules that translate ipchains/iptables/netfilter rule sets into data structures of individual classifiers

– Study adaptation policies for classifiers based on rule analysis

– Implement seamless switching between implementations (i.e. double buffering [Partridge98])

– Performance evaluation using

• Library of publicly available rule sets

• Public traffic trace

• An Emulab with loadable IXPs

Page 20: Security services and the IXP

Classification lookup caching

Student: Francis Chang

Page 21: Security services and the IXP

Caching and IP route lookups

• IP destination-based routing– A one-dimensional packet classifier

• Caching instrumental in building gigabit IP routers– Full lookup extremely expensive to support at high rates

– Cache of 12,000 entries gives 95% hit rate [Jain86, Feldmeier88, Heimlich90, Jain90, Newman97, Partridge98]

– “A 50 Gb/s IP Router” [Partridge98]

• Switched interconnection fabric

• Alpha 21164-based forwarding cards (separate from line cards)

• First-level on-chip caches Icache=8kB (2048 instructions), Dcache=8kB

• Secondary on-chip cache=96kB – Fits 12000 entry route cache in memory

– 64 bytes per entry presumably due to cache line size

• Tertiary cache=16MB (full, double-buffered route table)

Page 22: Security services and the IXP

Caching and multi-dimension lookups

• Flow-based firewalls– A five-dimensional packet classifier

• Caching even more important – Full classification algorithms will not run anywhere near line-

speed on the current incarnation of the IXP

– Inherently harder to do

– Much lower hit rates [Xu00]

– Rule and traffic dependent

Page 23: Security services and the IXP

Current approaches

• Direct-mapped hashing with LRU replacement– Typical for IP route caches [Partridge98]

• Parallel hashing and searching with set-associative hardware [Xu00]– ASIC solution with parallel processing and a fixed, LRU

replacement scheme

• Proprietary vendor solutions– ?

Page 24: Security services and the IXP

Class-based caching

• Structure of application traffic can provide useful information

• W. Feng, F. Chang, W. Feng, J. Walpole, “Provisioning On-line Games: A Traffic Analysis of a Busy Counter-Strike Server”– Packet load of an on-line game server over 10ms intervals

Page 25: Security services and the IXP

Observations

• Game traffic– Large number of periodic packets

– Extremely small packet sizes

– Persistent flows

– Small number of clients per server

– Without caching, a packet classification disaster

– With caching, a poster-child for LFU replacement?

• Web traffic– Bursty, heavy-tailed packet arrival

– Many more clients per server

– Small number of packets per flow

Page 26: Security services and the IXP

Goal of study

• Attack the packet classification caching problem• Resource requirements and data structures for high

performance packet classification caches• “Segregate, Hash, and Cache”

– Understand traffic characteristics

– Examine hierarchical class-based partitioning of cache

– Examine class-based partitioning of classification function (i.e. MEv2)

– Examine alternative replacement algorithms per class such as LFU

Page 27: Security services and the IXP

Curriculum

Student: Jin Choi

Page 28: Security services and the IXP

An IXP course for OGI/OHSU

• Goal– Spread the IXP gospel

– Provide students with experience on a modern networking platform

• Train (and test drive) potential Ph.D. students

• Train future Intel employees– 171 OGI/OHSU alums @ Intel

– Intel is the single largest employer of OGI/OHSU graduates

Page 29: Security services and the IXP

Approach

• Ask for help– Dirk & Raj (PCs, IXP boards, and support)

– Ken Mackenzie (course material and advice)

• Keep it simple• Align with security research project• Ask for feedback

– Curriculum completed

– Guide and slide presentation available at http://www.cse.ogi.edu/~wuchang/ixp/

– Course will be offered as CSE58?: Networking Practicum

– Scheduled for Spring 2003

Page 30: Security services and the IXP

The course itself

• Errata– Weekly 3-hour sessions– Dedicated laboratory of 10 IXP workstations

• Cloned via Norton Ghost

• Week #1– Conceptual framework– IXP architecture

• Hardware: StrongARM, memory resources, micro-engines• Software: ACEs, microACEs

• Week #2– Introduce Linux/Windows2000/VMware, and the IXP platform– Remedial Linux network administration material

• ifconfig, route, netstat, ipchains, ping, traceroute, arp etc. – Learn the IXP environment setup/configuration

• Building core components on Linux using standard GNU toolchain• Building microcode using microengine toolchain on Windows2000

Page 31: Security services and the IXP

The course itself (cont.)• Week #3

– Build and run the L3 forwarder application

• Test with external sources and sinks

• Week #4– Add a packet counter to the L3 forwarder

• Makes sure that everyone with a CS degree from OGI/OHSU has programmed in assembly code at some point.

• Week #5– In-line port filter

• Add microcode to block TCP segments based on destination port

– Code review of L3 forwarder to design full port filter

Page 32: Security services and the IXP

The course itself (cont.)• Week #6: continued

Page 33: Security services and the IXP

The course itself (cont.)

• Week #6– Full port filtering functionality

• Pass port numbers to be blocked as arguments

• SRAM management (allocation and initialization of multi-stride trie in the core component, access to data structure from the microengine)

• Add logic in core component to handle port filtering of exceptional packets

Page 34: Security services and the IXP

The course itself (cont.)

• Week #7-#10– Propose and implement functions of their own for a final project

• Packet classifiers

• Classification lookup caching

Page 35: Security services and the IXP

Questions

Page 36: Security services and the IXP

Future work

• Support for high-speed intrusion and anomaly detection (E-boxes and A-boxes)– Content-based filters

• Basic network-level filters (Snort)

• Application-specific filters (Bro)

– Usage-based filters

• Accounting

• Logging

Page 37: Security services and the IXP

What makes sense on an IXP?

• Function-based decomposition used in security– Common Intrusion Detection Framework (CIDF) [Porras01]

• Event generators (E-boxes)– produce entries based on filtered activities

• Event databases (D-boxes)– store events in a persistent manner

• Event analyzers (A-boxes)– synthesize higher-level activity based on individual range of events

• Response units (R-boxes)– perform actions based on events


Recommended