Detecting Forged TCP Reset Packets



Similar documents
Debugging With Netalyzr

Ignoring the Great Firewall of China

Transport Layer Protocols

CS5008: Internet Computing

Network reconnaissance and IDS

FIREWALLS. Firewall: isolates organization s internal net from larger Internet, allowing some packets to pass, blocking others

Host Fingerprinting and Firewalking With hping

Content Distribution Networks (CDN)

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

Networking Attacks: Link-, IP-, and TCP-layer attacks. CS 161: Computer Security Prof. David Wagner

Outline. CSc 466/566. Computer Security. 18 : Network Security Introduction. Network Topology. Network Topology. Christian Collberg

Network and Services Discovery

Looking for Trouble: ICMP and IP Statistics to Watch

How the Great Firewall discovers hidden circumvention servers. Roya Ensafi David Fifield Philipp Winter Nick Weaver Nick Feamster Vern Paxson

Firewalls, Tunnels, and Network Intrusion Detection

INTRODUCTION TO FIREWALL SECURITY

CMPT 471 Networking II

FIREWALL AND NAT Lecture 7a

Firewalls. Chapter 3

CIT 380: Securing Computer Systems

Chapter 8 Security Pt 2

Firewalls, Tunnels, and Network Intrusion Detection. Firewalls

Network Security. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT)

tcpcrypt Andrea Bittau, Dan Boneh, Mike Hamburg, Mark Handley, David Mazières, Quinn Slack Stanford, UCL

20-CS X Network Security Spring, An Introduction To. Network Security. Week 1. January 7

Firewalls. Firewalls. Idea: separate local network from the Internet 2/24/15. Intranet DMZ. Trusted hosts and networks. Firewall.

Visualizations and Correlations in Troubleshooting

OLD VULNERABILITIES IN NEW PROTOCOLS? HEADACHES ABOUT IPV6 FRAGMENTS

Chapter 8 Network Security

Funkwerk UTM Release Notes (english)

The Ecosystem of Computer Networks. Ripe 46 Amsterdam, The Netherlands

Firewalls. Test your Firewall knowledge. Test your Firewall knowledge (cont) (March 4, 2015)

Cisco Configuring Commonly Used IP ACLs

CS 356 Lecture 16 Denial of Service. Spring 2013

Solution of Exercise Sheet 5

V-ISA Reputation Mechanism, Enabling Precise Defense against New DDoS Attacks

ACHILLES CERTIFICATION. SIS Module SLS 1508

CSE331: Introduction to Networks and Security. Lecture 12 Fall 2006

A D M I N I S T R A T O R V 1. 0

Announcements. No question session this week

Network Security CS 192

Introduction of Intrusion Detection Systems

Internet Firewall CSIS Internet Firewall. Spring 2012 CSIS net13 1. Firewalls. Stateless Packet Filtering

VLAN und MPLS, Firewall und NAT,

CSCI 4250/6250 Fall 2015 Computer and Networks Security

Port Scanning. Objectives. Introduction: Port Scanning. 1. Introduce the techniques of port scanning. 2. Use port scanning audit tools such as Nmap.

Borderware Firewall Server Version 7.1. VPN Authentication Configuration Guide. Copyright 2005 CRYPTOCard Corporation All Rights Reserved

Examining How The Great Firewall Discovers Hidden Circumvention Servers

Insecure network services. Firewalls. Two separable topics. Packet filtering. Example: blocking forgeries. Example: blocking outgoing mail

Introduction to Firewalls Open Source Security Tools for Information Technology Professionals

Wharf T&T Limited DDoS Mitigation Service Customer Portal User Guide

Load Balancing and Sessions. C. Kopparapu, Load Balancing Servers, Firewalls and Caches. Wiley, 2002.

Attack and Defense Techniques

Troubleshooting the Firewall Services Module

Firewalls. Ingress Filtering. Ingress Filtering. Network Security. Firewalls. Access lists Ingress filtering. Egress filtering NAT

Troubleshooting the Firewall Services Module

April 23, 2015 ACME Company. Security Assessment Report

We will give some overview of firewalls. Figure 1 explains the position of a firewall. Figure 1: A Firewall

Network Defense Tools

Security+ Guide to Network Security Fundamentals, Fourth Edition. Chapter 6 Network Security

Firewall Firewall August, 2003

Firewalls 1 / 43. Firewalls

Improving DNS performance using Stateless TCP in FreeBSD 9

Architecture Overview

IP Firewalls. an overview of the principles

