Ben Livshits and Weidong Cui Microsoft Research Redmond, WA.

Slides:



Advertisements
Similar presentations
(Distributed) Denial of Service Nick Feamster CS 4251 Spring 2008.
Advertisements

Nick Feamster CS 6262 Spring 2009
Path Cutter: Severing the Self-Propagation Path of XSS JavaScript Worms in Social Web Networks Yinzhi Cao, Vinod Yegneswaran, Phillip Porras, and Yan Chen.
PathCutter: Severing the Self- Propagation Path of XSS JavaScript Worms in Social Web Networks Yinzhi Cao §, Vinod Yegneswaran †, Phillip Porras †, and.
Automated Web Patrol with Strider Honey Monkeys: Finding Web Sites That Exploit Browser Vulnerabilities AUTHORS: Yi-Min Wang, Doug Beck, Xuxian Jiang,
By Philipp Vogt, Florian Nentwich, Nenad Jovanovic, Engin Kirda, Christopher Kruegel, and Giovanni Vigna Network and Distributed System Security(NDSS ‘07)
CMSC 414 Computer and Network Security Lecture 24 Jonathan Katz.
Web 2.0 security Kushal Karanjkar Under guidance of Prof. Richard Sinn.
Blackbox Reversing of XSS Filters Alexander Sotirov ekoparty 2008.
Spectator: Detection and Containment of JavaScript Worms By Livshits & Cui Presented by Colin.
Server-Side vs. Client-Side Scripting Languages
Chapter 9 Web Applications. Web Applications are public and available to the entire world. Easy access to the application means also easy access for malicious.
Nozzle: A Defense Against Heap-spraying Code Injection Attacks Paruj Ratanaworabhan, Cornell University Ben Livshits and Ben Zorn, Microsoft Research (Redmond,
Automated Web Patrol with Strider HoneyMonkeys Present by Zhichun Li.
Internet Quarantine: Requirements for Containing Self-Propagating Code David Moore et. al. University of California, San Diego.
Introduction to the OWASP Top 10. Cross Site Scripting (XSS)  Comes in several flavors:  Stored  Reflective  DOM-Based.
March Intensive: XSS Exploits
Lecture 16 Page 1 CS 236 Online Cross-Site Scripting XSS Many sites allow users to upload information –Blogs, photo sharing, Facebook, etc. –Which gets.
CROSS SITE SCRIPTING..! (XSS). Overview What is XSS? Types of XSS Real world Example Impact of XSS How to protect against XSS?
Lab 3 Cookie Stealing using XSS Kara James, Chelsea Collins, Trevor Norwood, David Johnson.
Leveraging User Interactions for In-Depth Testing of Web Application Sean McAllister Secure System Lab, Technical University Vienna, Austria Engin Kirda.
Is Your Website Hackable? Check with Acunetix Web Vulnerability Scanner. Acunetix Web Vulnerability Scanner V9.
Computer Concepts 2014 Chapter 7 The Web and .
Web Design Scripting and the Web. Books on Scripting.
 Zhichun Li  The Robust and Secure Systems group at NEC Research Labs  Northwestern University  Tsinghua University 2.
Cross-Site Scripting Vulnerabilities Adam Doupé 11/24/2014.
Prevent Cross-Site Scripting (XSS) attack
CSCI 6962: Server-side Design and Programming Secure Web Programming.
Ladd Van Tol Senior Software Engineer Security on the Web Part One - Vulnerabilities.
Chapter 9 Web Applications. Web Applications are public and available to the entire world. Easy access to the application means also easy access for malicious.
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
1 Internet Browsing Vulnerabilities and Security ECE4112 Final Lab Ye Yan Frank Park Scott Kim Neil Joshi.
XSS-GUARD : Precise Dynamic Prevention of Cross Site Scripting (XSS) Attacks Prithvi Bisht ( Joint work with : V.N. Venkatakrishnan.
 Two types of malware propagating through social networks, Cross Site Scripting (XSS) and Koobface worm.  How these two types of malware are propagated.
Cross-Site Attacks James Walden Northern Kentucky University.
Foundations of Network and Computer Security J J ohn Black CSCI 6268/TLEN 5550, Spring 2013.
© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 1 RubyJax Brent Morris/
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Web Security.
Security Attacks CS 795. Buffer Overflow Problem Buffer overflows can be triggered by inputs that are designed to execute code, or alter the way the program.
Web Applications Testing By Jamie Rougvie Supported by.
By Sean Rose and Erik Hazzard.  SQL Injection is a technique that exploits security weaknesses of the database layer of an application in order to gain.
Cross Site Scripting and its Issues By Odion Oisamoje.
Crash Course in Web Hacking
ASP.NET in Definition: 1.ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites,
Presented By: Chandra Kollipara. Cross-Site Scripting: Cross-Site Scripting attacks are a type of injection problem, in which malicious scripts are injected.
Web Security Lesson Summary ●Overview of Web and security vulnerabilities ●Cross Site Scripting ●Cross Site Request Forgery ●SQL Injection.
Spectator: Detection and Containment of JavaScriptWorms
Security Attacks CS 795. Buffer Overflow Problem Buffer overflow Analysis of Buffer Overflow Attacks.
ACM Conference on Computer and Communications Security 2006 Puppetnet: Misusing web browsers as a distributed attack infrastructure Network Seminar Presenter:
What Is XSS ? ! Cross-site scripting (XSS) is a type of computer security vulnerability typically found in Web applications. XSS enables attackers to.
XSS VULNERABILITIES Nicole Coppola. XSS - Capabilities Cookie Theft – Session Hijacking Keylogging – addEventListener; passwords, credit cards, etc. Phishing.
Puppetnets: Misusing Web Browsers as a Distributed Attack Infrastructure Paper By : V.T.Lam, S.Antonatos, P.Akritidis, K.G.Anagnostakis Conference : ACM.
Week 7 - Wednesday.  Web security – user side.
Software Security. Bugs Most software has bugs Some bugs cause security vulnerabilities Incorrect processing of security related data Incorrect processing.
By Collin Donaldson. Hacking is only legal under the following circumstances: 1.You hack (penetration test) a device/network you own. 2.You gain explicit,
Carrie Estes Collin Donaldson.  Zero day attacks  “zero day”  Web application attacks  Signing up for a class  Hardening the web server  Enhancing.
Cosc 4765 Antivirus Approaches. In a Perfect world The best solution to viruses and worms to prevent infected the system –Generally considered impossible.
SlideSet #20: Input Validation and Cross-site Scripting Attacks (XSS) SY306 Web and Databases for Cyber Operations.
Vineel Vutukuri. What is SPA? Why SPA? Pros & Cons When to use SPA?
XSS 101 Jason Clark 12/20.
Javascript worms By Benjamin Mossé SecPro
Google’s Gruyere1 : An XSS Example Presented by: Terry Gregory
Internet Quarantine: Requirements for Containing Self-Propagating Code
TMG Client Protection 6NPS – Session 7.
Web Application Protection Against Hackers and Vulnerabilities
WWW and HTTP King Fahd University of Petroleum & Minerals
Cross Sight scripting: Type-2
Unit 27 Web Server Scripting Extended Diploma in ICT
CSC 495/583 Topics of Software Security Intro to Web Security
Presentation transcript:

Ben Livshits and Weidong Cui Microsoft Research Redmond, WA

 Web application vulnerabilities are everywhere  Cross-site scripting (XSS)  Dominates the charts  “Buffer overruns of this decade”  Key enabler of JavaScript worms 2

 Unleashed by Samy as a proof-of- concept in October

 Samy took down MySpace (October 2005)  Site couldn’t cope: down for two days  Came down after 13 hours  Cleanup costs  Yamanner (Yahoo mail) worm (June 2006)  Sent malicious HTML mail to users in the current user’s address book  Affected 200,000 users, s used for spamming 4

 Initial infection:  Samy’s MySpace page  Injected JavaScript payload exploits a XSS hole  Propagation step:  User views an infected page  Payload executes ▪ Adds Samy as friend ▪ Add payload to user’s page 5

 Worms of the previous decade enabled by buffer overruns  JavaScript worms are enabled by cross-site scripting (XSS)  Fixing XSS holes is best, but some vulnerabilities remain  The month of MySpace bugs  Database of XSS vulnerabilities: xssed.com 6

 Existing solutions rely on signatures  Ineffective: obfuscated and polymorphic JavaScript worms are very easy to write  Most real-life worms are obfuscated  Fundamental difficulties  Server can’t tell a user request from worm activity  Browser doesn’t know where JavaScript comes from 7

1. Spectator: first practical solution 2. Scalable, small constant-time end-to-end latency overhead 3. Deployment models for large sites supporting load balancing 4. Evaluation of Spectator:  Large-scale simulation setup for evaluating scalability and precision  Applied Spectator to a real site during worm propagation 8

9

 u 1 uploads to his page  u 2 downloads page of u 1  u 2 uploads to his page  u 3 downloads page of u 2  u 3 uploads to his page …… u1u1 u1u1 u2u2 u2u2 u3u3 u3u3 Propagation chain payload 1.Preserve causality of uploads, store as a graph 2.Detect long propagation chains 3.Report them as potential worm outbreaks 1.Preserve causality of uploads, store as a graph 2.Detect long propagation chains 3.Report them as potential worm outbreaks

tag 1 -> tag 2 Server-side application Spectator proxy U2U2 U2U2 request Client-side tracking page 11 tag U1U1 U1U1

 Tagging of uploaded input...  Client-side request tracking  Injected JavaScript and response headers  Propagates causality information through cookies on the client side 12

 Propagation graph G:  Records causality between tags (content uploads)  Records IP address (approximation of user) with each  Worm: Diameter(G) > threshold d 13

14  Determining diameter precisely is exponential  Scalability is crucial  Thousands of users  Millions of uploads  Use greedy approximation of the diameter instead

15

 Large-scale simulation with OurSpace:  Mimics a social networking site like MySpace  Experimented with various patterns of site access  Looked at the scalability  Real-life case study:  Uses Siteframe, a third-party social networking app  Developed a JavaScript worm for it similar to real-life ones 16

 Test-bed: OurSpace  Every user has their own page  At any point, a user can read or write to a page  Write(U 1, “hello”); Write(U 1, Read(U 2 )); Write(U 3, Read(U 1 ));  Various access scenarios:  Scenario 1: Worm outbreak (random topology)  Scenario 2: A single long blog entry  Scenario 3: A power law model of worm propagation 17

 Tag addition overhead pretty much constant 18

 Approximate worm detection works well 19

 Real-life worm experimentation is difficult  Used Siteframe, open-source blogging system  Found an exploitable XSS  Developed a worm for it  Scripted user behavior  Spectator flags the worm 20

 First defense against JavaScript worms  Fast and slow, mono- and polymorphic worms  Scales well with low overhead  Essence of the approach  Perform distributed data tainting  Look for long propagation chains  Demonstrated scalability and effectiveness 21