Top Banner
Security services and the IXP Wu-chang Feng [email protected]. edu Systems Software Laboratory Dept. of Computer Science and Engineering
37

Security services and the IXP Wu-chang Feng [email protected] Systems Software Laboratory Dept. of Computer Science and Engineering.

Dec 28, 2015

Download

Documents

Brenda Hardy
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Security services and the IXP Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu 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

• 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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

Talk outline

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

Page 4: Security services and the IXP Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

The IXP and network security research

Page 5: Security services and the IXP Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

Packet classification

Student: Deepa Srinivasan

Page 9: Security services and the IXP Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

A space-time tradeoff example

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

Page 12: Security services and the IXP Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

Hierarchical Trie

(Figure should terminate at R2)

Page 13: Security services and the IXP Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

Set-pruning Trie

Page 14: Security services and the IXP Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

Classification lookup caching

Student: Francis Chang

Page 21: Security services and the IXP Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

Curriculum

Student: Jin Choi

Page 28: Security services and the IXP Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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

Page 33: Security services and the IXP Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

Questions

Page 36: Security services and the IXP Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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 Wu-chang Feng wuchang@cse.ogi.edu Systems Software Laboratory Dept. of Computer Science and Engineering.

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