Loading…

ConScript: Specifying and Enforcing Fine-Grained Security Policies for JavaScript in the Browser

Much of the power of modern Web comes from the ability of a Web page to combine content and JavaScript code from disparate servers on the same page. While the ability to create such mash-ups is attractive for both the user and the developer because of extra functionality, code inclusion effectively...

Full description

Saved in:
Bibliographic Details
Main Authors: Meyerovich, Leo A, Livshits, Benjamin
Format: Conference Proceeding
Language:English
Subjects:
Online Access:Request full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by
cites
container_end_page 496
container_issue
container_start_page 481
container_title
container_volume
creator Meyerovich, Leo A
Livshits, Benjamin
description Much of the power of modern Web comes from the ability of a Web page to combine content and JavaScript code from disparate servers on the same page. While the ability to create such mash-ups is attractive for both the user and the developer because of extra functionality, code inclusion effectively opens the hosting site up for attacks and poor programming practices within every JavaScript library or API it chooses to use. In other words, expressiveness comes at the price of losing control. To regain the control, it is therefore valuable to provide means for the hosting page to restrict the behavior of the code that the page may include. This paper presents ConScript, a client-side advice implementation for security, built on top of Internet Explorer 8. ConScript allows the hosting page to express fine-grained application-specific security policies that are enforced at runtime. In addition to presenting 17 widely-ranging security and reliability policies that ConScript enables, we also show how policies can be generated automatically through static analysis of server-side code or runtime analysis of client-side code. We also present a type system that helps ensure correctness of ConScript policies. To show the practicality of ConScript in a range of settings, we compare the overhead of ConScript enforcement and conclude that it is significantly lower than that of other systems proposed in the literature, both on micro-benchmarks as well as large, widely-used applications such as MSN, GMail, Google Maps, and Live Desktop.
doi_str_mv 10.1109/SP.2010.36
format conference_proceeding
fullrecord <record><control><sourceid>ieee_6IE</sourceid><recordid>TN_cdi_ieee_primary_5504806</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>5504806</ieee_id><sourcerecordid>5504806</sourcerecordid><originalsourceid>FETCH-LOGICAL-i241t-fdca4e6639857120f88734f27088233fb275e73429f349cd57097f277220899a3</originalsourceid><addsrcrecordid>eNo1j8tOwzAURM1LIi3dsGXjH0i5vrZjmx1UbQFVolJgXYxjg1FJIieA-vcEFVajmTMaaQg5ZzBlDMxluZ4iDIYXB2TEBApRaCPVIcmQK5kzBHVEJkbpfybwmGQMNMsLYOyUjLruHQCBG5GR51lTly7Ftr-iZetdDLtYv1JbV3Rehya5X7eItc-XyQ5S0dK7zxT7HV032-ii7-hQo_f2y-53aKxp_-bpTWq-O5_OyEmw285P_nRMnhbzx9ltvnpY3s2uV3lEwfo8VM4KXxTcaKmGD0FrxUVABVoj5-EFlfRDgiZwYVwlFRg1YIUI2hjLx-Rivxu995s2xQ-bdhspQWgo-A-rjFWa</addsrcrecordid><sourcetype>Publisher</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype></control><display><type>conference_proceeding</type><title>ConScript: Specifying and Enforcing Fine-Grained Security Policies for JavaScript in the Browser</title><source>IEEE Electronic Library (IEL) Conference Proceedings</source><creator>Meyerovich, Leo A ; Livshits, Benjamin</creator><creatorcontrib>Meyerovich, Leo A ; Livshits, Benjamin</creatorcontrib><description>Much of the power of modern Web comes from the ability of a Web page to combine content and JavaScript code from disparate servers on the same page. While the ability to create such mash-ups is attractive for both the user and the developer because of extra functionality, code inclusion effectively opens the hosting site up for attacks and poor programming practices within every JavaScript library or API it chooses to use. In other words, expressiveness comes at the price of losing control. To regain the control, it is therefore valuable to provide means for the hosting page to restrict the behavior of the code that the page may include. This paper presents ConScript, a client-side advice implementation for security, built on top of Internet Explorer 8. ConScript allows the hosting page to express fine-grained application-specific security policies that are enforced at runtime. In addition to presenting 17 widely-ranging security and reliability policies that ConScript enables, we also show how policies can be generated automatically through static analysis of server-side code or runtime analysis of client-side code. We also present a type system that helps ensure correctness of ConScript policies. To show the practicality of ConScript in a range of settings, we compare the overhead of ConScript enforcement and conclude that it is significantly lower than that of other systems proposed in the literature, both on micro-benchmarks as well as large, widely-used applications such as MSN, GMail, Google Maps, and Live Desktop.</description><identifier>ISSN: 1081-6011</identifier><identifier>ISBN: 9781424468942</identifier><identifier>ISBN: 1424468949</identifier><identifier>EISSN: 2375-1207</identifier><identifier>EISBN: 1424468957</identifier><identifier>EISBN: 9781424468959</identifier><identifier>DOI: 10.1109/SP.2010.36</identifier><language>eng</language><publisher>IEEE</publisher><subject>aspects ; browsers ; Computer bugs ; Functional programming ; HTML ; Internet ; Java ; JavaScript ; language security ; Libraries ; Privacy ; Runtime ; Security ; security policies ; Web and client-side programming ; Web pages</subject><ispartof>2010 IEEE Symposium on Security and Privacy, 2010, p.481-496</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/5504806$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>309,310,780,784,789,790,2058,27925,54555,54920,54932</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/5504806$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Meyerovich, Leo A</creatorcontrib><creatorcontrib>Livshits, Benjamin</creatorcontrib><title>ConScript: Specifying and Enforcing Fine-Grained Security Policies for JavaScript in the Browser</title><title>2010 IEEE Symposium on Security and Privacy</title><addtitle>SP</addtitle><description>Much of the power of modern Web comes from the ability of a Web page to combine content and JavaScript code from disparate servers on the same page. While the ability to create such mash-ups is attractive for both the user and the developer because of extra functionality, code inclusion effectively opens the hosting site up for attacks and poor programming practices within every JavaScript library or API it chooses to use. In other words, expressiveness comes at the price of losing control. To regain the control, it is therefore valuable to provide means for the hosting page to restrict the behavior of the code that the page may include. This paper presents ConScript, a client-side advice implementation for security, built on top of Internet Explorer 8. ConScript allows the hosting page to express fine-grained application-specific security policies that are enforced at runtime. In addition to presenting 17 widely-ranging security and reliability policies that ConScript enables, we also show how policies can be generated automatically through static analysis of server-side code or runtime analysis of client-side code. We also present a type system that helps ensure correctness of ConScript policies. To show the practicality of ConScript in a range of settings, we compare the overhead of ConScript enforcement and conclude that it is significantly lower than that of other systems proposed in the literature, both on micro-benchmarks as well as large, widely-used applications such as MSN, GMail, Google Maps, and Live Desktop.</description><subject>aspects</subject><subject>browsers</subject><subject>Computer bugs</subject><subject>Functional programming</subject><subject>HTML</subject><subject>Internet</subject><subject>Java</subject><subject>JavaScript</subject><subject>language security</subject><subject>Libraries</subject><subject>Privacy</subject><subject>Runtime</subject><subject>Security</subject><subject>security policies</subject><subject>Web and client-side programming</subject><subject>Web pages</subject><issn>1081-6011</issn><issn>2375-1207</issn><isbn>9781424468942</isbn><isbn>1424468949</isbn><isbn>1424468957</isbn><isbn>9781424468959</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2010</creationdate><recordtype>conference_proceeding</recordtype><sourceid>6IE</sourceid><recordid>eNo1j8tOwzAURM1LIi3dsGXjH0i5vrZjmx1UbQFVolJgXYxjg1FJIieA-vcEFVajmTMaaQg5ZzBlDMxluZ4iDIYXB2TEBApRaCPVIcmQK5kzBHVEJkbpfybwmGQMNMsLYOyUjLruHQCBG5GR51lTly7Ftr-iZetdDLtYv1JbV3Rehya5X7eItc-XyQ5S0dK7zxT7HV032-ii7-hQo_f2y-53aKxp_-bpTWq-O5_OyEmw285P_nRMnhbzx9ltvnpY3s2uV3lEwfo8VM4KXxTcaKmGD0FrxUVABVoj5-EFlfRDgiZwYVwlFRg1YIUI2hjLx-Rivxu995s2xQ-bdhspQWgo-A-rjFWa</recordid><startdate>20100101</startdate><enddate>20100101</enddate><creator>Meyerovich, Leo A</creator><creator>Livshits, Benjamin</creator><general>IEEE</general><scope>6IE</scope><scope>6IH</scope><scope>CBEJK</scope><scope>RIE</scope><scope>RIO</scope></search><sort><creationdate>20100101</creationdate><title>ConScript: Specifying and Enforcing Fine-Grained Security Policies for JavaScript in the Browser</title><author>Meyerovich, Leo A ; Livshits, Benjamin</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-i241t-fdca4e6639857120f88734f27088233fb275e73429f349cd57097f277220899a3</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2010</creationdate><topic>aspects</topic><topic>browsers</topic><topic>Computer bugs</topic><topic>Functional programming</topic><topic>HTML</topic><topic>Internet</topic><topic>Java</topic><topic>JavaScript</topic><topic>language security</topic><topic>Libraries</topic><topic>Privacy</topic><topic>Runtime</topic><topic>Security</topic><topic>security policies</topic><topic>Web and client-side programming</topic><topic>Web pages</topic><toplevel>online_resources</toplevel><creatorcontrib>Meyerovich, Leo A</creatorcontrib><creatorcontrib>Livshits, Benjamin</creatorcontrib><collection>IEEE Electronic Library (IEL) Conference Proceedings</collection><collection>IEEE Proceedings Order Plan (POP) 1998-present by volume</collection><collection>IEEE Xplore All Conference Proceedings</collection><collection>IEEE/IET Electronic Library (IEL)</collection><collection>IEEE Proceedings Order Plans (POP) 1998-present</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Meyerovich, Leo A</au><au>Livshits, Benjamin</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>ConScript: Specifying and Enforcing Fine-Grained Security Policies for JavaScript in the Browser</atitle><btitle>2010 IEEE Symposium on Security and Privacy</btitle><stitle>SP</stitle><date>2010-01-01</date><risdate>2010</risdate><spage>481</spage><epage>496</epage><pages>481-496</pages><issn>1081-6011</issn><eissn>2375-1207</eissn><isbn>9781424468942</isbn><isbn>1424468949</isbn><eisbn>1424468957</eisbn><eisbn>9781424468959</eisbn><abstract>Much of the power of modern Web comes from the ability of a Web page to combine content and JavaScript code from disparate servers on the same page. While the ability to create such mash-ups is attractive for both the user and the developer because of extra functionality, code inclusion effectively opens the hosting site up for attacks and poor programming practices within every JavaScript library or API it chooses to use. In other words, expressiveness comes at the price of losing control. To regain the control, it is therefore valuable to provide means for the hosting page to restrict the behavior of the code that the page may include. This paper presents ConScript, a client-side advice implementation for security, built on top of Internet Explorer 8. ConScript allows the hosting page to express fine-grained application-specific security policies that are enforced at runtime. In addition to presenting 17 widely-ranging security and reliability policies that ConScript enables, we also show how policies can be generated automatically through static analysis of server-side code or runtime analysis of client-side code. We also present a type system that helps ensure correctness of ConScript policies. To show the practicality of ConScript in a range of settings, we compare the overhead of ConScript enforcement and conclude that it is significantly lower than that of other systems proposed in the literature, both on micro-benchmarks as well as large, widely-used applications such as MSN, GMail, Google Maps, and Live Desktop.</abstract><pub>IEEE</pub><doi>10.1109/SP.2010.36</doi><tpages>16</tpages></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 1081-6011
ispartof 2010 IEEE Symposium on Security and Privacy, 2010, p.481-496
issn 1081-6011
2375-1207
language eng
recordid cdi_ieee_primary_5504806
source IEEE Electronic Library (IEL) Conference Proceedings
subjects aspects
browsers
Computer bugs
Functional programming
HTML
Internet
Java
JavaScript
language security
Libraries
Privacy
Runtime
Security
security policies
Web and client-side programming
Web pages
title ConScript: Specifying and Enforcing Fine-Grained Security Policies for JavaScript in the Browser
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-27T05%3A36%3A34IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-ieee_6IE&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=ConScript:%20Specifying%20and%20Enforcing%20Fine-Grained%20Security%20Policies%20for%20JavaScript%20in%20the%20Browser&rft.btitle=2010%20IEEE%20Symposium%20on%20Security%20and%20Privacy&rft.au=Meyerovich,%20Leo%20A&rft.date=2010-01-01&rft.spage=481&rft.epage=496&rft.pages=481-496&rft.issn=1081-6011&rft.eissn=2375-1207&rft.isbn=9781424468942&rft.isbn_list=1424468949&rft_id=info:doi/10.1109/SP.2010.36&rft.eisbn=1424468957&rft.eisbn_list=9781424468959&rft_dat=%3Cieee_6IE%3E5504806%3C/ieee_6IE%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-i241t-fdca4e6639857120f88734f27088233fb275e73429f349cd57097f277220899a3%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_id=info:pmid/&rft_ieee_id=5504806&rfr_iscdi=true