FPGA Network Firewalling David Thomas. Outline The Diadem firewall project Role of FPGAs within Diadem –The IBM FPGA Firewall Primary Goals Progress.

Slides:



Advertisements
Similar presentations
Network and Application Attacks Contributed by- Chandra Prakash Suryawanshi CISSP, CEH, SANS-GSEC, CISA, ISO 27001LI, BS 25999LA, ERM (ISB) June 2006.
Advertisements

Internet Control Protocols Savera Tanwir. Internet Control Protocols ICMP ARP RARP DHCP.
Firewalls By Tahaei Fall What is a firewall? a choke point of control and monitoring interconnects networks with differing trust imposes restrictions.
TCP Flooding. TCP handshake C S SYN C SYN S, ACK C ACK S Listening Store data Wait Connected.
1 Topic 2 – Lesson 4 Packet Filtering Part I. 2 Basic Questions What is packet filtering? What is packet filtering? What elements are inside an IP header?
CISCO NETWORKING ACADEMY PROGRAM (CNAP)
Computer Security Fundamentals by Chuck Easttom Chapter 4 Denial of Service Attacks.
EEC-484/584 Computer Networks Lecture 15 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Page: 1 Director 1.0 TECHNION Department of Computer Science The Computer Communication Lab (236340) Summer 2002 Submitted by: David Schwartz Idan Zak.
Slide 1 Attacks on TCP/IP. slide 2 Security Issues in TCP/IP uNetwork packets pass by untrusted hosts Eavesdropping (packet sniffing) uIP addresses are.
SYN Flooding: A Denial of Service Attack Shivani Hashia CS265.
1 CCNA 2 v3.1 Module Intermediate TCP/IP CCNA 2 Module 10.
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. 6 Packet Filtering By Whitman, Mattord, & Austin© 2008 Course Technology.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
Bro: A System for Detecting Network Intruders in Real-Time Presented by Zachary Schneirov CS Professor Yan Chen.
Introduction to InfoSec – Recitation 12 Nir Krakowski (nirkrako at post.tau.ac.il) Itamar Gilad (itamargi at post.tau.ac.il)
Lecture 8 Modeling & Simulation of Communication Networks.
FIREWALL TECHNOLOGIES Tahani al jehani. Firewall benefits  A firewall functions as a choke point – all traffic in and out must pass through this single.
Firewalls CS432. Overview  What are firewalls?  Types of firewalls Packet filtering firewalls Packet filtering firewalls Sateful firewalls Sateful firewalls.
Network Security (Firewall) Instructor: Professor Morteza Anvari Student: Xiuxian Chen ID: Term: Spring 2001.
A Brief Taxonomy of Firewalls
1Federal Network Systems, LLC CIS Network Security Instructor Professor Mort Anvair Notice: Use and Disclosure of Data. Limited Data Rights. This proposal.
Packet Filtering. 2 Objectives Describe packets and packet filtering Explain the approaches to packet filtering Recommend specific filtering rules.
1 The SpaceWire Internet Tunnel and the Advantages It Provides For Spacecraft Integration Stuart Mills, Steve Parkes Space Technology Centre University.
Hands-On Microsoft Windows Server 2003 Networking Chapter Three TCP/IP Architecture.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
PA3: Router Junxian (Jim) Huang EECS 489 W11 /
COEN 252 Computer Forensics Collecting Network-based Evidence.
Web Application Firewall (WAF) RSA ® Conference 2013.
Introduction to InfoSec – Recitation 11 Nir Krakowski (nirkrako at post.tau.ac.il) Itamar Gilad (itamargi at post.tau.ac.il)
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
Vladimír Smotlacha CESNET Full Packet Monitoring Sensors: Hardware and Software Challenges.
Transmission Control Protocol TCP. Transport layer function.
Transport Layer3-1 Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable.
5: Link Layer Part Link Layer r 5.1 Introduction and services r 5.2 Error detection and correction r 5.3Multiple access protocols r 5.4 Link-Layer.
Inter-process communication: Socket. socket Internet socket From Wikipedia, the free encyclopedia Jump to: navigation,
Fundamentals of Proxying. Proxy Server Fundamentals  Proxy simply means acting on someone other’s behalf  A Proxy acts on behalf of the client or user.
Network Security. 2 SECURITY REQUIREMENTS Privacy (Confidentiality) Data only be accessible by authorized parties Authenticity A host or service be able.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
Link Layer5-1 Synthesis: a day in the life of a web request  journey down protocol stack complete!  application, transport, network, link  putting-it-all-together:
1 Firewalls Types of Firewalls Inspection Methods  Static Packet Inspection  Stateful Packet Inspection  NAT  Application Firewalls Firewall Architecture.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
Chapter 3.  Upon completion of this chapter, you should be able to:  Select and install network cards to meet network connection requirements  Connect.
Chapter 5 Link Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
DoS/DDoS attack and defense
Breno de MedeirosFlorida State University Fall 2005 The IP, TCP, UDP protocols A quick refresher.
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
© 2002, Cisco Systems, Inc. All rights reserved..
10-Jun-05 BWCTL (Bandwidth Test Control) Jeff Boote Network Performance Workshop.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
End-host IP: MAC: 11:11:11:11:11 gateway IP: MAC: 22:22:22:22:22 Google server IP: interne t interface DNS server IP:
1 CNLab/University of Ulsan Chapter 19 Firewalls  Packet Filtering Firewall  Application Gateway Firewall  Firewall Architecture.
Firewalls. Overview of Firewalls As the name implies, a firewall acts to provide secured access between two networks A firewall may be implemented as.
HIP-Based NAT Traversal in P2P-Environments
Polytechnic University Firewall and Trusted Systems Presented by, Lekshmi. V. S cos
An Introduction To ARP Spoofing & Other Attacks
Introduction to Networks v6.0
Firewalls.
Instructor Materials Chapter 5: Ethernet
CS 280: Summary: A day in the life of a web request
COS 561: Advanced Computer Networks
Introduction to Networking
* Essential Network Security Book Slides.
Chapter 6 The Data Link layer
CS4470 Computer Networking Protocols
COS 561: Advanced Computer Networks
Implementing an OpenFlow Switch on the NetFPGA platform
CPEG514 Advanced Computer Networkst
Data Plane Jennifer Rexford Fall 2018 (TTh 1:30-2:50 in Friend 006)
Transport Layer 9/22/2019.
Presentation transcript:

FPGA Network Firewalling David Thomas

Outline The Diadem firewall project Role of FPGAs within Diadem –The IBM FPGA Firewall Primary Goals Progress

The Diadem Project Funded by the EU (your tax Euros at work) Nine partners –Four academic –Three industrial Five countries –France, Germany, Slovenia, UK, Poland Three year project, 6 months left

Diadem Goals Create a firewall that uses distributed elements within networks to detect and respond to attacks –Monitoring elements detect attacks in progress –Policy elements decide how to react to attacks –Firewall elements put reaction policy into effect Target areas are large organisations or ISPs with many peering points to foreign networks

Example network architecture

Diadem network architecture

Example : SYN flood attack (1) TCP uses three way handshaking: 1.client -> server : SYN 2.client <- server : SYN, ACK – alloc state 3.client -> server : ACK – established Between steps 2 and 3 server must maintain state, using system memory Memory can only be released after a timeout. After memory is used up no new connections can be established

Example : SYN flood attack (2) Attacker uses zombies to spoof source addresses Zombies continually perform steps 1 but never send packet 3 1.fake_ip1 -> server : SYN 2.fake_ip1 <- server : SYN,ACK – backlog=1 3.fake_ip2 -> server : SYN 4.fake_ip2 <- server : SYN,ACK – backlog=2 Server backlog keeps growing until no new connections can be established

