Defeating script injection attacks with browser-enforced embedded policies
Authors:
Open Access
- 8 May 2007
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 601-610
Abstract
Web sites that accept and display content such as wiki articles or comments typically filter the content to prevent injected script code from running in browsers that view the site. The diversity of browser rendering algorithms and the desire to allow rich content make filtering quite difficult, however, and attacks such as the Samy and Yamanner worms have exploited filtering weaknesses. This paper proposes a simple alternative mechanism for preventing script injection called Browser-Enforced Embedded Policies (BEEP). The idea is that a web site can embed a policy in its pages that specifies which scripts are allowed to run. The browser, which knows exactly when it will run a script, can enforce this policy perfectly. We have added BEEP support to several browsers, and built tools to simplify adding policies to web applications. We found that supporting BEEP in browsers requires only small and localized modifications, modifying web applications requires minimal effort, and enforcing policies is generally lightweight.Keywords
This publication has 11 references indexed in Scilit:
- JavaScript instrumentation for browser security2007
- Badvertisements: Stealthy Click-Fraud with Unwitting AccessoriesJournal of Digital Forensic Practice, 2006
- Precise alias analysis for static detection of web application vulnerabilities2006
- Protecting browser state from web privacy attacks2006
- Noxes2006
- The essence of command injection attacks in web applications2006
- Defending Against Injection Attacks Through Context-Sensitive String Evaluation2006
- Detecting Malicious JavaScript Code in Mozilla2005
- Edit automata: enforcement mechanisms for run-time security policiesInternational Journal of Information Security, 2005
- Automatically Hardening Web Applications Using Precise Tainting2005