skip to main content
article

Protection and communication abstractions for web browsers in MashupOS

Published:14 October 2007Publication History
Skip Abstract Section

Abstract

Web browsers have evolved from a single-principal platform on which one site is browsed at a time into a multi-principal platform on which data and code from mutually distrusting sites interact programmatically in a single page at the browser. Today's "Web 2.0" applications (or mashups) offer rich services, rivaling those of desktop PCs. However, the protection andcommunication abstractions offered by today's browsers remain suitable onlyfor a single-principal system--either no trust through completeisolation between principals (sites) or full trust by incorporating third party code as libraries. In this paper, we address this deficiency by identifying and designing the missing abstractions needed for a browser-based multi-principal platform. We have designed our abstractions to be backward compatible and easily adoptable. We have built a prototype system that realizes almost all of our abstractions and their associated properties. Our evaluation shows that our abstractions make it easy to build more secure and robust client-side Web mashups and can be easily implemented with negligible performance overhead.

Skip Supplemental Material Section

Supplemental Material

1294263.mp4

mp4

152.4 MB

References

  1. Adobe. External data not accessible outside a Macromedia Flash movie's domain, 2007. http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_14213.Google ScholarGoogle Scholar
  2. JavaScript Speed Test: BenchJS. http://www.24fun.com/downloadcenter/benchjs/benchjs.html.Google ScholarGoogle Scholar
  3. B. Bershad, S. Savage, P. Pardyak, E. G. Sirer, D. Becker, M. Fiuczynski, C. Chambers, and S. Eggers. Extensibility, Safety and Performance in the SPIN Operating System. In Proceedings of the 15th ACM Symposium on Operating System Principles (SOSP--15), December 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Browser Helper Object. http://msdn2.microsoft.com/en-us/bb250436.aspx.Google ScholarGoogle Scholar
  5. S. Brin and L. Page. The anatomy of a large-scale hypertextual Web search engine. In 7th International World World Web Conference, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. Burke. Cross Domain Frame Communication with Fragment Identifiers. http://tagneto.blogspot.com/2006/06/cross--domain--frame-communication-with.html.Google ScholarGoogle Scholar
  7. S. M. Christey. Vulnerability Type Distribution in CVE, September 2006. http://www.attrition.org/pipermail/vim/2006--September/001032.html.Google ScholarGoogle Scholar
  8. Component Object Model (COM). http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/componentobjectmodelanchor.asp.Google ScholarGoogle Scholar
  9. J. Couvreur. FlashXMLHttpRequest: cross-domain requests. http://blog.monstuff.com/FlashXMLHttpRequest.Google ScholarGoogle Scholar
  10. R. Cox, J. Hansen, S. Gribble, and H. Levy. A Safety-Oriented Platform for Web Applications. In Proc. IEEE Symposium on Security and Privacy, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. Crockford. JSONRequest. http://www.json.org/jsonrequest.html.Google ScholarGoogle Scholar
  12. D. Crockford. The Module Tag: A Proposed Solution to the Mashup Security Problem. http://www.json.org/module.html.Google ScholarGoogle Scholar
  13. Document Object Model. http://www.w3.org/DOM/.Google ScholarGoogle Scholar
  14. BEich. JavaScript: Mobility and Ubiquity. http://kathrin.dagstuhl.de/files/Materials/07/07091/07091.EichBrendan.Slides.pdf.Google ScholarGoogle Scholar
  15. Big WebOS roundup -- 10 online operating systems reviewed. http://franticindustries.com/blog/2006/12/21/.Google ScholarGoogle Scholar
  16. D. Flanagan. JavaScript: The Definitive Guide. O'Reilly, August 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Flickr Services API. http://www.flickr.com/services/api/.Google ScholarGoogle Scholar
  18. N. Freed. Media Type Specifications and Registration Procedures, December 2005. http://rfc.net/rfc4288.html.Google ScholarGoogle Scholar
  19. Google Maps API, 2007. http://www.google.com/apis/maps/.Google ScholarGoogle Scholar
  20. Preventing comment spam, January 2005. http://googleblog.blogspot.com/2005/01/preventing-comment-spam.html.Google ScholarGoogle Scholar
  21. J. Grossman. Advanced Web Attack Techniques using GMail. http://jeremiahgrossman.blogspot.com/2006/01/advanced-web-attack-techniques-using.html.Google ScholarGoogle Scholar
  22. W. H. A. TW. Group. Web Applications 1.0, February 2007. http://www.whatwg.org/specs/web-apps/current-work/.Google ScholarGoogle Scholar
  23. HTML 4.01 Specification, December 1999. http://www.w3.org/TR/html401/.Google ScholarGoogle Scholar
  24. G. Hunt and J. Larus. Singularity: Rethinking the Software Stack. In Operating Systems Review, April 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Internet Explorer Architecture. http://msdn.microsoft.com/workshop/browser/overview/ie_arch.asp.Google ScholarGoogle Scholar
  26. Persistence of Internet Explorer. http://msdn.microsoft.com/workshop/author/persistence/overview.asp?frame=true.Google ScholarGoogle Scholar
  27. GInc. Google Gadgets API Developer Guide. http://www.google.com/apis/gadgets/fundamentals.html.Google ScholarGoogle Scholar
  28. C. Jackson and H. Wang. Subspace: Secure Cross-Domain Communication for Web Mashups. In Proc. WWW, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. T. Jim, N. Swamy, and M. Hicks. BEEP: Browser-Enforced Embedded Policies. In 16th International World World Web Conference, May 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. JavaScript Object Notation (JSON). http://www.json.org/.Google ScholarGoogle Scholar
  31. F.D. Keukelaere, S. Bhola, M. Steiner, S. Chari, and S. Yoshihama. S. Mash: Secure Cross-Domain Mashups on Unmodified Browsers. Technical report, IBM Research, Tokyo Research Laboratory, June 2007.Google ScholarGoogle Scholar
  32. D. Kristol and L. Montulli. HTTP State Management Mechanism. IETF RFC 2965, October 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Windows Live Gadget Developer's Guide. http://microsoftgadgets.com/livesdk/docs/default.htm.Google ScholarGoogle Scholar
  34. L. Masinter. RFC 2397: The "data" URL Scheme, August 1998. http://tools.ietf.org/html/rfc2397. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. About Asynchronous Pluggable Protocols. http://msdn2.microsoft.com/en-us/library/aa767916.aspx.Google ScholarGoogle Scholar
  36. C. Reis, B. Bershad, S. Gribble, and H. Levy. Using processes to improve the reliability of browser-based applications. In Under submission.Google ScholarGoogle Scholar
  37. R. Snake. XSS Cheat Sheet. http://ha.ckers.org/xss.html.Google ScholarGoogle Scholar
  38. J. Ruderman. The Same Origin Policy. http://www.mozilla.org/projects/security/components/same-origin.html.Google ScholarGoogle Scholar
  39. Technical explanation of The MySpace Worm. http://namb.la/popular/tech.html.Google ScholarGoogle Scholar
  40. R. Wahbe, S. Lucco, T.E. Anderson, and S.L. Graham. Efficient Software-Based Fault Isolation. In Proceedings of the 14th ACM Symposium on Operating Systems Principles, December 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Web applications working draft. http://www.whatwg.org/specs/web-apps/current-work/#crossDocumentMessages.Google ScholarGoogle Scholar
  42. Web desktop. http://en.wikipedia.org/wiki/Webtop.Google ScholarGoogle Scholar
  43. The XMLHttpRequest Object. http://www.w3.org/TR/XMLHttpRequest/.Google ScholarGoogle Scholar
  44. Google, Yahoo, MSN Unite On Support For Nofollow Attribute For Links, January 2005. http://blog.searchenginewatch.com/blog/050118-204728.Google ScholarGoogle Scholar
  45. YouOS. http://www.youos.com/.Google ScholarGoogle Scholar

Index Terms

  1. Protection and communication abstractions for web browsers in MashupOS

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGOPS Operating Systems Review
      ACM SIGOPS Operating Systems Review  Volume 41, Issue 6
      SOSP '07
      December 2007
      363 pages
      ISSN:0163-5980
      DOI:10.1145/1323293
      Issue’s Table of Contents
      • cover image ACM Conferences
        SOSP '07: Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
        October 2007
        378 pages
        ISBN:9781595935915
        DOI:10.1145/1294261

      Copyright © 2007 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 14 October 2007

      Check for updates

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader