Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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