Veiled A Browser Darknet



Similar documents
Guidance Regarding Skype and Other P2P VoIP Solutions

Topics in Network Security

Some Issues on Ajax Invocation

Thomas Röthlisberger IT Security Analyst

Performance Testing for Ajax Applications

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

RSA SecurID Ready Implementation Guide

Mobile Push Architectures

CS5008: Internet Computing

YouServ: A Web Hosting and Content Sharing Tool for the Masses

PAVING THE PATH TO THE ELIMINATION OF THE TRADITIONAL DMZ

Sync Security and Privacy Brief

Bit Chat: A Peer-to-Peer Instant Messenger

Michael Seltzer COMP 116: Security Final Paper. Client Side Encryption in the Web Browser Mentor: Ming Chow

Relax Everybody: HTML5 Is Securer Than You Think

WildFire Cloud File Analysis

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

Bayeux Protocol: la nuova frontiera della comunicazione a portata di mano. Relatore Nino Guarnacci

STOPPING LAYER 7 ATTACKS with F5 ASM. Sven Müller Security Solution Architect

Client Server Registration Protocol

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

Hack Proof Your Webapps

Windows Remote Access

Gateway Apps - Security Summary SECURITY SUMMARY

Network setup and troubleshooting

Brocade Virtual Traffic Manager and Magento Deployment Guide

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

Repeater. BrowserStack Local. browserstack.com 1. BrowserStack Local makes a REST call using the user s access key to browserstack.

SiteCelerate white paper

Secure Sockets Layer (SSL ) / Transport Layer Security (TLS) Network Security Products S31213

Developing ASP.NET MVC 4 Web Applications MOC 20486

"ASM s INTERNATIONAL E-Journal on Ongoing Research in Management and IT"

The Key to Secure Online Financial Transactions

WEB SITE SECURITY. Jeff Aliber Verizon Digital Media Services

Using the Push Notifications Extension Part 1: Certificates and Setup

Risks with web programming technologies. Steve Branigan Lucent Technologies

1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; SMTP.

PEER-TO-PEER NETWORK

Stopping secure Web traffic from bypassing your content filter. BLACK BOX

Web Application Hacking (Penetration Testing) 5-day Hands-On Course

Is Your SSL Website and Mobile App Really Secure?

Understanding Evolution's Architecture A Technical Overview

Configuration Guide. BES12 Cloud

Citrix Receiver for Mobile Devices Troubleshooting Guide

How to Prevent Secure Web Traffic (HTTPS) from Crippling Your Content Filter. A Cymphonix White Paper

Common P2P Examples. Peer to Peer Networks. Client-Server Architecture. Uses of P2P. Napster Morpheus Gnutella Freenet BitTorrent Skype

WatchGuard Technologies, Inc. 505 Fifth Avenue South Suite 500, Seattle, WA

Detecting peer-to-peer botnets

Web-Application Security

CGHub Client Security Guide Documentation

Decentralized Peer-to-Peer Network Architecture: Gnutella and Freenet

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Overview of Network Security The need for network security Desirable security properties Common vulnerabilities Security policy designs

INUVIKA OPEN VIRTUAL DESKTOP FOUNDATION SERVER

DNS REBINDING DENIS BARANOV, POSITIVE TECHNOLOGIES

Barracuda Web Application Firewall vs. Intrusion Prevention Systems (IPS) Whitepaper

Intro to Firewalls. Summary

District of Columbia Courts Attachment 1 Video Conference Bridge Infrastructure Equipment Performance Specification

CrashPlan Security SECURITY CONTEXT TECHNOLOGY

Breaking the Myths of Extended Validation SSL Certificates

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

Integrating Web Application Security into the IT Curriculum

Securing ios Applications. Dr. Bruce Sams, OPTIMAbit GmbH

Breaking the Security Myths of Extended Validation SSL Certificates

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

Dashlane Security Whitepaper

FormAPI, AJAX and Node.js

Table of Contents. Chapter 1: Installing Endpoint Application Control. Chapter 2: Getting Support. Index

White Paper How to Remotely Access Ethernet I/O Over the Internet

GlobalSCAPE DMZ Gateway, v1. User Guide

Bridgit Conferencing Software: Security, Firewalls, Bandwidth and Scalability

Developing ASP.NET MVC 4 Web Applications

STABLE & SECURE BANK lab writeup. Page 1 of 21

How To Set Up A Net Integration Firewall

Workday Mobile Security FAQ

GUI and Web Programming

FileCloud Security FAQ

TFE listener architecture. Matt Klein, Staff Software Engineer Twitter Front End

Brocade Virtual Traffic Manager and Microsoft IIS Deployment Guide

The Top Web Application Attacks: Are you vulnerable?

Recommended IP Telephony Architecture

Configuring Security Features of Session Recording

SAFE-T RSACCESS REPLACEMENT FOR MICROSOFT FOREFRONT UNIFIED ACCESS GATEWAY (UAG)

March 2010 Webcasting: Dealing with significant audiences behind the corporate firewall

MEGA Web Application Architecture Overview MEGA 2009 SP4

JAVA WEB START OVERVIEW

State of The Art: Automated Black Box Web Application Vulnerability Testing. Jason Bau, Elie Bursztein, Divij Gupta, John Mitchell

SyncThru TM Web Admin Service Administrator Manual

Configuration Guide. BlackBerry Enterprise Service 12. Version 12.0

How To Develop A Mobile App With Phonegap

CSIS CSIS 3230 Spring Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

Load Balancing Web Applications

Mobile Device Management Version 8. Last updated:

Transcription:

Veiled A Browser Darknet Matt Wood matt.wood@hp.com & Billy Hoffman billy.hoffman@hp.com Web Security Research Group -- HP Software

What is a Darknet? A private network where users can freely exchange ideas and content. Darknets typically have additional features like strong encryption, digital identities, or storage systems 2

Innovation and Turmoil Abound! New Set of Browser Wars Desktop App <-> Web App Server/Client <-> Peer-2-Peer Browser Platform + Traditional Darknet +??? = Profit 3

Original Darknets Sneaknets Yokel with floppy Freenet (1999) Strong Crypto Shared Storage WASTE (2000) Private/sharing Gnutella(~2000) P2P qualities Clones (2001-) 4

Tor is *not* a Darknet! 5

Barriers to Darknet Adoption Technical Barriers Installing/Configuring Firewall NAT Not for Joe the Plumber Social Barriers People are unaware they exist Freenet/Gnutella/Kazaa are basically open networks Difficult to set-up your own Creating your own scene 6

Web Ecosystem HTML 5 Features Browser Storage CORS/XDomainRequest JavaScript Advances V8/TraceMonkey Lots of high quality JS libraries UI/DOM AES/RSA Ubiquitousnesslyosity Everyone has it Everyone can use it 7

A Browser Based Darknet Properties we want Distributed Redundant File Storage Some anonymity Web in the Web Communication entirely over HTTP Differentiating Properties Zero-footprint Install Web Clients are the new Web Server P2P on top of HTTP Simple to create/destroy/join Focused on small to medium sized network/mesh 8

WHY? Barriers are Bad! Removing Barriers is Good! Fewer Barriers allows more Participation! More participation allows Innovation! 9

Veiled : Agenda Architecture Demo Tech Overview Features Private Chat Redundant Distributed File Storage Web in the Web Distributed JS Computation Server Failover Threat Analysis Next Steps/New Tech 10

High Level Architecture Router is single server script file Routers can peer Client is Pure JS and HTML Clients connect to Routers Messages can traverse whole network 11

Veiled Demo 12

Veiled Router Single Dynamic Page Provides COMET connection to Client Provides Ajax Targets for Client Provides Peering hooks for other Routers Provides transient storage (server memory) 13

Veiled Client Pure JS/HTML Content served by a Router Provide callbacks for COMET data pipe Contains API to use browser storage Whatwg_db/LocalStorage/Cookies/GlobalStorage Contains JS Encryption Routines UI 14

COMET? Traditional HTTP pulls data COMET is a hack to make HTTP push possible faster than long polling for lots of messages 15

Messaging in Veiled Client-Client Communication Client-Router Communication Router-Router Communication 16

Client-Client Messaging Two Types of Messages Multicast Routed Occurs above HTTP Layer Message Format Type Action Origin ID Target ID Data Distance Unique ID 17

Router-Client Communication Client initiates COMET connection Hidden iframe Easy Messages streamed to client via individual <script> tag function calls Higher bandwidth than long-polling Times out after 2-5 minutes, refreshes Client uses AJAX to forward local messages/events to Router Can Use HTTP Auth Can Use SSL 18

Router-Router Peering HTTP/S Connection Comet-y No need for JS Tricks Uses JSON for interop PHP s fsockopen First connection contains connect back information Both Servers need to be mutually accessible Performs Routing Can be setup with HTTP Auth to prevent vagabonds 19

Routing with Modified AODV AODV Ad-hoc On-demand Distance Vector Used for mesh networks Modified specifically to take advantage of protocol between clients Why? Reduces Traffic Minimizes clients receiving traffic not meant for them 20

Veiled Features Global Chat More of a debugging mechanism Private Chat Redundant Distributed File Storage Web in the Web Distributed JavaScript Jobs Server Failover 21

Private Chat RSA Key Exchange Keys generated by OpenSSL Uses PidCrypt JS Library Exchange AES 256 Key using RSA AES + CBC AES Key generated from Hash(RSA Priv Key/Time/Domain) Completely Encrypted on the Client Possible MITM Verify public keys 22

Private Chat Protocol Request Peers from Darknet Can opt-out Receive Client Aliases and Public Keys on Darknet Start Chat Session with Client Initiator generates AES Key Encrypt with Remote Client s public key Send AES Key Exchanged Begin chat encrypting with AES 23

Redundant Distributed File Storage Goals Survive Clients leaving the network Secure Upload/Download of content Utilize browser storage Why How Challenges JS has no access to local files Two Options Trust Router to distribute slices Use Flash/Java to read local file and provide to JS 24

RDFS Protocol Upload Select file and Submit HTML form Router slices into 1k chunks Multicast request for storage on darknet Wait for slices to be registered Send registered clients routed data packed Download Multicast file identifier for retrieval Client s check if their data store contains file identifier Send routed data packet if found 25

Web in the Web Builds on top of File Distribution Retrieve Files from Magnet Hashes JavaScript API to Support Embedded Images Embedded (i)frames Rewriting Links to Magnet Hash 26

Distributed JS Computation Distribute JavaScript Jobs to Clients Inspired by JavaScript Provide Client API for: Receiving jobs Reporting results Challenges Dangerous JavaScript/XSS Threading/Blocking the UI Worker threads (HTML5/Gears) Execute jobs in sandbox Gareth Hayes: JSReg? Google s caja too much 27

Server Failover Router Peering Publicize connect-back details to local clients Inform clients if peer goes down If Client COMET connection goes down Retry Connect to router peer 28

Challenges Debugging a hidden php connection blows! COMET, distributes PHP files, threading, multiple clients Pretty much left with printf() style debugging! Shared Memory Locking/Threading Over Reliance on Router Untrusted Router Local Storage vs Global Storage Domain restrictions 29

Threading in PHP Each connection is a thread Use flock(windows) or semaphore (sys-v) for locking Shared Memory message queue In transient Memory PHP s shmop 30

Veiled Threat Analysis 31

Veiled External Threats Malicious Client Disrupt/Inject faulty communications HTTPS and HTTP Auth can defuse this mostly Autodestruct network new one needed Malicious Router Process Rogue PHP script (since all are run by apache) Modify Shared Memory Alter Message Queue Remove Messages Not sure if there is a better was to secure shared mem MITM Mitigated with use of HTTPS 32

Veiled Internal Threats Malicious Client Advertise false routes by sending spoofed packets Saturate Network with Multicast Traffic Send Bogus File slices during retrieval Malicious Router Can MITM Private Chat RSA Key Exchange Compromise Clients IP s connected to it 33

Advances/Next Steps NAT Busting File Storage with Browser Cache Using Clients as Routers Persistent-XSS as Com Port Very low bandwidth Multiple Client-Router connections with CORS/ XDomainRequest Using Completely Untrusted/Public Routers Cloud Based Routers 34

NAT Busting with HTTP Request Server Behind NAT Connection #1 Initiate connection to Remote Send HTTP Request Parse Response as it Arrives for Data Connection #2 Initiate connection to Remote Send long HTTP Request Remote parses Request as it Arrives Vanilla PHP can t inspect incomplete requests Perl has this built in 35

File Storage with Browser Cache Use Browser Caching to Store File Slices Storage Make hash from file hash and slice # Router serves up page, client caches it Retrieval Make hash from file hash Ajax Request to router Cached Response Server Response 36

Using Clients as Routers Listen for messages on two routers Mediate Requests/Responses between them Benefits Link inaccessible routers with a client Cons Requires constant browser session/tab Easier to MITM a network 37

Persistent-XSS as Shared Storage/Queue Use Persistent XSS s on the internet as storage. Hundreds of online notepads, lots are vulnerable to pxss Decentralizes Network Further How? Create JavaScript API to abstract PXSS as storage device Use iframe communication from pxss to local window JSONP if possible 38

Multiple Client-Router Connections Using CORS/XDomainRequest Benefits Redundant connection to Darknet Increased bandwidth Stronger connected Mesh Challenges Reduce/Identify duplicate traffic 39

Others Using Completely Untrusted/Public Routers Use strong encryption on top of all messages However still allow routing somehow Cloud Based Router Google App Engine Router One Way Communication Darknet 40

Sorry Wikileaks! Wikileaks is an amazing valuable service Made misinformed comments about system properties Wikileaks created their infrastructure from OS to Web Server to avoid the collection of any user data There is nothing to subpena You guys rock! 41

Ask Questions! Emails Matt Wood -- matt.wood@hp.com Billy Hoffman -- billy.hoffman@hp.com Twitterlicious http://twitter.com/hp_appsecurity 42