Puppetnets-presentat..
Download
Report
Transcript Puppetnets-presentat..
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, …
• 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
To avoid client-side caching
Stealthiness
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
MaxURL: make requests with 2K URL length
MaxSYN: make normal requests in an excessive
rate
Spiros Antonatos
•Second input:
Capacity distribution
as measured in
“Variability in TCP
round-trip times”
DDoS firepower of 1000 puppets
• 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
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
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/cgibin/ping’>
– <IMG SRC=’http://www.targetsite.com:5349’>
– <IMG SRC=’http://www.attacker.com/cgibin/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
Spiros Antonatos
– Geographically
distributed
– Different
connectibity
characteristics
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?
Spiros Antonatos
Puppetnets: Misusing Web
Browsers as a Distributed Attack
Infrastructure
Lam Vin The, Spiros Antonatos and
Kostas G. Anagnostakis
To appear in ACM CCS 2006
Backup slides
Spiros Antonatos
Web session times
Spiros Antonatos
Puppetnet size
Spiros Antonatos