Pass Through Proxy. How-to. Overview:..1 Why PTP?...1

1. Introduction. 2. DoS/DDoS. MilsVPN DoS/DDoS and ISP. 2.1 What is DoS/DDoS? 2.2 What is SYN Flooding?

From Network Security To Content Filtering

A host-based firewall can be used in addition to a network-based firewall to provide multiple layers of protection.

Network Security. Chapter 3. Cornelius Diekmann. Version: October 21, Lehrstuhl für Netzarchitekturen und Netzdienste Institut für Informatik

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

BorderWare Firewall Server 7.1. Release Notes

CipherMail Gateway Quick Setup Guide

Networking for Caribbean Development

Presented By: Holes in the Fence. Agenda. IPCCTV Attack. DDos Attack. Why Network Security is Important

IP address format: Dotted decimal notation:

Towards a Comprehensive Picture of the Great Firewall s DNS Censorship

Insecure network services

A Measurement Study of Peer-to-Peer File Sharing Systems

The Advantages of a Firewall Over an Interafer

Firewall Server 7.2. Release Notes. What's New in Firewall Server 7.2

Network Scanning. What is a Network scanner? Why are scanners needed? How do scanners do? Which scanner does the market provide?

What is a DoS attack?

How to set up popular firewalls to work with Web CEO

Capture of Mission Assets

Firewalls, NAT and Intrusion Detection and Prevention Systems (IDS)

Borderware MXtreme. Secure Gateway QuickStart Guide. Copyright 2005 CRYPTOCard Corporation All Rights Reserved

5 Easy Steps to Implementing Application Load Balancing for Non-Stop Availability and Higher Performance

Application Note. Onsight TeamLink And Firewall Detect v6.3

Proxies. Chapter 4. Network & Security Gildas Avoine

Transcription:

Detecting Forged TCP Reset Packets Nicholas Weaver Robin Sommer Vern Paxson

Acknowledgements Special thanks to those who ran our detector at their institutions: Angelos Keromytis and Gabriela Cretu at Columbia Angelos Stavrou at George Mason University Feedback from Jim Mellander and Christian Kreibich Support from the National Science Foundation CNS-0722035 and ITR/ANI-0205519 All opinions are those of the author, not the funder 2

Outline: Injected TCP Reset (RST) packets can be used for many purposes. Our goal is not to judge their use but to make their use transparent TCP 101: TCP Reset (RST) Packets Network Management 101: Injected RSTs Injected Packets: Constraints and Freedoms Detecting Injected Packets: Race Conditions Fingerprinting Packet Injectors What sources did we see? TCP Packet Injectors and their uses Non-injected sources 3

TCP 101: Connection Termination A side sends a TCP Finish (FIN) to indicate that it is done sending but not receiving Resulting connection is half-closed Connection is only closed when the other side sends a FIN of its own Until then, the other side can keep sending data DATA & ACKs FIN ACK DATA ACK FIN ACK 4

TCP 101: Connection Aborting But what if a side does not want to send or receive any more data: Program closed Abort the connection Deny the connection after first accepting it A TCP Reset (RST) tells the other side of the connection: There will be no more data from this source on this connection This source will not accept any more data, so no more data should be sent Once a side has decided to abort the connection, the only subsequent packets sent on this connection may be RSTs in response to data Once a side accepts a RST, it will no longer send data or accept any more data Yet RSTs are quite common, 10-15% of ALL flows are terminated by a RST rather than a FIN For HTTP, it can be over 20% DATA & ACKs RST DATA RST 5

Network Management 101: Connection Blocking Many reasons to terminate a connection: Required network censorship (the Great Firewall of China) Blocking undesirable protocols (blocking P2P traffic) Stopping spam and network attacks Can build either an in-path device or an out-of-path device In path devices can just drop traffic: But they are dangerous! They add points-of-failure and can slow down the network An out-of-path device is simpler to build, but you have to terminate the flow somehow: Tell an in-path device to block a flow (ACL injection) Send bogus TCP data or FINs QuickTime and a decompressor are needed to see this picture. May result in packet storms Send bogus TCP RSTs If one side accepts the packet, the connection will terminate Injecting RSTs is the generally most preferred method by network engineers From Comcast s FCC Filings 6

What Can an Injected TCP RST Look Like? The 5-tuple (source and destination ports and IP addresses) must be correct Can send to both directions, to ensure that one side accepts the RST The packet must have consistent sequencing: Many TCP stacks will accept any RST in window Paranoid stacks will only accept RSTs in sequence Prevents blind TCP RST injection Almost complete freedom elsewhere TTL may be different (because the injected packet took a different path) But TTL can be highly variable on normal RSTs too The ACK field is not checked IPID, other TCP flags (ACK flag, ECN, etc) Yet we d expect an end host or injector to be consistent in how it creates packets 7

RST Injection Race Conditions An injected reset is an additional packet, it can t remove a packet from the network Unavoidable race conditions which create detectable out-of-spec packet flows: DATA_SEQ_RST: A data packet immediately following a RST packet where data packet (seq + len) > RST seq Caused by a subsequent data packet in flight RST_SEQ_DATA: A RST packet immediately following a data packet where RST seq < data packet (seq + len) Caused because the injector was too slow in sending the packets DATA & ACKs Injected RST DATA DATA & ACKs Injected RST DATA 8

Race Conditions Cause RSTs to be ignored RST_SEQ_DATA creates RSTs that are ignored So countermeasure is to send multiple RSTs with increasing sequence number Thus the second or third RST should be in-window Best increment: size of last packet Second-best increment: standard MTU RST_SEQ_CHANGE: Back to back RST packets where the second RST seq!= first and RST seq > maximum sent sequence RST seq > maximum received ACK (In case we missed a packet or the other side is not following the specification) Non-robust injectors can only be detected when the race conditions occur Injectors robust the the RST_SEQ_DATA race condition can always be detected DATA & ACKs Injected RST DATA 9

RST Injectors Also Create Interesting Aborts SYN_RST: A RST packet immediately following a SYN packet Note that web browsers and SMTP authentication clients do this for benign reasons: For example, the user misclicks on a bookmark and then immediately hits STOP SYN_ACK_RST: A RST packet immediately following the SYN/ACK from the server Note that web servers and SMTP servers do this for benign reasons: For example, accept a connection and then check for presence on a blacklist RST_ACK_CHANGE: Back to back RST packets where the second one s ACK!= the first one s ACK and the ack doesn t make sense (greater than any seen packet in the other direction, not equal to the SEQ, not equal to zero) An identified injector does this 10

The High Level Procedure A click element to passively detect suspicious RST packets as they occur Either as a live network monitor or on packet traces Extract context around every suspicious packet for further analysis Postprocess captured packets to remove private information Strip the payload from the packets Perform hostname and GeoIP lookups Optional anonymization Place alerts in a database and look for fingerprints and other commonalities between alerts Fingerprints generated by manual examination of clusters of alerts 11

More Details The click module used a small (256k entry) flow cache 32 way associative, evict-oldest policy Time window is not a problem: injected RSTs must be close to the associated packet to be effective RST_SEQ_DATA, DATA_SEQ_RST, RST_SEQ_CHANGE, and RST_ACK_CHANGE are set with a threshold of 2 seconds SYN_RST and SYN_ACK_RST are set with a threshold of.1 seconds Buffer 256K packets and isolate any interesting host-pairs in the buffer Allows a one-pass procedure to capture the context of an alert Associate reverse name lookup and GeoIP information with each IP Optional anonymization pass: replace IP with random ID, remove hostname from FQDN Place all alerts and all packet headers -200 to +100 around each alert into the database for analysis Ran on 4 networks in early 2008: Operationally at ICSI for months, 19 hours at UC Berkeley, 24 hours at Columbia CS, 5 hours at George Mason University 12

The Comcast Sandvine Injector A multiple-packet RST injector with a distinct fingerprint: First RST packet: ipid += 4 Second RST packet: ipid += 1 sequence += 12503 Large increment is a known bug to Sandvine, it should be smaller Numerous alerting IP addresses 106 communicating with ICSI, 30 communicating with Berkeley, 36 communicating with Columbia, 2 communicating with GMU Most of the ICSI alerts correspond to known incidents of unauthorized P2P usage Comcast is not the only user of this tool Cox: 35 at ICSI, 262 at Berkeley, 3 at Columbia Unknown Korean ISP: 1 at ICSI, 50 at Berkeley, 4 at Columbia 2 other alerts with no reverse name lookup 13

Is Comcast Only Blocking Leeches? QuickTime and a decompressor are needed to see this picture. Comcast made public statements that they were only blocking uploads from Comcast peers ( Seeding and leeches ) Blocking leeches and incidental seeding directly benefits Comcast s customer (although hurts BitTorrent overall) Blocking deliberate seeding penalizes Comcast s customer Problem of transparency: if you know the policy is no seeding there are easy workarounds for legal content Looked at flows at ICSI where we see the SYN and blocking RST All but 7% are clear seeds/leeches For remaining 7%, Sandvine supports recognizing pure seeds by looking at the initial BitTorrent message 14

The Bezeq International and IPID 256 Injectors on P2P traffic Bezeq International (Israeli Telecom/Cable company) disrupting P2P traffic Common at ICSI (25 alerting IPs), seen at Columbia (2 alerting IPs) Multiple RST packets with a distinct fingerprint: Always IPID = 16448 (0x4040) Second and successor packets increment ack field, not the seq field Assume to be a bug Korean IPID 256 injector Single packet injector, IPID = 256 Single packet injectors are less robust but somewhat less detectible 9 alerting IPs seen at ICSI, 90 alerting IPs to Berkeley, 16 alerting IPs to Columbia Plus 5 alerts at Berkeley to other Asian countries 15

Gummadi et al Report on BitTorrent Blocking Gummadi et al built and used a Java test-client Java client emulates a BitTorrent transfer, checks for some seeding/blocking policies Requires transferring almost 30 MB of data for the full test They discovered three ISPs performing significant blocking: Comcast, Cox, and StarHub (Singapore) We can confirm StarHub (maxonline.com.sg) was blocking P2P traffic We see 4 alerting IPs from this ISP at ICSI which appear to be a multipacket injector: Second RST s sequence increment is equal to the last data packet s length 34 flows show interference But we were unable to develop a better fingerprint for this injector 16

Spam and Virus Blocking with RST injection yournet.ne.jp: Apparently blocking Spam Bots 29 IPs generating SYN_RST alerts on port 25 to ICSI >30% of all IPs generating SYN_RST alerts for SMTP to ICSI TTL is usually +5, but not always. IPID appears unrelated Appears to be a dynamic spam-blocking system Rather than just block outbound port 25: Heuristically detect spam bots and then block their messages with RST packets UVic.ca: Apparently blocking viruses One smtp server attempting to forward a MyDoom bounce message back to ICSI: Message is blocked with a series of RST packets ~10 RST packets, increment sequence by 1500, IPID = 305, TTL 38 higher Mail server then retries a few hours later, and the same thing occurs Timed out after several days 17

The Great Firewall of China Appears to be multiple injectors with distinct fingerprints: IPID 64: Multiple packets, IPID always 64 IPID -26: IPID is 26 less than previous packet SEQ 1460: Multiple packets, always increments by 1460, unrelated IPID RAE: Single packet, sets both ACK bit and ECN Nonce bit!?! Multiple injectors can be seen on the same flow! 102 hosts at ICSI show multiple chinese fingerprints: redundant devices along the path?! Although the RAE injector appears to be distinct, only 2 overlaps at ICSI One web request from columbia shows: IPID 64 injector RSTs, then (probably) the 1460 injector, then a RST from the host, then a series of RSTs from the IPID -26 injector whose IPID seems derived from the 1460 injector s RST packet!?!? Or perhaps our fingerprints are too specific: a single injector could have mulitple fingerprints? 18

But Not All Suspicious RSTs are Injected! NATs can generate spurious RSTs And bad ones too, in active flows Google and Yahoo load balancers occasionally generate RST_SEQ_DATA and DATA_SEQ_RST alerts Planetlab is awful: generates RST_SEQ_DATA and DATA_SEQ_RST errors all the time We excluded Planetlab from our datasets, after a 1 hour trace at Columbia generated 300 alerts on Planetlab communication! Random out-of-sequence RSTs with IPID=0 in the middle of traffic Including internal hosts. Bad NATs? Bad Endhosts? Common SYN_RST behavior with no geographic commonality TTL > 128 higher or IPID = 65259 Bad NATs? Bad Endhosts? Thus until the alerts are correlated in a database and fingerprinted, just alerting is insufficient to conclude interference 19

Conclusions Can detect injected TCP RST packets The same technique can be used for other packet-injection attacks: we have such an IDS detector for DNS attacks Can fingerprint many sources of injected TCP RST packets Many benign sources of seemingly injected RST packets Without fingerprints or correlation, can t conclude that suspicious RSTs are actually injected by a network management process Email nweaver@icsi.berkeley.edu if you desire a copy of the source code 20

Backup: All Fingerprints QuickTime and a decompressor are needed to see this picture. 21

Backup: Identified Sources QuickTime and a decompressor are needed to see this picture. 22

Backup: Identified Benign Sources QuickTime and a decompressor are needed to see this picture. 23