---------- Forwarded message ----------
From: James Tavares <
james....@gmail.com>
Date: Mon, Nov 16, 2009 at 10:16 PM
Subject: Re: [csci2950-u] 11/17 Reviews - Gazelle
To: Rodrigo <
rodrigo...@gmail.com>
*Gazelle*
Paper Title: The Multi-Principle OS Construction of the Gazelle Web Browser
Author(s): Helen J. Want, Chris Grier, Alexander Moshchuk, Samuel T.
King, Piali Choudhury, Herman Venter
Date: Proceedings of the 18th USENIX Security Symposium. August, 2009.
Novel Idea: First, Gazelle claims to be “the first web browser that
qualifies as a multi-principle OS for web site principals.” Security
is Gazelle’s principle goal; therefore all principle protection logic
is located the Gazelle kernel, and nearly all cross-site references
(such as IFRAMEs, Images, and plugins, to name a few) are isolated in
site-specific processes, strictly adhering to the Single-Origin-Policy
rule. Second, Gazelle achieves this partitioning by dividing the
rendering area into windows: parent pages act as landlords and rent
successively smaller blocks of pixels to children tenants for their
manipulation. Gazelle allows landlords to overwrite their tenant’s
pixels, but prevents landlords from adding transparent layers.
Otherwise, it would be possible for landlords to, for example, overlay
a transparent button over the tenant’s space, breaking an implicit
contract with the user about the target of a user’s click.
Main Result(s): The paper discusses the security concerns and
justifications for going to an all-SOP approach. Further, it describes
the basic architecture of Gazelle, addresses some of the tradeoffs
Gazelle made to retain backwards compatibility with existing websites
(e.g., embedded scripts still run as their hosts) and discusses a
prototype implementation of Gazelle on .NET.
Impact: A browser like this could certainly cause web developers to
think twice about using cross-site scripting & content. This paper
(along with Google’s Chrome) suggests a great deal of research is
still needed in the area of web security, and perhaps points to the
need for a next-generation web architecture which is
application-centric and security-focused by design, as opposed to by
accident.
Evidence: The authors point to the large number of vulnerabilities
found in IE7 and Firefox 2 as justification for isolating web
principles, as well as make a number of the same arguments made in the
Chrome paper (such as increased fault tolerance). In their evaluation
of their prototype, the authors look at memory consumption and load
time for five (5) different scenarios across Gazelle, IE7 and Chrome.
Much the overhead is explained as poor prototype implementation. In
evaluating the impact of their increased security measures, the
authors looked at compatibility across the top 100 websites, as judged
solely by any visual differences in rendering.
Prior/Competitive Work: The authors compare their work primarily to
IE8 and Google Chrome, each of which use multiple processes to some
degree. Chrome is closest to Gazelle in its
One-Process-Per-Site-Instance mode, but differs from Gazelle in that
it does not provide isolation for embedded objects. The authors argue
that Chrome and IE8 seek to gain failure containment and performance
gains out of multiple processes, which is opposite Gazelle’s goal of
attaining additional security.
Reproducibility: As far as I know, Gazelle is not available outside of
Microsoft. One could certainly create a web browser with the same
architecture and security constraints, but even if you did, there’s
really nothing worthwhile in their results to reproduce. I get the
feeling that authored a prototype and performed an evaluation only
because they felt obligated too.
Question: None
Criticism:
1.) It seems to me that they took the isolation and protection
mechanisms of Google’s Chrome and went overboard with them. It
ridiculous to me that it could take 25 or more heavy-weight processes
communicating via IPC to render just one web page! Unless you want to
distribute rendering across a cluster, this is just overkill.
2.) The paper was abusively long for the author’s contributions. The
authors spent pages describing Gazelle, yet the second paragraph of
section 4.1 tells you pretty much all you need to know in a few short
sentences.
3.) The sites chosen for Table 4 are weak: blank page,
google.com, and
google.com/ads – are there any simpler web sites in the world? Perhaps
the authors should have expanded the effort to the top 100 pages to
get more aggregate statistics.
4.) In section 3.2, the authors decide against a more fine-grained
security model than <protocol, domain, port> because they claim that
web programmers wouldn’t want to maintain code bases for multiple
browsers. First, I think a simple wrapper library which chooses the
most specific security context available would very easily solve that
problem. Second, the irony here from a Microsoft paper is incredible:
IE’s bugs and lack of standardization over the years have essentially
demanded that programmers develop custom CSSs and JavaScript to
properly support those browsers.
Future Work: None.