Format-Transforming Encryption



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

Marionette: A Programmable Network Traffic Obfuscation System

Solution of Exercise Sheet 5

Marionette: A Programmable Network-Traffic Obfuscation System

Internet Privacy Options

(SHREL) Open Source Multi-Hop Networks (SHREL) Tor

Lab Exercise SSL/TLS. Objective. Step 1: Open a Trace. Step 2: Inspect the Trace

Early Recognition of Encrypted Applications

Firewalls, Tunnels, and Network Intrusion Detection. Firewalls

Firewalls, Tunnels, and Network Intrusion Detection

Security Protocols HTTPS/ DNSSEC TLS. Internet (IPSEC) Network (802.1x) Application (HTTP,DNS) Transport (TCP/UDP) Transport (TCP/UDP) Internet (IP)

Quality of Service Analysis of site to site for IPSec VPNs for realtime multimedia traffic.

Chapter 7 Transport-Level Security

Controlling SSL Decryption. Overview. SSL Variability. Tech Note

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

CSCI 4250/6250 Fall 2015 Computer and Networks Security

App-ID. PALO ALTO NETWORKS: App-ID Technology Brief

Chapter 17. Transport-Level Security

Virtual Private Networks

Examining How The Great Firewall Discovers Hidden Circumvention Servers

Bypassing PISA AGM Theme Seminar Presented by Ricky Lou Zecure Lab Limited

Networking for Caribbean Development

REPORT ON AUDIT OF LOCAL AREA NETWORK OF C-STAR LAB

Dust: A Blocking-Resistant Internet Transport Protocol

TLS and SRTP for Skype Connect. Technical Datasheet

Fig : Packet Filtering

REPORT & ENFORCE POLICY

Chapter 15. Firewalls, IDS and IPS

An apparatus for P2P classification in Netflow traces

Network Security CS 192

12/8/2015. Review. Final Exam. Network Basics. Network Basics. Network Basics. Network Basics. 12/10/2015 Thursday 5:30~6:30pm Science S-3-028

EXPLORER. TFT Filter CONFIGURATION

ProxyCap Help. Table of contents. Configuring ProxyCap Proxy Labs

Large-Scale TCP Packet Flow Analysis for Common Protocols Using Apache Hadoop

Intrusion Detection System

12. Firewalls Content

Chapter 10. Network Security

Application Detection

Single Pass Load Balancing with Session Persistence in IPv6 Network. C. J. (Charlie) Liu Network Operations Charter Communications

Lab Exercise SSL/TLS. Objective. Requirements. Step 1: Capture a Trace

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

CS5008: Internet Computing

Websense Web Security Gateway: What to do when a Web site does not load as expected

Cornerstones of Security

Digital tools to empower civil society

Understanding Slow Start

Fundamentals of the Internet 2009/ Explain meaning the following networking terminologies:

Firewalls. configuring a sophisticated GNU/Linux firewall involves understanding

Reverse Shells Enable Attackers To Operate From Your Network. Richard Hammer August 2006

Appendix A: Configuring Firewalls for a VPN Server Running Windows Server 2003

AccessEnforcer. HTTPS web filter overview

Covert Channels. Some instances of use: Hotels that block specific ports Countries that block some access

Firewalls, IDS and IPS

What is a Firewall? Computer Security. Firewalls. What is a Firewall? What is a Firewall?

RSA Security Anatomy of an Attack Lessons learned

Introduction to Computer Security

Networking Basics and Network Security

The Challenges of Stopping Illegal Peer-to-Peer File Sharing

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

SOFTWARE ENGINEERING 4C03. Computer Networks & Computer Security. Network Firewall

User Guide. You will be presented with a login screen which will ask you for your username and password.

Scan Report Executive Summary. Part 2. Component Compliance Summary IP Address :

Next-Generation Firewalls: Critical to SMB Network Security

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

Transport Level Security

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

Computer Networks. Secure Systems

EBOOK. The Network Comes of Age: Access and Monitoring at the Application Level

Virtual private network. Network security protocols VPN VPN. Instead of a dedicated data link Packets securely sent over a shared network Internet VPN

Measurement of the Usage of Several Secure Internet Protocols from Internet Traces

Security in IPv6. Basic Security Requirements and Techniques. Confidentiality. Integrity

Network Security Essentials Chapter 5

CS 4803 Computer and Network Security

BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: Security Note

21.4 Network Address Translation (NAT) NAT concept

Traffic Analysis. Scott E. Coull RedJack, LLC. Silver Spring, MD USA. Side-channel attack, information theory, cryptanalysis, covert channel analysis

Bypassing firewalls Another hole in the wall ;-) Présentation pour «La nuit du hack» le 13 Juin 2009

Information Leakage in Encrypted Network Traffic

Computer and Network Security Exercise no. 4

CS 356 Lecture 27 Internet Security Protocols. Spring 2013

Decryption. Palo Alto Networks. PAN-OS Administrator s Guide Version 6.0. Copyright Palo Alto Networks

Chapter 32 Internet Security

Introduction to Computer Security

A Stateful Inspection of FireWall-1

Comparison of Firewall, Intrusion Prevention and Antivirus Technologies

Getting More Information On Your Network Performance

Voice Over Internet Protocol (VOIP) SECURITY. Rick Kuhn Computer Security Division National Institute of Standards and Technology

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

CLASSIFYING NETWORK TRAFFIC IN THE BIG DATA ERA

Implementing Network Address Translation and Port Redirection in epipe

Content-ID. Content-ID URLS THREATS DATA

Firewall Firewall August, 2003

ATIS Open Web Alliance. Jim McEachern Senior Technology Consultant ATIS

Part III-b. Universität Klagenfurt - IWAS Multimedia Kommunikation (VK) M. Euchner; Mai Siemens AG 2001, ICN M NT

Transcription:

Protocol Misidentification Made Easy with Format-Transforming Encryption Kevin Dyer, Portland State University (did most of the hard work) Scott Coull, RedJack Thomas Ristenpart, University of Wisconsin-Madison Thomas Shrimpton, Portland State University

Current Estimates of Internet Censorship OpenNet Initiative (ONI), Reporters Without Borders (via wikipedia; updated Jan 6, 2014) Magenta-colored countries are internet black holes : have heavy censorship of political, social, and news sites, internet tools, etc.

Discriminatory policies enabled by packet filtering payload IP info TCP info HTTP: free+speech Nation-state level packet filter A packet can tell you: source address destination address/port application-level protocols keywords in payloads

Tools exist to obfuscate shallow information payload IP info TCP info HTTP: free+speech Use a proxy service, e.g. A packet can tell you: source address destination address/port application-level protocols keywords in payloads

Modern filters look deeper into the packet: Deep Packet Inspection (DPI) payload IP info TCP info HTTP: free+speech Making payload information unhelpful is the new challenge A packet can tell you: source address destination address/port application-level protocols keywords in payloads

Why not just use an encrypted tunnel? (TLS, SSH, VPNs, ) IP info TCP info TLS??? Hides the protocol inside the encrypted tunnel...???

Why not just use an encrypted tunnel? (TLS, SSH, VPNs, ) IP info TCP info TLS??? Hides the protocol inside the encrypted tunnel...??? But use of the encryption protocol is still visible.

Why not make the whole payload look random? (e.g. with a stream cipher) (e.g. Tor s obfs pluggable transport) IP info TCP info???

Why not make the whole payload look random? (e.g. with a stream cipher) (e.g. Tor s obfs pluggable transport) IP info TCP info??? I don t recognize this as any legitimate protocol. What happens if DPI allows only whitelisted protocols?

Recent efforts in DPI Circumvention Stegotorus [Weinberg et al., 2012], SkypeMorph [Moghaddam et al. 2012], FreeWave [Houmansadr et al., 2013], etc. These represent nice steps in the right direction, but 1. Poor performance: 16-256Kbps reported (best case) 2. Inflexible: not quickly adaptable to changes in DPI rules. e.g. what if you re using SkypeMorph, and Skype becomes blocked? (Ethiopia 2013) 3. Not empirically validated: do they work against real DPI?

Our goal: to cause real DPI systems to reliably misclassify our traffic for example: HTTP misclassified as FTP HTTP: free+speech crypto magic This is an benign FTP message. Let it pass. TCP/IP ciphertext (and in a way that is flexible and has good throughput/low latency )

Our goal: to cause real DPI systems to reliably misclassify our traffic as whatever protocol we want. HTTP: free+speech crypto magic TCP/IP ciphertext (and in a way that is flexible and has good throughput/low latency )

To this end, we: Introduce a new cryptographic tool, Format Transforming Encryption Characterize how real DPI systems make classification decisions Implement an FTE-powered proxy system Empirically evaluate FTE against real DPI in the lab Report on some live field tests

key plaintext crypto magic a ciphertext string that DPI will classify as protocol X 14

We took inspiration from Format-Preserving Encryption [Bellare et al., 2009] key plaintext { strings that DPI will classify as protocol X } crypto magic a ciphertext string that DPI will classify as protocol X The desired ciphertext format 15

Format-Transforming Encryption key plaintext { strings that DPI will classify as protocol X } FTE a ciphertext string that DPI will classify as protocol X Like traditional encryption, with the extra operational requirement that ciphertexts fall within the format. 16

Ciphertext flexibility is built into the FTE syntax key plaintext { strings that DPI will classify as protocol X } FTE a ciphertext string that DPI will classify as protocol X Conceptually, adapting to new DPI rules requires changing only the format 17

We wondered: How do real DPI devices determine to what protocol a message belongs? System Classification Tool This is an message. Price appid free l7-filter free YAF free bro free nprobe ~300 Euros DPI-X ~$10K Enterprise grade DPI, well-known company

This is an message. We wondered: How do real DPI devices determine to what protocol a message belongs? System Classification Tool Price appid Regular expressions free l7-filter Regular expressions free YAF Regular expressions (sometimes hierarchical) free bro Simple regular expression triage, then additional parsing and heuristics free nprobe Parsing and heuristics (many of them regular ) ~300 Euros DPI-X??? ~$10K Regular languages/expressions figure heavily in state-of-the-art DPI classification tools

Regular-expression-based FTE key plaintext regex R FTE a string in L(R) Whence the regex? If the DPI is open source (appid, l7-filter, YAF), extract them! Build them manually, using RFCs and (when possible) DPI source code. Learn them from traffic that was allowed by the DPI.

Realizing regex-based FTE key plaintext ciphertext in L(R) regex R How should we realize regex-based FTE? We want: Cryptographic protection for the plaintext Ciphertexts in L(R) 21

Realizing regex-based FTE key plaintext authenticated encryption ciphertext in L(R) regex R How should we realize regex-based FTE? We want: Cryptographic protection for the plaintext Ciphertexts in L(R) 22

Ranking a Regular Language [Goldberg, Sipser 85] [Bellare et al. 09] x i L(R) Let L(R) be lexicographically ordered x 0 < x 1 < < x i < < x L(R)-1 0 1 2 i L(R) -1 Given a DFA for L(R), there are efficient algorithms

Ranking a Regular Language [Goldberg, Sipser 85] [Bellare et al. 09] x i L(R) rank(x i )=i Let L(R) be lexicographically ordered x 0 < x 1 < < x i < < x L(R)-1 0 1 2 i L(R) -1 Given a DFA for L(R), there are efficient algorithms rank: L(R) {0,1,, L(R) -1}

Ranking a Regular Language [Goldberg, Sipser 85] [Bellare et al. 09] x i L(R) x 2 rank(x i )=i unrank(2)=x 2 Let L(R) be lexicographically ordered x 0 < x 1 < < x i < < x L(R)-1 0 1 2 i L(R) -1 Given a DFA for L(R), there are efficient algorithms rank: L(R) {0,1,, L(R) -1} unrank: {0,1,, L(R) -1} L(R) such that rank( unrank(i) ) = i and unrank( rank(x i ) ) = x i With precomputed tables, rank, unrank are O(n)

Realizing regex-based FTE key plaintext authenticated encryption Intermediate ciphertext, interpreted as an integer n [integer] unrank outputs n th string in lexicographic ordering of L(R) ciphertext in L(R) regex R regex-to-dfa [DFA]

FTE engineering challenge: large plaintexts key plaintext authenticated encryption [integer] unrank ciphertext in L(R) regex R regex-to-dfa [DFA] L(R) bounds length of longest plaintext Using very large languages leads to: large tables naively, (#DFA states) x (length of longest plaintext) latency issues waiting for long plaintext to buffer Chunking, and using unrank(c 1 ), unrank(c 2 ), unrank(c 3 ), leads to: receiver-side parsing issues how to affect the commas?

Use case: Browsing the web through an FTE tunnel FTE wins if the DPI classifies the stream it sees as the target protocol Generating HTTP(S), DNS messages Rtarget HTTP, SSH, SMB Internet FTE proxy FTE client FTE ciphertexts Rtarget

Use case: Browsing the web through an FTE tunnel FTE wins if the DPI classifies the stream it sees as the target protocol Generating HTTP(S), DNS messages Rtarget Internet FTE proxy FTE client FTE ciphertexts Rtarget HTTP, SSH, SMB Using each target format, we visited each of the Alexa Top 50 websites five times. We recorded the fraction of times that FTE won, as well as performance data.

Misclassification rates with extracted regex DPI appid-http l7-http yaf-http1 yaf-http2 appid l7-filter YAF DPI-X regex appid-ssh l7-ssh yaf-ssh1 yaf-ssh2 appid-smb l7-smb yaf-smb1 yaf-smb2

Misclassification rates with extracted regex DPI appid l7-filter YAF DPI-X appid-http 0.0 l7-http 0.0 0.16 regex yaf-http1 yaf-http2 0.0 0.0 0.0 0.0 appid-ssh 0.32 l7-ssh 0.16 0.16 yaf-ssh1 yaf-ssh2 0.21 0.31 appid-smb l7-smb 0.0 0.38 yaf-smb1 yaf-smb2 0.0 0.0 0.04 0.04

Misclassification rates with extracted regex DPI appid l7-filter YAF DPI-X appid-http 0.0 l7-http 0.0 0.16 regex yaf-http1 yaf-http2 0.0 0.0 0.0 0.0 appid-ssh 0.32 l7-ssh 0.16 0.16 yaf-ssh1 yaf-ssh2 0.21 0.31 appid-smb l7-smb 0.0 0.38 yaf-smb1 yaf-smb2 0.0 0.0 0.04 0.04 Since these all have on the diagonals, we made intersection regexs for HTTP, SSH, SMB, and got everywhere

Misclassification rates with extracted regex DPI appid l7-filter YAF DPI-X appid-http 0.0 l7-http 0.0 0.16 regex yaf-http1 yaf-http2 0.0 0.0 0.0 0.0 appid-ssh 0.32 l7-ssh 0.16 0.16 yaf-ssh1 yaf-ssh2 0.21 0.31 appid-smb l7-smb 0.0 0.38 yaf-smb1 yaf-smb2 0.0 0.0 0.04 0.04!

Misclassification rates with manual/learned regex Built manually, using RFCs and (when possible) DPI source code. DPI regex manual-http manual-ssh manual-smb learned-http learned-ssh learned-smb appid l7-filter YAF DPI-X bro nprobe Learned (via simple technique) from traffic that was allowed by the DPI.

Misclassification rates with manual/learned regex DPI regex appid l7-filter YAF DPI-X bro nprobe manual-http manual-ssh manual-smb learned-http learned-ssh 0.0 learned-smb (except this, which we explain in the paper)

Punchline: regex-based FTE can make real DPI say whatever we want it to. Help! input protocol stream Rtarget input protocol stream FTE client FTE proxy Rtarget

Web-browsing performance Punchline: FTE or SSH tunnel result in the same user web-browsing experience

A field test FTE client Internet FTE proxy

A field test Without FTE tunnel, we tried Facebook, YouTube, Tor website, banned search queries With FTE tunnel, we tried Facebook, YouTube, Tor website, banned search queries FTE client Internet FTE proxy

A field test Without FTE tunnel, we tried Facebook, YouTube, Tor website, banned search queries With FTE tunnel, we tried Facebook, YouTube, Tor website, banned search queries FTE client Internet Used FTE to download Tor bundle: Tor without FTE: active blacklisting attack on proxy Tor through FTE: no problems Ran various tests every 5 minutes for one month, no sign of detection in logs. (We shut it down after that.) FTE proxy

FTE is open source, runs on multiple platforms/os, and fully integrated with Tor. We even have a nice website: https://fteproxy.org/ Get it, run it, help us make it better!