Skip to main content

Retargetting Legacy Browser Extensions to Modern Extension Frameworks

  • Conference paper
ECOOP 2014 – Object-Oriented Programming (ECOOP 2014)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8586))

Included in the following conference series:

  • 2161 Accesses

Abstract

Most modern Web browsers export a rich API allowing third-party extensions to access privileged browser objects that can also be misused by attacks directed against vulnerable ones. Web browser vendors have therefore recently developed new extension frameworks aimed at better isolating extensions while still allowing access to privileged browser state. For instance Google Chrome extension architecture and Mozilla’s Jetpack extension framework.

We present Morpheus, a tool to port legacy browser extensions to these new frameworks. Specifically, Morpheus targets legacy extensions for the Mozilla Firefox browser, and ports them to the Jetpack framework. We describe the key techniques used by Morpheus to analyze and transform legacy extensions so that they conform to the constraints imposed by Jetpack and simplify runtime policy enforcement. Finally, we present an experimental evaluation of Morpheus by applying it to port 52 legacy Firefox extensions to the Jetpack framework.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Doctor, J.S.: http://doctorjs.org/

  2. Jetpack, https://wiki.mozilla.org/Jetpack

  3. JSON, http://www.json.org/

  4. node.js, http://nodejs.org/

  5. Opera extensions, http://dev.opera.com/extension-docs/

  6. Safari extensions, https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/Introduction/Introduction.html

  7. Akahawe, D., Saxena, P., Song, D.: Privilege separation in HTML5 applications. In: USENIX Security Symp. (2012)

    Google Scholar 

  8. Bandhakavi, S., King, S.T., Madhusudan, P., Winslett, M.: Vetting browser extensions for security vulnerabilities with VEX. CACM 54(9) (September 2011)

    Google Scholar 

  9. Barth, A., Felt, A.P., Saxena, P., Boodman, A.: Protecting browsers from extension vulnerabilities. In: Network and Distributed Systems Security Symp. (2010)

    Google Scholar 

  10. Brumley, D., Song, D.: Privtrans: automatically partitioning programs for privilege separation. In: 13th USENIX Security Symp. (2004)

    Google Scholar 

  11. Carlini, N., Felt, A.P., Wagner, D.: An evaluation of the google chrome extension security architecture. In: USENIX Security Symp. (2012)

    Google Scholar 

  12. Chong, S., Liu, J., Myers, A.C., Qi, X., Vikram, K., Zheng, L., Zheng, X.: Secure web applications via automatic partitioning. SIGOPS Oper. Syst. Rev. 41(6) (2007)

    Google Scholar 

  13. Dhawan, M., Ganapathy, V.: Analyzing information flow in javascript-based browser extensions. In: Annual Computer Security Applications Conference (2009)

    Google Scholar 

  14. Djeric, V., Goel, A.: Securing script-based extensibility in web browsers. In: USENIX Security Symp. (2010)

    Google Scholar 

  15. Guha, A., Fredrikson, M., Livshits, B., Swamy, N.: Verified security for browser extensions. In: Proc. of IEEE Symp. on Security and Privacy (May 2011)

    Google Scholar 

  16. Hardy, N.: The confused deputy (or why capabilities might have been invented). SIGOPS Oper. Syst. Rev. 22(4) (October 1988)

    Google Scholar 

  17. Karim, R., Dhawan, M., Ganapathy, V., Shan, C.-c.: An analysis of the Mozilla Jetpack extension framework. In: Noble, J. (ed.) ECOOP 2012. LNCS, vol. 7313, pp. 333–355. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  18. Kilpatrick, D.: Privman: A Library for Partitioning Applications. In: USENIX Annual Technical Conference, FREENIX Track (2003)

    Google Scholar 

  19. Liu, L., Zhang, X., Yan, G., Chen, S.: Chrome Extensions: Threat Analysis and Countermeasures. In: Network and Distributed Systems Security Symp. (2012)

    Google Scholar 

  20. Mozilla. Add-on SDK, https://addons.mozilla.org/en-US/developers/docs/sdk/latest/

  21. Mozilla. Narcissus, http://mxr.mozilla.org/mozilla/source/js/narcissus/

  22. Mozilla. Query Interface, https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsISupports#QueryInterface

  23. Mozilla. Spidermonkey, https://developer.mozilla.org/en/SpiderMonkey

  24. Mozilla Developer Network. Electrolysis, https://wiki.mozilla.org/Electrolysis

  25. Mozilla Developer Network. XPCOM, http://developer.mozilla.org/en/XPCOM

  26. Myers, A.C.: Jflow: practical mostly-static information flow control. In: ACM Principles of Programming Languages (1999)

    Google Scholar 

  27. Onarlioglu, K., Battal, M., Robertson, W., Kirda, E.: Securing legacy firefox extensions with SENTINEL. In: Rieck, K., Stewin, P., Seifert, J.-P. (eds.) DIMVA 2013. LNCS, vol. 7967, pp. 122–138. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  28. Provos, N., Friedl, M., Honeyman, P.: Preventing privilege escalation. In: 12th USENIX Security Symp. (2003)

    Google Scholar 

  29. Addon SDK. Content proxy, https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/guides/content-scripts/accessing-the-dom.html

  30. Simon Willison. Understanding the Greasemonkey vulnerability, http://simonwillison.net/2005/Jul/20/vulnerability/

  31. Ter Louw, M., Lim, J.S., Venkatakrishnan, V.N.: Enhancing web browser security against malware extensions. J. Computer Virology 4 (2008)

    Google Scholar 

  32. Vardoulakis, D., Shivers, O.: CFA2: a context-free approach to control-flow analysis. In: Gordon, A.D. (ed.) ESOP 2010. LNCS, vol. 6012, pp. 570–589. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  33. Zdancewic, S., Zheng, L., Nystrom, N., Myers, A.C.: Secure program partitioning. ACM Trans. Comput. Syst. 20(3) (August 2002)

    Google Scholar 

  34. Zheng, L., Chong, S., Myers, A.C., Zdancewic, S.: Using Replication and Partitioning to Build Secure Distributed Systems. In: IEEE Symp. Security & Privacy (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Karim, R., Dhawan, M., Ganapathy, V. (2014). Retargetting Legacy Browser Extensions to Modern Extension Frameworks. In: Jones, R. (eds) ECOOP 2014 – Object-Oriented Programming. ECOOP 2014. Lecture Notes in Computer Science, vol 8586. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-44202-9_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-44202-9_19

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-44201-2

  • Online ISBN: 978-3-662-44202-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics