WebShield: Enabling Various Web Defense Techniques without Client Side Modifications - PowerPoint PPT Presentation

About This Presentation
Title:

WebShield: Enabling Various Web Defense Techniques without Client Side Modifications

Description:

WebShield: Enabling Various Web Defense Techniques without Client Side Modifications. Zhichun. Li, Tang Yi, Yinzhi Cao, VaibhavRastogi, Yan Chen, Bin Liu,and Clint Sbisa – PowerPoint PPT presentation

Number of Views:237
Avg rating:3.0/5.0
Slides: 26
Provided by: csNorthwe
Category:

less

Transcript and Presenter's Notes

Title: WebShield: Enabling Various Web Defense Techniques without Client Side Modifications


1
WebShield Enabling Various Web Defense
Techniques without Client Side Modifications
Zhichun Li, Tang Yi, Yinzhi Cao, Vaibhav Rastogi,
Yan Chen, Bin Liu, and Clint Sbisa NEC
Laboratories America, Inc. Northwestern
University Tsinghua University
2
Web Has Become a Primary Target
Drive by Download
Cross site scripting
Cross Site Request Forgery
Cross-Origin JavaScript Capability Leaks
2
3
Desire a General Middlebox
  • Existing web defense techniques need
    browser/client modification
  • Advocate middlebox approaches

Existing Web Defense Approaches
Client modification
Slow adoption
Client-side Middlebox
heterogenous co-exist with other software clean installation
high maintenance overhead centralized control
user voluntary update easy update and VM management
3
4
General Design Principles for Middlebox
  • Principles
  • Principle I general middlebox should enable
    various protection mechanisms
  • Principle II avoid client-side deployment
  • Principle III containment of untrusted script
    execution
  • Principle IV should not sacrifice user experience

4
5
Existing Middlebox Approaches
  • BrowserShield
  • Code rewriting rewrite HTML and JavaScript code
    with policy checking wrappers
  • Only applies to known browser vulnerabilities
  • Hard to be extended to support other defense
    mechanisms
  • SpyProxy
  • Actively execute the web pages in a proxy sandbox
  • Applies to both known and unknown vulnerabilities
  • But only detect deterministic exploits

5
6
Evade Existing Approaches
  • function attackX()
  • // exploit an unknown vulnerability,
  • // so BrowserShield cannot be applied
  • ...
  • var attackcalledfalse
  • function loadAttack()
  • var eldocument.getElementById("Evil")
  • // use user events to bypass SpyProxy
  • el.addEventListener("mouseover",
  • checkMouse,false)
  • function checkMouse()
  • if (! attackcalled)
  • attackcalledtrue
  • window.setTimeout(attackX,0)

Very Easy to Implement
Trigger the attack through mouse events
6
7
Outline
  • Our Design
  • Implementation
  • Evaluation
  • Conclusion

7
8
Our Design
Client Browser
HTML Parser
Java-Script Engine
CSS Parser
DOM
Render Engine
User Interface
8
9
Our Design
Client Browser
HTML Parser
Java-Script Engine
CSS Parser
DOM
Render Engine
User Interface
9
10
Our Design
Client Browser
HTML Parser
Java-Script Engine
CSS Parser
DOM
Render Engine
User Interface
10
11
Our Design
11
12
Our Design
Proxy sandbox
Sync visual effects through encoded DOM updates
JavaScript Render Agent
DOM Encoder
Browser Controller
Detection Engine
Web Proxy
12
13
Initial Page Render
URI Request
web
Client Browser
Web Proxy
HTML Resp
Transformed Resp
Shadow Browser
Render Agent
lt!eyJkYXRhIjp7fSwidHlwZSI6InN0eWxlU2h4iOltdfQ
--gt ltscript id"DOM1"gt __dp.apply("DOM1)
lt/scriptgt
13
14
Dynamic HTML Interaction Support
wrap as JS events
web
input
Web Proxy
Client Browser
DOM visual updates
Shadow Browser
  • Latency added
  • Communication delay
  • DOM update delay
  • DOM tree update location
  • Element ID
  • Location vector starting from the root of the
    tree

14
15
Implementation
  • Use Webkit to implement Shadow browser
  • Current sandbox based on SELinux
  • Session manager in Python

15
16
Outline
  • Our Design
  • Implementation
  • Evaluation
  • Conclusion

16
17
Evaluation
  • Environment Setup
  • Web Proxy 2.5GHz Intel Xeon server
  • Web Browser on
    Core2 2.66GHz
  • Evaluation Metrics
  • Compatibility
  • Performance (user transparency)
  • Latency
  • Memory
  • Communication overhead
  • Drive-by-download detect demonstration

17
18
Evaluation
  • Compatibility
  • 91 out of Alexa top 100 web sites
  • 19 out of Alexa top 20 web sites
  • Reasons for not compatible websites
  • Not supported features
  • Stability of the prototype

18
19
Latency Overhead
  • Initial page rendering
  • Evaluate Alexa top 100 sites
  • Render start median 134ms, 90th percentile
    1.08 sec
  • Render end median 382 ms, 90th percentile 2.46
    sec

Chrome render start and end time
19
20
Latency Overhead
  • Interactive Performance for Dynamic HTML
  • Microbenchmarks
  • Test on a real JavaScript game JavaScript Game
    connect 4

Start Game Move Mouse Drop a Piece Game Over
Additional Delay 41ms 7ms 10ms 7ms
20
21
Memory and Communication Overhead
  • Memory overhead
  • Communication overhead

21
22
Usefulness Demonstration
  • Drive-by-download detection
  • Implement both policy-based and behavior-based
    detection
  • Policy-based check the parameters of JavaScript
    API calls and the parsing process
  • Behavior-based check a list of abnormal
    behaviors similar to SpyProxy
  • Evaluate eight vulnerabilities with Alexa top 500
    web sites.

Detection plug-ins False Negative False Positive
Policy Engine 0 1/500
Behavior Engine 0 0/500
22
23
Conclusion
  • We design, implement and evaluate WebShield
  • A general middlebox that enables various web
    defense mechanisms
  • Run JavaScript inside the middlebox, and thus
    reduce the attack surface
  • No client modification
  • Small overhead for latency, communication and
    memory ? remain good user experience

23
24
Advertisement
  • Positions available for system people (OS,
    Network, and Security) in NEC Research Labs
  • Full-time
  • Interns

25
Q A
Write a Comment
User Comments (0)
About PowerShow.com