Example : SYN flood response Use firewall between clients and server to screen new connections 1.client->fwall:SYN 2.client<-fwall:SYN,ACK (using cookie) 3.client->fwall:ACK (client added to whitelist) 4.client<-fwall:RST (connection dropped) 5.client->fwall->server:SYN (client now on whitelist) 6.client<-fwall<-server:SYN,ACK 7.client->fwall->server:ACK (connection established)

Diadem network architecture

Accelerated network architecture

The IBM FPGA Firewall (1) IBM (one of the partners) have created a hardware accelerated firewall Uses a host PC and a PCI FPGA card –Host PC reads packets from network and extracts packet headers srcIp,dstIp,srcPort,dstPort,flags : ~ 100 bits –FPGA does packet classification: looks at packet headers supplied by host and determines correct action (accept, reject, log etc.) –Host PC applies appropriate action to packet and sends it back to network The FPGA only does packet classification

The IBM FPGA Firewall (2) They’ve had some problems –They use weird FPGA boards with no support –They’re talking to the FPGA in kernel mode! –The number of rules they can apply is limited by the amount of TCAM they can instantiate TCAMs use SRL16s, not block RAMs –No expertise in FPGAs There is a bottleneck on the PC side –It is difficult to process gigabit streams in software, even when packet classification is done in hardware

Enter Imperial… What IC brings to the table –We have RC300s: full duplex Gb ethernet –We know a lot about FPGAs –We don’t take three hours for lunch Our goal: a standalone FPGA firewall –Performs the functionality of IBM firewall –Uses the same API as the IBM firewall –Operates at high data and packet rates

Current Platform: RC300 Virtex-II xc2v600 FPGA –6 M Gates (33K Slices) –2.6 MBits of embedded RAM Intel IXF1104 MAC –Two full duplex 1Gb ethernet ports –Exposed to FPGA as two 8-bit streams at 125MHz Samsung ZBT SRAM –4MB of 36 bit wide 117MHz –Four independent banks –ZBT: can interleave reads and writes at full speed

Firewall Model

Assumptions The firewall does not need to be very clever –Rules are translated into tables elsewhere –Updates are sent to the firewall as binary patches to be applied to internal tables (as UDP packets or over USB) The firewall does not need to maintain state –No support for packet fragmentation/assembly –No need to recognise packets as part of a stream The firewall is connected to a single endpoint at each port –Only needs to know two Ethernet MACs, no ARP The set of firewall responses is very simple

Classification Classifications is performed on a subset of packet header info –Source and destination IP address (2x32 bits) –Source and destination ports (2x16 bits) –Miscellaneous flags/protocol type (~12 bits) Rules specify list of rules in order or priority –Dest=server:80, src=?:?, Protocol=TCP – Accept –Dest=server:?, src=?:?, Protocol=? – Reject Classifier needs to find the first matching rule within the list

Responses Basic –Accept, Reject –Redirect (patch IP dest for inward, source for outward) –Log (Envelope packet info and send to an IP) –Reply with error –Throttling (random drop) –Simple combinations of above Possible –Throttling (limit to specified rate) –SYN flood protection –Statistics gathering

Firewall Architecture

Integration Acts as simple front-end firewall –Acts as a high-speed barrier when under attack –Will still require existing IBM firewall behind it to apply more complex rules (e.g. content inspection) Can implement same API as existing IBM firewall –API implemented on Linux host –Host translates API calls into table updates and forwards them to the RC300 over Ethernet or USB –May only support a subset of functionality

Progress Basic firewall is working –Support up to 1024 rules (IBM does 256) –Support up to 17.5 Mpackets/s –Up to 800 Gb/s Limited by the Celoxica PSL Currently working on integration with Diadem API

Summary Diadem firewall project –Distributed firewall to respond to distributed attacks FPGAs used within the firewall for speed Initial implementation currently running on the RC300