Security Vulnerabilities in Modern Web Browser Arc
Security Vulnerabilities in Modern Web Browser Arc
net/publication/224163004
CITATIONS READS
11 3,499
3 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Marin Silic on 23 August 2014.
Marin Šilić
Faculty of Electrical Engineering and Computing, University of Zagreb
Unska 3, 10000 Zagreb, Croatia
Phone: +385 1 6129 549
E-mail: [email protected]
Abstract - The Web today has become the most used and Many different web applications can be executed
popular platform for application development. In the simultaneously within the web browser. Some applications
beginnings of the Web, applications provided users just can have significant reflection on user’s life, while some
ability to browse and read content. The expansion and can be malicious applications with the only intention to
adoption of the new web technologies has led to a significant compromise security. Each application in the browser has
increase in development and, more importantly, usage of the its own security settings that define application's privileges
web applications that allow users to create their own content and rights for the user’s local file system. For example,
and impact their life (e.g. e-banking, e-commerce, social web application should be allowed to access local file
networks). Web 2.0 applications introduced new possibilities system in order to upload a certain file only with user's
for both users and application developers, but also created explicit approval. On the other hand, browsers have their
new security concerns. Almost every Internet user uses a web local storage where user’s sensitive data like passwords,
browser to access any content on the Internet. Each web cookies, bookmarks, browsing history, temporary files,
application is designed and developed to be executed inside and cache are stored. Modern browsers need to assure that
the web browser. Web browser mediates between users and web application can not access that storage, and can only
applications. In such architecture, malicious applications get private data (e.g. cookies) related to that particular
could be loaded and executed inside the web browser, making application.
it a vulnerable point in preserving security. Modern web
In order to protect the user, some browsers enforce strict
applications demand for a new web browser architecture
security policy, which isolates applications inside the
design that will meet new security requirements arisen with
browser by their origin and does not allow subresources
the Web 2.0. In this paper, we study web browser's
from other origins. Such a restrictive policy would require
vulnerabilities, analyze popular web browsers architecture
architectural restructuring of existing Web. On the other
and present how they cope with potential security threats.
side, users expect browsers to be compatible with the
existing Web architecture and render their popular
applications. The desirable goal in browser design is to
I. INTRODUCTION achieve user’s protection and still to provide compatibility
with existing web applications.
In its basis, Web was designed for browsing static web
The majority of modern browsers still use the original
pages and reading content. With the recent technological
monolithic architecture design. Monolithic browser
improvements, the Web has become a platform for
architecture has many disadvantages that concern client
application development. The turning point was invention
code execution. Failure caused by one web application
and adoption of AJAX technology which turned from the
crashes down the entire browser instead of just the
old concept of static web pages to the new concept of
application that caused it. In terms of better user
creating interactive web applications. AJAX and similar
experience, user should be able to use other opened
web application development technologies, often referred
applications. From the aspect of security, if the browser as
to collectively as Web 2.0 technologies, led to the creation
a vulnerable monolithic structure gets compromised,
of variety of numerous worldwide-oriented web
attacker could execute his arbitrary code with user's
applications. Contemporary web applications like e-
privileges and rights and cause damage on local machine.
banking, e-commerce, social-networking sites, blogs, and
Modern applications require browser architecture that
video-sharing sites provide users not just the ability to
provides both browser security and compatibility with the
view information and access content, but also the ability to
existing Web architecture. That can be achieved with
contribute and create their own content on the Web,
modular browser architecture where, in contrast to
express their creativity and share knowledge and
monolithic one, each application is executed in its own
information with others.
sandbox with restricted privileges.
The nature of Web 2.0 applications requires users to
Section II explains modular browser architecture and
provide their identity and private data like user-names,
compares it with the monolithic one. In section III, we
passwords, credit card numbers, mailing addresses, social
review Google Chrome browser, as an implementation
security numbers, etc. Those applications are designed to
example of the modular browser architecture. We analyze
be executed inside the web browser, which is a mediator
how Chrome responds to major threats on browser
between users and applications. Web browser exploits
security. Section IV describes related browsers based on
have bigger impact than ever before, and thus web browser
modular architecture and compares them with Chrome.
designers have to pay more attention to security than ever
The paper finishes with conclusions in Section V.
before. Knowing the security holes in the web browser,
attackers can create malicious web applications in order to
compromise other users’ security.
browser start up after the crash. But still, as a result of the
II. MULTI-PROCESS BROWSER crash user might lose valuable data (e.g. unsaved email
drafts, e-banking transactions, purchase orders) stored as a
As a result of recent break through in the Web JavaScript state in memory. After the browser restarts,
technology utilization contemporary web applications misbehaved application that caused crash might cause the
behave more like complex programs that demand crash again, in this case reload feature is pointless.
resources than simple documents for browsing. Most of Considering accountability, monolithic architecture
current web browser architectures are still monolithic, provides resources usage statistics for the entire web
usually designed for browsing and rendering static web browser. However, web program responsible for a poor
pages. Monolithic architectures do not provide enough performance of the entire browser can not be identified in
isolation between concurrently executed web programs a monolithic architecture. Another disadvantage of
and execution often ends in misbehavior as a lack of monolithic browser architecture is memory management.
security, fault-tolerance, memory management or Browser process in OS is a long life process compared to
performance. Early PC operating systems had same the life of web programs that are executed in the browser.
program isolation issues. MS-DOS and MacOS allocated Some web program running in the browser might require
single address space and programs interfered with each lot of memory allocation and contain memory leaks, which
other, unlike modern operating systems that isolate each can result in a large and fragmented memory space that is
program in its own separate process. Thus, modern allocated to the browser process. Once the web program
browser should isolate web programs and modularize their like that finishes, the memory still remains large and
execution assigning each web program to the specific fragmented. As far as performance is concerned,
operating system process within the browser. monolithic architectures can cause resource demanding
web programs to compete for CPU on with each other.
Also, monolithic architecture can block a browser UI
A. Monolithic browser architecture thread because web program's actions, like executing
synchronous XMLHttpRequest. Both of this causes user-
Figure 1 shows monolithic web browser architecture perceived delays on UI level and lower performance for
most common for current web browsers. In that the entire browser. Security of monolithic architectures
architecture, all web programs browser components are entirely rely on the browser components logic to
placed in a single operating system process. Document completely isolate different web programs and prevent any
Object Model (DOM) tree is a web page representation information flow between web objects in different web
that can be accessed and modified by the script code. programs. However, bugs omitted in browser design or
HTML Renderer component parses each page code and implementation, leave space for malicious web programs
generates DOM tree. JavaScript Engine is responsible for and attackers to install malware, steal files or access
running script code that manipulates DOM tree. private data and compromise user’s security.
Despite all its disadvantages, monolithic architecture is
preserved in the majority of web browser because it is
difficult and challenging to isolate web programs in the
browser and still keep browser compatibility. One
approach could be to isolate each web page in the browser,
but this would break many popular applications like sites
that use pop-up windows or embed content in a separate
frame from a different location. Another approach could
be to isolate web programs by their origins. However,
sometimes pages with different origins need to
communicate with each other and sometimes pages with
the same origins are not related at all.
REFERENCES