26
Puppetnets: Misusing Web Browsers as a Distributed Attack Infrastructure Lam Vin The, Spiros Antonatos and Kostas G. Anagnostakis Adapted by Gary Bramwell

Puppetnets: Misusing Web Browsers as a Distributed Attack Infrastructure

Embed Size (px)

DESCRIPTION

Puppetnets: Misusing Web Browsers as a Distributed Attack Infrastructure. Lam Vin The, Spiros Antonatos and Kostas G. Anagnostakis Adapted by Gary Bramwell. Motivation. Considerable effort has been put into detecting current forms of malware Viruses, worms, botnets, … - PowerPoint PPT Presentation

Citation preview

Puppetnets: Misusing Web Browsers as a Distributed Attack

Infrastructure

Lam Vin The, Spiros Antonatos and Kostas G. Anagnostakis

Adapted by Gary Bramwell

Spiros Antonatos

Motivation

• Considerable effort has been put into detecting current forms of malware– Viruses, worms, botnets, …

• Threats as we know them today will eventually die – Attackers will avoid traditional attacks

• Attacks on the design of applications is the next step– It has already started ( XSS worms, SQL

injection attacks)

Spiros Antonatos

A next-generation attack: Puppetnets

• Botnets have served attackers well so far• Can we have a botnet in a world without

buffer overflows and spyware?– You can call me puppetnet

• Puppetnets use the bad design of world wide web to form a limited version of botnets– No browser or operating system exploits, only

typical HTML pages

Spiros Antonatos

What can puppetnets do?

• Denial of Service attacks– Flood a victim with requests

• Scan subnets for open ports– Distributed nmap-like scans

• Propagate attack vectors– CodeRed-like worms, XSS worms

• Computational attacks– Calculate MD5 checksums, password

cracking

Spiros Antonatos

What can’t puppetnets do?

• Unable to have total control on a client machine– They live and die inside web browsers

• No raw sockets, no keylogging• Access to file system is denied• Access of other pages browsed by

the user is denied

Spiros Antonatos

Puppetnets for DoS attacks

Stealthiness

To avoid client-side caching

Stealthiness

Spiros Antonatos

Effectiveness of DoS

• Depends on two factors:• Web session time. How long a user stays

on a site– Most users stay several minutes (nearly 10) in a

page– Data taken from KDDCUP trace, Webtrends and

our personal pages• Size of puppetnets. How many users visit

concurrently a site– 90% of sites have nearly up to one thousand

concurrent users – Maximum value observed was 1 million– Data from Alexa, ABCE dataset, Webtrends and

Webalizer

Spiros Antonatos

Measuring DoS

•First input: Ingress bandwidth consumed by one puppet vs. RTT between browser and server

•Second input: Capacity distribution as measured in “Variability in TCP round-trip times”

MaxURL: make requests with 2K URL length

MaxSYN: make normal requests in an excessive rate

Spiros Antonatos

DDoS firepower of 1000 puppets

Firefox Explorer

maxSYN 2 aliases 83.97Mbit/s 106.3Mbit/s

maxSYN 3 aliases 137.26Mbit/s 173.28Mbit/s

maxURL 2 aliases 664.74Mbit/s 502.06Mbit/s

maxURL 3 aliases 1053.79Mbit/s 648.33Mbit/s

• We use aliases to trick the browser handle same destination as different server– “www.google.com” is not same as “www.google.com.” for most

browsers

• Aliases help us overcome restrictions of maximum connections per server

Spiros Antonatos

Using puppetnets for scanning

• Example: scan the Internet for servers listening on port 5349

• The idea is to measure time spent to get a response

• Do a “sandwich” attack– <IMG

SRC=’http://www.attacker.com/cgi-bin/ping’>– <IMG SRC=’http://www.targetsite.com:5349’>– <IMG

SRC=’http://www.attacker.com/cgi-bin/ping’>

• Time between two requests to attacker.com is the key information needed

Spiros Antonatos

Optimizing scanning

• In the previous example, for each candidate target we need two requests to malicious site– Not scalable, malicious site is finally

DDoSed• Use onLoad and onError hooks provided by

javascript– Sandwich as backup solution, in the absence of

javascript

• Measure the time between request and onLoad/onError trigger

Spiros Antonatos

Scanning illustrated

•We need to define two paramaters: unreachable and timeout

Spiros Antonatos

Defining scanning parameters

• Measured time to get the main index of 50,880 web servers

• Measurements from four different network points– Geographically

distributed– Different

connectibity characteristics

Spiros Antonatos

Effectiveness of scanning

• The longer the timeout is, the less scans we can do per minute– Unreachable

timeout was set to 200ms

• Less scans means less targets found

Note: browsers impose port restrictions, mainly telnet,POP3 and IMAP

Spiros Antonatos

Malicious computations

• Make puppets to perform malicious computations– RC5 cracking, MD5 calculations, etc.

• Use javascript or Java applets for computations• A 1000-node is as fast as a 128-node cluster

Method MD5 calculations

Javascript 380

Java applet 434K

Java stand-alone 640K

C stand-alone 3.3M

Spiros Antonatos

Other cool stuff

• Spam distribution through puppetnets– Safari browser allows to connect to any port!

• Weakly designed web services can be exploited– Lycos mail uses cookies for login– Form for sending mail is simple (most services

usually put a hidden id)– Any puppet that has recently logged in to Lycos

can send spam through user’s account

• We found lycos with 30min search, there are thousands of services out there

Spiros Antonatos

Defenses (1/3)

• Disable Javascript– Threat will be reduced but not eliminated– Browsing experience will be altered

significantly

• IDS/IPS signatures– For example, detect SMTP commands inside a

POST– Hard for DDoS attacks– Obfuscation of HTML and javascript prevents

static analysis

Spiros Antonatos

Defenses (2/3)

• Client-side behavioral controls– Limit number of non-local objects– 99% of websites access 11 or less

foreign domains, 99.94% less than 20– Can achieve 10x reduction in DDoS

strength while disrupting 0.1% of websites

– Can be bypassed if attacker has access to DNS server

Spiros Antonatos

Defenses (3/3)

• Access Tokens• Server sends a policy to client that

describes the level of trust for a specific referrer

• Client implements the policy inside the browser

• If referrer is not trustworthy, all requests to victim server will be stopped at the client side

Spiros Antonatos

Access Tokens illustrated

Spiros Antonatos

Access Token limitations

• Requires implementation on client and browser side– Server must issue policies– Client must be set up to implement

policies

• Requests after first are blocked– First request still sent and acked– Severely hampers, but still allows DDoS

Spiros Antonatos

Questions?

Puppetnets: Misusing Web Browsers as a Distributed Attack

Infrastructure

Lam Vin The, Spiros Antonatos and Kostas G. Anagnostakis

To appear in ACM CCS 2006

Spiros Antonatos

Backup slides

Spiros Antonatos

Web session times

Spiros Antonatos

Puppetnet size