Multipath TCP. Breaking today's networks with tomorrow's protocol



Similar documents
M U L T I P A T H T C P, P W N I N G T O D A Y S N E T W O R K S W I T H

An Overview of Multipath TCP

Multipath TCP in Practice (Work in Progress) Mark Handley Damon Wischik Costin Raiciu Alan Ford

Boosting mobility performance with Multi-Path TCP

Ancillary Impacts of Multipath Transmission Control Protocol (MPTCP) On Current and Future Network Security

Flow processing and the rise of the middle.

CMPT 471 Networking II

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

OLD VULNERABILITIES IN NEW PROTOCOLS? HEADACHES ABOUT IPV6 FRAGMENTS

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

Stateful Firewalls. Hank and Foo

Bit Chat: A Peer-to-Peer Instant Messenger

Attack Lab: Attacks on TCP/IP Protocols

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

Introduction to Firewalls Open Source Security Tools for Information Technology Professionals

Final exam review, Fall 2005 FSU (CIS-5357) Network Security

Network Security: Workshop. Dr. Anat Bremler-Barr. Assignment #2 Analyze dump files Solution Taken from

CIT 380: Securing Computer Systems

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

CYBER ATTACKS EXPLAINED: PACKET CRAFTING

CS 3251: Computer Networking 1 Security Protocols I

Network Traffic Analysis

Networking for Caribbean Development

INTRODUCTION TO FIREWALL SECURITY

MONITORING OF TRAFFIC OVER THE VICTIM UNDER TCP SYN FLOOD IN A LAN

ECE 578 Term Paper Network Security through IP packet Filtering

Presentation_ID. 2001, Cisco Systems, Inc. All rights reserved.

Firewalls P+S Linux Router & Firewall 2013

What is a Firewall? A choke point of control and monitoring Interconnects networks with differing trust Imposes restrictions on network services

Firewall Introduction Several Types of Firewall. Cisco PIX Firewall

Outline. Outline. Outline

CS 665: Computer System Security. Network Security. Usage environment. Sources of vulnerabilities. Information Assurance Module

Network support for TCP Fast Open. Christoph Paasch

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

ITL BULLETIN FOR JANUARY 2011

Lecture 23: Firewalls

Firewalls, Tunnels, and Network Intrusion Detection

Firewalls. Basic Firewall Concept. Why firewalls? Firewall goals. Two Separable Topics. Firewall Design & Architecture Issues

What is Firewall? A system designed to prevent unauthorized access to or from a private network.

Application Note. Onsight Connect Network Requirements v6.3

SY system so that an unauthorized individual can take over an authorized session, or to disrupt service to authorized users.

HONE: Correlating Host activities to Network communications to produce insight

Why SSL is better than IPsec for Fully Transparent Mobile Network Access

A S B

Practical Advice for Small and Medium Environment DDoS Survival

CS5008: Internet Computing

Linux Network Security

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

Chapter 9. IP Secure

co Characterizing and Tracing Packet Floods Using Cisco R

Network Defense Tools

Virtual Private Networks

NETWORK SECURITY (W/LAB) Course Syllabus

Packet Level Authentication Overview

10 Key Things Your VoIP Firewall Should Do. When voice joins applications and data on your network

March PGP White Paper. Transport Layer Security (TLS) & Encryption: Complementary Security Tools

Network Security Essentials Chapter 5

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

Attacking the TCP Reassembly Plane of Network Forensics Tools

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

IPV6 流 量 分 析 探 讨 北 京 大 学 计 算 中 心 周 昌 令

Content Distribution Networks (CDN)

Chapter 8 Security Pt 2

Examining Proxies to Mitigate Pervasive Surveillance

Multipath TCP design, and application to data centers. Damon Wischik, Mark Handley, Costin Raiciu, Christopher Pluntke

Protocol Rollback and Network Security

SIP, Security and Session Border Controllers

CS268 Exam Solutions. 1) End-to-End (20 pts)

Port Scanning and Vulnerability Assessment. ECE4893 Internetwork Security Georgia Institute of Technology

Data Center Networking with Multipath TCP

Chapter 7 Transport-Level Security

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

Secure Network Access System (SNAS) Indigenous Next Generation Network Security Solutions

How To Set Up A Net Integration Firewall

High Performance VPN Solutions Over Satellite Networks

Network Security [2] Plain text Encryption algorithm Public and private key pair Cipher text Decryption algorithm. See next slide

Denial of Service Attacks. Notes derived from Michael R. Grimaila s originals

From Rivals to BFF: WAF & VA Unite OWASP The OWASP Foundation

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

Network Security: Network Flooding. Seungwon Shin GSIS, KAIST

Host Fingerprinting and Firewalking With hping

A Comparison of Protocols for Device Management and Software Updates

SIIT-DC: Stateless IP/ICMP Translation for IPv6 Data Centre Environments & SIIT-DC: Dual Translation Mode

Scapy. On-the-fly Packet Generation by Dienstag, 10. Januar 12

WEB APPLICATION FIREWALLS: DO WE NEED THEM?

Firewall Design Principles

Protecting Mobile Devices From TCP Flooding Attacks

Network and Services Discovery

Security vulnerabilities in the Internet and possible solutions

Solution of Exercise Sheet 5

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

Vulnerability Testing of Industrial Network Devices

Introduction. Channel Associated Signaling (CAS) Common Channel Signaling (CCS) Still widely deployed today Considered as old technology

12/3/08. Security in Wireless LANs and Mobile Networks. Wireless Magnifies Exposure Vulnerability. Mobility Makes it Difficult to Establish Trust

Internet Privacy Options

Transcription:

Multipath TCP Breaking today's networks with tomorrow's protocol

Speakers - Who are we? Catherine (Kate) Pearce Security Consultant / Pentester Loves her wine the way she likes her RFCs (Dry) New Zealand transplant Patrick Thomas Senior Security Consultant / Pentester Application Security focus 2

MPTCP changes fundamental assumptions about how TCP works* Use it to break things today Adapt to it for tomorrow 3

*Well kinda Not Layer 4? Totally the same. Layer 4? Buckle Up. 4

2 Simple Examples: #1 5

2 Simple Examples: #1 6

2 Simple Examples: #1 Wait, What!?!! 7

2 Simple Examples: #1 Wait, What!?!! 8

2 Simple Examples: #2 9

2 Simple Examples: #2 Err? 10

11 Sense This makes none

Why did we see that? Let s talk about MPTCP but first, why change TCP? 12

Current TCP is rather limited Doesn t support use cases for: High Availability Link Aggregation Multihoming Mesh networking 13

Multipath TCP Multipath TCP is an extension to TCP that adds the above functionality AND: it works over existing infrastructure (it IS TCP just more so) BUT: nothing much else understands it including security tools 14

MPTCP Basic Use Cases Client Server Network A Network B For seamless roaming For high availability 15

TO BE CLEAR: MPTCP is more culture shock than security vulnerability We like MPTCP We want MPTCP to succeed Network security isn t ready 16

Background Technical Introduction Key Security Effects Perimeter Security Network Management MPTCP Future 17

What got me thinking about this? I saw this 18

What got me thinking about this? Which led to this 19

What got me thinking about this? Which contained this 20

What got me thinking about this? Then other media outlets started covering it 21

What got me thinking about this? Then other media outlets started covering it not always positively 22

What got me thinking about this? And then SILENCE BUT, the rate of progress was unprecedented for a major change to TCP 23

Was anyone thinking about security? The security of MPTCP itself What changes like this could mean for network security not so much 24

That s what this session is about What does multipath TCP mean for security today? What could it (or similar tech) mean to network security a decade from now? With a couple of attacks and tools 25

Background Technical Introduction Key Security Effects Perimeter Security Network Management MPTCP Future 26

Motivations and Advantages TCP implements connections between IP:PORT & IP:PORT NOT between endpoint A and endpoint B In the past this was a distinction without a difference, but not any more 27

MPTCP Characteristics Backwards compatibility Performance >= now Security >= now 28

Riding on top of TCP An MPTCP Connection is defined by a connection ID It is comprised of multiple streams, where each stream is a regular TCP connection (with an option strapped on) 29

MPTCP Simple Case Client Server Network A MPTCP connection looks like TCP so far 30

MPTCP Simple Case Client Server Network A Network B N different TCP connections, contributing to ONE logical data flow 31

MPTCP Simple Case Client Server DATA[0] Network A DATA[1] DATA[2] Network B N different TCP connections, contributing to ONE logical data flow data flows through any/all 32

MPTCP Simple Case Client Server DATA[0] Network A DATA[1] DATA[2] Network B Sender of a packet can choose to use any flow (this will be important) 33

MPTCP Simple Case Client Server Network A DATA[3] Network B Any subset of connections can drop, overall flow continues. 34

MPTCP Simple Case Client Server Network A Network B Connections can be re-added at any time 35

MPTCP Simple Case Client Server Network A DATA[4] DATA[4] Network B DATA[4] ACK Un-ACK d data can be quickly resent over a different flow first ACK is good enough! 36

How is MPTCP implemented? TCP Option 37

What does it look like? Packet Breakdown - WireShark [WireShark / TCPdump Capture screenshot] Option 30 (0x1E) TCP Options field 38

How is MPTCP implemented? MPTCP Subtypes 8 currently defined (ones relevant in bold) MP_CAPABLE - Signals MPTCP support ADD_ADDR - This address is also a way to reach me MP_JOIN - Add incoming subflow to the connection REMOVE_ADDR - Please stop using [address] to reach me DSS - How to map this stream s data against the overall data flow MP_PRIO MP_FAIL MP_FASTCLOSE 39

Path Management - Linux The Linux Path Manager has two primary path managers at present Fullmesh n:n (all to all) Ndiffports 1-1 interfaces, n-1 ports This is in the TCP stack application layers get MPTCP for free (mostly) 40

Path Management - ndiffports Client Server N = 1 N = 2 N = 3 N different source ports, 1 destination port 41

Path Management - fullmesh Client Server All possible paths used 42

Deeper technical details TCP Handshake with additional details Data sequence numbering Truncation of SHA1 of host key Authentication MP_JOIN - Challenge-response HMAC of other host s key, Nonce, AddressID MP_FASTCLOSE Other party s key in plaintext Routing More on this later Packet sender decides which data goes down which path 43

Release Item #1 - Cheatsheet 44

So who s using it? Nearly no one is using it large scale (yet), with a few exceptions Apple (Siri) Some other experimental stuff? Given that, there s a surprising number of implementations Implementations available for several OS s (including Linux, BSD, Android), and baked in some way into commercial kit ( ) NOT Windows 45

Availability Getting it working Linux Linux reference implementation via apt-get (multipath-tcp.org) -- best way right now Can work in Kali, but challenges Nicolas Maître made a ridiculously useful, near complete, SCAPY implementation We re based some tools on this code, and fixed some bugs along the way https://github.com/nimai/mptcp-scapy 46

Background Technical Introduction Key Security Effects Perimeter Security Network Management MPTCP Future 47

MPTCP s Key Security Effects Cross-path traffic fragmentation That s the whole point! Moving target Ability to change source and destination addresses in the middle of a connection Connection Resilience Has additional checksums that require capture of the initial packet to reliably fake Until every subflow is dead the overall connection keeps going Reverse connections 48

Because of these Cross-path Moving target Connection Resilience Reverse connections if your approach to security requires any of these See all app layer data in a TCP stream Differentiate clients from servers based on connection direction Tamper with or close "bad" connections mid-stream Associate logical sessions to IP addresses then something is probably going to break 49

How practical are these attacks? Today? Extremely. But only if both endpoints speak MPTCP Of which there aren t many. Yet. In an MPTCP world, a bit less But we have to change the way we do things in network security 50

MPTCP s Key Security Effects All of those things can be partially mitigated with MPTCP aware infrastructure and security tools. But overall, there remain some interesting shifts in how network flows work especially if we go in with well meaning intent 51

MPTCP s Key Security Effects A few slides back The packet sender decides which data goes down which path. Normal/benign clients won t choose pathological fragmentation schemes But there s nothing stopping us 52

Release Item #2: PoC tool for MPTCP IDS Evasion Demo! 53

Background Technical Introduction Key Security Effects Perimeter Security Network Management MPTCP Future 54

MPTCP and Firewalls MPTCP changes things for perimeters How d you like an outbound incoming connection? 55

Client MPTCP and Firewalls Firewall 1. SYN (MP_CAPABLE) Server MPTCP connection looks like TCP so far 56

Client MPTCP and Firewalls Firewall Server 2. SYN, ACK (MP_CAPABLE) Still seems pretty standard, albeit with extra TCP OPTIONS 57

Client MPTCP and Firewalls Firewall Server 3. ACK OK, so it s a TCP connection with an additional options so what? 58

Client MPTCP and Firewalls Firewall Server Pre-established MPTCP Connection 4. ADD_ADDR (IP#2) Well, what if the client tells the server about a new address? 59

Client MPTCP and Firewalls Firewall Server 4. ADD_ADDR (IP#2) Pre-established MPTCP Connection Now, the Internal host may set up a connection to the advertised address 60

Client MPTCP and Firewalls Firewall Server Pre-established MPTCP Connection 5. SYN (MP_JOIN) Is this new connection incoming or outgoing? 61

Client MPTCP and Firewalls Firewall Server Pre-established MPTCP Connection 5. SYN (MP_JOIN) Is this new connection incoming or outgoing? 62

Client MPTCP and Firewalls Firewall Server Pre-established MPTCP Connection 5. SYN (MP_JOIN) Is this new connection incoming or outgoing? 63

Background Technical Introduction Key Security Effects Perimeter Security Network Management MPTCP Future 64

MPTCP and Network monitoring If tool doesn t understand MPTCP, flows look like unrelated TCP streams 65

What does it look like? On the network: If you don t understand Each yellow blob is actually part of an address label 66

What does it look like? On the network: If you don t understand it, but you cluster IPs 67

What does it look like? On the network: If you do understand But you can only do this when you can see & correlate all related flows 68

MPTCP Defense - Awareness People Technology Check support Look for use Architecture Terminate it where you terminate SSL 69

Release Item #3 - MPTCP Scanner 70

Release Item #3 - Scanner Accomplishes three things Test device for apparent support Test for actual support (as opposed to repeating the option blindly) Test network path allows it to get there 71

Scanning Host MPTCP Scanner Target Host 1. SYN (MP_CAPABLE) Send an MP_CAPABLE syn 72

Scanning Host MPTCP Scanner Target Host 2. SYN, ACK (MP_CAPABLE) We got an MP_CAPABLE response.. But is it genuine? 73

Scanning Host MPTCP Scanner Target Host 3. SYN (MP_JOIN[Random]) Send a join to an invalid connection ID 74

MPTCP Scanner Scanning Host Target Host 4. Either (RST) or (SYN,ACK) An MPTCP host will RST an invalid join, An ACK reply indicates TCP only 75

MPTCP Stripping Transparent proxy on primary path Either no MPTCP support, or only on the one interface Firewall rules: strip-options 30 - iptables, tcp-options 30 30 clear - Cisco IOS 76

MPTCP and Active Network Security To track & modify MPTCP, you must 1. Capture the initial handshake 2. Perform non-trivial calculations to determine Connection membership Correct checksum or modified traffic 77

Background Technical Introduction Key Security Effects Perimeter Security Network Management MPTCP Future 78

MPTCP and Privacy MPTCP shifts power towards endpoints, and away from infrastructure & ISP s I don t trust my ISP or Cellular company But they probably don t trust each other either! 79

The MPTCP Future How do we gain these advantages securely when most things support MPTCP? Some changes still need to be made Some things will never be the same 80

Future Collaborative/Probabilistic IDS Client Server AC SEND ABCD BD IDS RECV ABCD How can the IDS make sense of traffic if it can only ever see fragments? 81

The MPTCP Future What will change in a multipath future that simply cannot work with most existing security models? Split trust crypto Multipath agility Some research into privacy effects already underway 82

Other Ideas Making proxy tools to undertake these attacks Stream hopping (ala FHSS) Mixing it with TOR Building distributed networks on MPTCP-like packets Hijack connections on fastclose 83

Conclusions Multipath communications are awesome, and they re coming Multipath communication confounds business & security models relying on inspection Now is the time for network security to prepare 84

Participation/Competition PCAP info @ http://bit.ly/uylupp #BHMPTCP Also see our workshop at DEFCON s Wall of Sheep (Sunday) 85

Catherine Pearce @secvalve cpearce@neohapsis.com Questions? Patrick Thomas @coffeetocode pthomas@neohapsis.com Downloads on Github: https://github.com/neohapsis/mptcp-abuse More stuff will be released @ http://labs.neophapsis.com 86

References 1 Implementations & vendors Linux (UCLouvain, multipath-tcp.org) ( http://github.com/multipath-tcp/ ) MPTCP Scapy - https://github.com/nimai/mptcp-scapy BSD - http://caia.swin.edu.au/urp/newtcp/mptcp/ Android - http://multipath-tcp.org/pmwiki.php/users/android Apple - https://opensource.apple.com/source/xnu/xnu- 2422.1.72/bsd/netinet/mptcp* Cisco - http://www.cisco.com/c/en/us/support/docs/ip/transmission-controlprotocol-tcp/116519-technote-mptcp-00.html MPTCP Security IETF MPTCP workinggroup - Threat Analysis for TCP Extensions for Multipath Operation with Multiple Addresses - http://tools.ietf.org/html/rfc6181 Ford, A. (2010), 'Multipath TCP Security Issues : Current Solution Space Why we need security'. Zhuang, R. 2013. Investigating the Application of Moving Target Defenses to Network Security. ISRCS, 2013 6th International Symposium on. Available at http://people.cis.ksu.edu/~zhangs84/papers/isrcs13.pdf 87

References 2 Theroretical backgrounds Stability issues - Kelly, F. & Voice, T., 2005. Stability of end-to-end algorithms for joint routing and rate control. ACM SIGCOMM Computer Communication Review, 35(2), pp.5 12. Routing and congestion control - Key, P., Massoulié, L. & Towsley, D., 2006. Combining multipath routing and congestion control for robustness. In Information Sciences and Systems, 2006 40th Annual Conference on. IEEE, pp. 345 350. Honda, M., Nishida, Y. & Raiciu, C., 2011. Is it still possible to extend TCP? Proc., p.181. Available at: http://conferences.sigcomm.org/imc/2011/docs/p181.pdf. MPTCP Background & development: Raiciu, C. et al., 2012. How hard can it be? designing and implementing a deployable multipath TCP. NSDI, (1). Available at: https://www.usenix.org/system/files/conference/nsdi12/nsdi12-final125.pdf. ACM Queue - Multipath TCP, Decoupled from IP, TCP is at last able to support multihomed hosts - Christoph Paasch and Olivier Bonaventure, UCL - http://queue.acm.org/detail.cfm?id=2591369 IETF Working group - http://datatracker.ietf.org/wg/mptcp/ IANA TCP Options - https://www.iana.org/assignments/tcp-parameters/tcpparameters.xhtml 88

Other References 3 Multi Network Manager - Evensen, K.R. MULTI Network Manager (MNM), 2013. http://github.com/kristrev/multi See the Whitepaper for MANY more references 89