Flashproxy: transparently enabling rich web content via remote execution

  • Authors:
  • Alex Moshchuk;Steven D. Gribble;Henry M. Levy

  • Affiliations:
  • University of Washington, Seattle, WA, USA;University of Washington, Seattle, WA, USA;University of Washington, Seattle, WA, USA

  • Venue:
  • Proceedings of the 6th international conference on Mobile systems, applications, and services
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

It is now common for Web sites to use active Web content, such as Flash, Silverlight, or Java applets, to support rich, interactive applications. For many mobile devices, however, supporting active content is problematic. First, the physical resource requirements of the browser plug-ins that execute active content may exceed the capabilities of the device. Second, plug-ins are simply not available for many devices. Finally, active code and the plug-ins that execute it often contain security flaws, potentially exposing a user's device or private data to harm. This paper explores a proxy-based approach for transparently supporting active Web content on mobile devices. Our approach uses a proxy to splice active content out of Web pages and replace it with an AJAX-based remote display component. The spliced active content executes within a remote sandbox on the proxy, but it appears embedded in the Web page on the mobile device's browser. To demonstrate the viability of this approach, we have designed, implemented, and evaluated Flashproxy. By using Flashproxy, any mobile Web browser that supports JavaScript transparently inherits the ability to access sites that contain Flash programs. The major challenge in Flashproxy is in trapping and handling interactions between the Flash program and its execution environment, including browser interactions. Flashproxy uses binary rewriting of Flash bytecode to interpose on such interactions, redirecting them through a JavaScript-based RPC layer to the user's browser. Our evaluation of Flashproxy shows that it is transparent, performant, and compatible with nearly all Flash programs that we examined.