Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.

Slides:



Advertisements
Similar presentations
Presented by Vaibhav Rastogi. Current browsers try to separate host system from Web Websites evolved into web applications Lot of private data on the.
Advertisements

Ben Livshits and Úlfar Erlingsson Microsoft Research.
The OWASP Foundation Web Application Security Host Apps Firewall Host Apps Database Host Web serverApp serverDB server Securing the.
JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
The Case for JavaScript Transactions Mohan Dhawan, Chung-chieh Shan, Vinod Ganapathy Department of Computer Science Rutgers University PLAS 2010.
0 The Past, Present and Future of XSS Defense Jim Manico 2011 OWASP Brussels.
1 CSC 551: Web Programming Spring 2004 client-side programming with JavaScript  scripts vs. programs  JavaScript vs. JScript vs. VBScript  common tasks.
GATEKEEPER MOSTLY STATIC ENFORCEMENT OF SECURITY AND RELIABILITY PROPERTIES FOR JAVASCRIPT CODE Salvatore Guarnieri & Benjamin Livshits Presented by Michael.
1 Yinzhi Cao, Zhichun Li *, Vaibhav Rastogi, Yan Chen, and Xitao Wen Labs of Internet Security and Technology Northwestern University * NEC Labs America.
17 th ACM CCS (October, 2010).  Introduction  Threat Model  Cross-Origin CSS Attacks  Example Attacks  Defenses  Experiment  Related Work 2 A Presentation.
Presented by Vaibhav Rastogi.  Advent of Web 2.0 and Mashups  Inclusion of untrusted third party content a necessity  Need to restrict the functionality.
An Evaluation of the Google Chrome Extension Security Architecture
Mitigating Malware Collin Jackson CS142 – Winter 2009.
Site and user security concerns for real time content serving Chris Mejia, IAB Sean Snider, Yahoo! Prabhakar Goyal, Microsoft.
Mashup Security by Compilation Tamara Rezk These slides discuss joint work with Zhengqin Luo and Jose Santos February 22 nd, 2013.
IFC Inside: Retrofitting Languages with Dynamic Information Flow Control Stefan Heule, Deian Stefan, Edward Z. Yang, John C. Mitchell, Alejandro Russo.
Design and logic issues Yes Memory corruption (buffer overflows) Yes-- Malicious script injection --Yes.
The Most Dangerous Code in the Browser Stefan Heule, Devon Rifkin, Alejandro Russo, Deian Stefan Stanford University, Chalmers University of Technology.
Web Security Model CSE 591 – Security and Vulnerability Analysis Spring 2015 Adam Doupé Arizona State University
1 A Privacy-Preserving Defense Mechanism Against Request Forgery Attacks Ben S. Y. Fung and Patrick P. C. Lee The Chinese University of Hong Kong TrustCom’11.
Introduction to Java Kiyeol Ryu Java Programming Language.
ACTIVE X By Ethan Huang. OUTLINE What is ActiveX? Component of ActiveX Why ActiveX? ActiveX and Java Security Issue.
Edward Tsai – CS 239 – Spring 2003 Strong Security for Active Networks CS 239 – Network Security Edward Tsai Tuesday, May 13, 2003.
The OWASP Foundation Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under.
Aaron Blankstein and Michael J. Freedman Princeton University Tuan Tran.
Sanzaru Capability-Based Interactions for Web Applications Raluca Sauciuc Shaunak Chatterjee University of California, Berkeley Motivation Limitations.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution-ShareAlike.
Frame isolation and the same origin policy Collin Jackson CS 142 Winter 2009.
Phu H. Phung Chalmers University of Technology JSTools’ 12 June 13, 2012, Beijing, China Joint work with Lieven Desmet (KU Leuven)
1 Subspace: Secure Cross Domain Communication for Web Mashups Collin Jackson and Helen J. Wang Mamadou H. Diallo.
Subspace: Secure Cross-Domain Communication for Web Mashups Collin Jackson Stanford University Helen J. Wang Microsoft Research ACM WWW, May, 2007 Presenter:
Subspace: Secure Cross-Domain Communication for Web Mashups In Proceedings of the 16th International World Wide Web Conference. (WWW), 2007 Collin Jackson,
Sandboxing JavaScript via Libraries and Wrappers Phu H. Phung University of Gothenburg, Sweden, and University of Illinois at Chicago.
4.1 JavaScript Introduction
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Origins, Cookies and Security – Oh My! John Kemp, Nokia Mobile Solutions.
BLUEPRINT: Robust Prevention of Cross-site Scripting Attacks for Existing Browsers Mike Ter Louw, V.N. Venkatakrishnan University of Illinois at Chicago.
Copyright 2007 © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright 2007 © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
OMash: Enabling Secure Web Mashups via Object Abstractions Steven Crites, Francis Hsu, Hao Chen UC Davis.
Joseph Smarr - Cross-Site Ajax 1 Cross-Site Ajax Challenges and Techniques for Building Rich Web 2.0 Mashups Joseph Smarr Plaxo, Inc.
OMash: Enabling Secure Web Mashups via Object Abstractions Steven Crites, Francis Hsu, Hao Chen (UC Davis) ACM Conference on Computer and Communications.
KATHOLIEKE UNIVERSITEIT LEUVEN 1 Run time enforcement of security policies on the.NET framework Frank Piessens Joint work with many people including Lieven.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
KATHOLIEKE UNIVERSITEIT LEUVEN 1.NET Curriculum Workshop Teaching Software Security: Case Studies on the.NET Framework Frank Piessens and Wouter Joosen.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
SMash : Secure Component Model for Cross- Domain Mashups on Unmodified Browsers WWW 2008 Frederik De Keukelaere et al. Presenter : SJ Park.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
Enhancing JavaScript with Transactions Mohan Dhawan †, Chung-chieh Shan ‡ and Vinod Ganapathy † † Department of Computer Science, Rutgers University ‡
Dynamic and Selective Combination of Extension in Component-based Applications Eddy Truyen, Bart Vanhaute, Wouter Joosen, Pierre Verbaeten, Bo N. Jørgensen.
GAZELLE THE MULTI-PRINCIPAL OS CONSTRUCTION OF THE GAZELLE WEB BROWSER.
M. Alexander Helen J. Wang Yunxin Liu Microsoft Research 1 Presented by Zhaoliang Duan.
University of Central Florida The Postman Always Rings Twice: Attacking & Defending postMessage in HTML5 Websites Ankur Verma University of Central Florida,
Vaibhav Rastogi and Yi Yang.  SOP is outdated  Netscape introduced this policy when most content on the Internet was static  Differences amongst different.
Copyright 2007 © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Protecting Browsers from Extension Vulnerabilities Paper by: Adam Barth, Adrienne Porter Felt, Prateek Saxena at University of California, Berkeley and.
1 Isolating Web Programs in Modern Browser Architectures CS6204: Cloud Environment Spring 2011.
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
When Good Standards Go Bad IETF 83 | March 25, 2012 Chris Weber, Casaba Security.
Writing secure Flex applications  MXML tags with security restrictions  Disabling viewSourceURL  Remove sensitive information from SWF files  Input.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Cloud Environment Spring  Microsoft Research Browser (2009)  Multi-Principal Environment with Browser OS  Next Step Towards Secure Browser 
The Postman Always Rings Twice: Attacking and Defending postMessage in HTML5Websites Sooel Son and Vitaly Shmatikov The University of Texas at Austin 20.
Browser code isolation John Mitchell CS 155 Spring 2016.
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Ad-blocker circumvention System
Automatic and Precise Client-Side Protection against CSRF Attacks
Browser code isolation
Presentation transcript:

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation OWASP Towards Building Secure Web Mashups Maarten Decat Philippe De Ryck Lieven Desmet Wouter Joosen Frank Piessens DistriNet Research Group Katholieke Universiteit Leuven, Belgium 23/06/2010

OWASP 2 Mashups by example

OWASP Mashups: Definition A web application that combines content (data/code) or services from multiple origins to create a new service 3

OWASP Incentives for mashups  Added value of combined result  Content re-use  Flexible and lightweight applications 4

OWASP Presentation Overview 1.Mashup Requirements 2.Mashup Security  Separation  Interaction  Communication 3.Future Developments 5

OWASP Example Case: The Financial Mashup 6 Online Bank Stock Advisor E-mart Billing Smart Advertising

OWASP Requirements for mashups  Interaction with other components  Communication with integrator / provider  Data / code protection  Restricted interaction 7 Separation Interaction Communication

OWASP Same Origin Policy  Basic security policy of the web  Constructed for static applications  Separates documents from different origins  Limits communication to document origin  SOP and HTML  IFRAME offers document separation using domains  SCRIPT offers script inclusion and interaction  Insufficient for dynamic mashup applications 8

OWASP Leveraging separation (1)  Restriction of the SOP  No interaction between different-origin documents  Mashups have a history of enabling interaction:  Fragment Identifier Messaging [1]  SMash [2]  Subspace [3]  postMessage [1] 9

OWASP Leveraging separation: postMessage  Enables frame communication  JavaScript API to send/receive messages  Event-driven  Mutual authentication  Standardized  Part of HTML5  Already supported in major browsers 10 window.addEventListener(“message", rcv, false); function rcv(event) { if (event.origin !== “ return; //handle event } window.addEventListener(“message", rcv, false); function rcv(event) { if (event.origin !== “ return; //handle event } var f = frames[1]; f.postMessage(“abc123", " var f = frames[1]; f.postMessage(“abc123", "

OWASP Leveraging separation (2)  Restriction of the SOP  No separation between same-origin documents  Stronger separation than IFRAMES :  Module-tag [4]  MashupOS [5]  OMash [6]  Sandbox-attribute [7] 11

OWASP Leveraging separation: sandbox  Provides frame restrictions  Unique origin  Disable plugins, forms, script, navigation  Standardized  Part of HTML5  Not yet supported in major browsers (only Chrome)  Some underspecified behavior  Unique origin and cookies  Unique origin and interaction/communication 12 …

OWASP Leveraging interaction (1)  Restriction of the SOP  No separation between loaded scripts (origin agnostic)  Restriction of script inclusion  No control over loaded scripts  Subsetting JavaScript:  ADSafe [8]  FaceBook JavaScript [9]  Caja [10] 13

OWASP Leveraging interaction: Caja  Goal: object-capability security in JavaScript with a minimal impact  Static verification  Runtime checks  Allows reasoning about the language [11]  Successfully used on Yahoo Application Platform, iGoogle, … 14

OWASP Leveraging interaction (2)  Restriction of the SOP  No separation between loaded scripts (origin agnostic)  Restriction of script inclusion  No control over loaded scripts  Behavior control / Policy enforcement:  Browser Enforced Embedded Policies [12]  Self-Protecting JavaScript [13]  ConScript [14]  Secure Multi-Execution [15] 15

OWASP Enabling Communication  Restriction of the SOP  No communication to different origins  Mashup techniques have proven otherwise:  Client/Server-side Proxies [3]  Script Communication  Plugin Communication (Flash, Java, …) [16]  Cross-Origin Resource Sharing [17] 16

OWASP Enabling Communication: CORS  Enables cross-domain communication  Same mechanism as XHR  Uses additional headers to supply information  Enforcement by browser  Protection of legacy code!  About to be standardized  W3C Working draft  Specifies API and algorithms, not implementation  Already supported in major browsers 17

OWASP Overview 18 Online Bank Stock Advisor E-mart Billing Smart Advertising Interaction with other components: postMessage Data / code protection: sandbox / caja Restricted scripts: caja / policy-based techniques Communication with integrator / provider: CORS

OWASP Future of mashup security  Mashup situations are extremely complex  Current techniques are strong foundation, but need abstractions to become powerful  (Business) requirements  Policy based approach  Provided with the application  Controls fine-grained aspects (isolation, restriction, …) 19

OWASP References (1) [1]Securing Frame Communication in Browsers, Barth, A. et al, 2008 [2]SMash: Secure Component Model for Cross-Domain Mashups on Unmodified Browsers, De Keukelaere, F. et al., 2008 [3] Subspace: Secure Cross-Domain Communication for Web Mashups, Jackson, C. et al [4]The tag, http:// [5]MashupOS: Operating System Abstractions for Client Mashups, Howell, J. et al., 2007 [6] OMash: Enabling Secure Web mashups via Object Abstractions, Crites, S., 2008 [7]HTML 5 Working Draft, Hickson, I. et al., 2010 [8]ADSafe, http:// [9]FBJS - Facebook Developer Wiki, http://wiki.developers.facebook.com/index.php/FBJS 20

OWASP References (2) [10]Caja: Safe active Content in Sanitized JavaScript, Miller, M. et al., 2008 [11]Object Capabilities and Isolation of Untrusted Web Applications, Maffeis, S. et al., 2010 [12]Defeating Script Injection Attacks with Browser-Enforced Embedded Policies, Jim, T., 2007 [13]Lightweight self-protecting JavaScript, Phung, P. et al., 2009 [14]ConScript: Specifying and Enforcing Fine-Grained Security Policies for JavaScript in the Browser, Livshits, B. et al., 2009 [15]Noninterference Through Secure Multi-Execution, Devriese, D. et al., 2010 [16]Browser Security Handbook, Zalewski, M., 2010 [17] Cross-Origin Resource Sharing, van Kesteren, A.,

OWASP 22