The Wayback Machine - https://web.archive.org/web/20231224201956/https://dl.acm.org/doi/10.1145/1519065.1519090
skip to main content
10.1145/1519065.1519090acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article

Isolating web programs in modern browser architectures

Published:01 April 2009Publication History

ABSTRACT

Many of today's web sites contain substantial amounts of client-side code, and consequently, they act more like programs than simple documents. This creates robustness and performance challenges for web browsers. To give users a robust and responsive platform, the browser must identify program boundaries and provide isolation between them.

We provide three contributions in this paper. First, we present abstractions of web programs and program instances, and we show that these abstractions clarify how browser components interact and how appropriate program boundaries can be identified. Second, we identify backwards compatibility tradeoffs that constrain how web content can be divided into programs without disrupting existing web sites. Third, we present a multi-process browser architecture that isolates these web program instances from each other, improving fault tolerance, resource management, and performance. We discuss how this architecture is implemented in Google Chrome, and we provide a quantitative performance evaluation examining its benefits and costs.

References

  1. Alexa. Alexa Web Search -- Top 500. http://www.alexa.com/site/ds/top_500, 2008.Google ScholarGoogle Scholar
  2. Adam Barth, Collin Jackson, Charles Reis, and Google Chrome Team. The Security Architecture of the Chromium Browser. Technical report, Stanford University, 2008. http://crypto.stanford.edu/websec/chromium/chromium-security-architecture.pdf.Google ScholarGoogle Scholar
  3. Richard S. Cox, Jacob Gorm Hansen, Steven D. Gribble, and Henry M. Levy. A Safety-Oriented Platform for Web Applications. In IEEE Symposium on Security and Privacy, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Todd Ditchendorf. Fluid -- Free Site Specific Browser for Mac OS X Leopard. http://fluidapp.com/, 2008.Google ScholarGoogle Scholar
  5. Google. Issue 3666 -- chromium -- Tab crash (sad tab, aw snap) on jquery slidetoggle with-webkit-column-count greater than 1 -- Google Code. http://code.google.com/p/chromium/issues/detail?id=3666, October 2008.Google ScholarGoogle Scholar
  6. Google. Memory Usage Backgrounder (Chromium Developer Documentation). http://dev.chromium.org/memory-usage-backgrounder, 2008.Google ScholarGoogle Scholar
  7. Google. Plugin Architecture (Chromium Developer Documentation). http://dev.chromium.org/developers/design-documents/plugin-architecture, 2008.Google ScholarGoogle Scholar
  8. Google. Process Models (Chromium Developer Documentation). http://dev.chromium.org/developers/design-documents/process-models, 2008.Google ScholarGoogle Scholar
  9. Chris Grier, Shuo Tang, and Samuel T. King. Secure Web Browsing with the OP Web Browser. In IEEE Symposium on Security and Privacy, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Norm Hardy. The Confused Deputy (or why capabilities might have been invented). Operating Systems Review, 22(4):36o8, October 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Ian Hickson and David Hyatt. HTML 5. http://www.w3.org/html/wg/html5/, October 2008.Google ScholarGoogle Scholar
  12. Sotiris Ioannidis and Steven M. Bellovin. Building a Secure Web Browser. In Proceedings of the FREENIX Track of the 2001 USENIX Annual Technical Conference, June 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Mozilla. Public Suffix List. http://publicsuffix.org/, 2007.Google ScholarGoogle Scholar
  14. Mozilla. Prism. https://developer.mozilla.org/en/Prism, 2008.Google ScholarGoogle Scholar
  15. Stuart Parmenter. Firefox 3 Memory Usage. http://blog.pavlov.net/2008/03/11/firefox-3-memory-usage/, March 2008.Google ScholarGoogle Scholar
  16. Charles Reis, Brian Bershad, Steven D. Gribble, and Henry M. Levy. Using Processes to Improve the Reliability of Browser-based Applications. Technical Report UW-CSE-2007-12-01, University of Washington, December 2007.Google ScholarGoogle Scholar
  17. Charles Reis, Steven D. Gribble, and Henry M. Levy. Architectural Principals for Safe Web Programs. In HotNets-VI, November 2007.Google ScholarGoogle Scholar
  18. Jesse Ruderman. The Same Origin Policy. http://www.mozilla.org/projects/security/components/same-origin.html, 2001.Google ScholarGoogle Scholar
  19. Peter Watkins. Cross-Site Request Forgeries. http://www.tux.org/~peterw/csrf.txt, 2001.Google ScholarGoogle Scholar
  20. Andy Zeigler. IE8 and Loosely-Coupled IE. http://blogs.msdn.com/ie/archive/2008/03/11/ie8-and-loosely-coupled-ie-lcie.aspx, March 2008.Google ScholarGoogle Scholar
  21. Andy Zeigler. IE8 and Reliability. http://blogs.msdn.com/ie/archive/2008/07/28/ie8-and-reliability.aspx, July 2008.Google ScholarGoogle Scholar

Index Terms

  1. Isolating web programs in modern browser architectures

          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
          • Published in

            cover image ACM Conferences
            EuroSys '09: Proceedings of the 4th ACM European conference on Computer systems
            April 2009
            342 pages
            ISBN:9781605584829
            DOI:10.1145/1519065

            Copyright © 2009 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: 1 April 2009

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate241of1,308submissions,18%

            Upcoming Conference

            EuroSys '24
            Nineteenth European Conference on Computer Systems
            April 22 - 25, 2024
            Athens , Greece

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader