Flashproxy: transparently enabling rich web content via remote execution

Flashproxy: transparently enabling rich web content via remote execution
复制标题

Flashproxy:通过远程执行透明地启用丰富的 Web 内容

DOI:
10.1145/1378600.1378611
复制
发表时间:
2008
期刊:
--
影响因子:
--
通讯作者:
H. Levy
H. Levy
中科院分区:
--
文献类型:
--
作者:
Alexander Moshchuk;S. Gribble;H. Levy

文献摘要

被引文献

相似文献

现在,Web站点通常使用活动Web内容(如Flash、Silverlight或Java applet)来支持丰富的交互式应用程序。然而,对于许多移动的设备,支持活动内容是有问题的。首先,执行活动内容的浏览器插件的物理资源要求可能超出设备的能力。其次,插件对于许多设备来说根本不可用。最后,活动代码和执行它的插件通常包含安全漏洞,可能会使用户的设备或私人数据受到损害。 本文探讨了一种基于代理的方法,透明地支持活动的Web内容的移动的设备。我们的方法使用一个代理来拼接Web页面中的活动内容,并将其替换为基于AJAX的远程显示组件。拼接的活动内容在代理上的远程沙箱中执行,但它显示为嵌入在移动终端的浏览器上的Web页面中。 为了证明这种方法的可行性,我们设计,实施和评估Flashproxy。通过使用Flashproxy,任何支持JavaScript的移动的Web浏览器都可以透明地继承访问包含Flash程序的站点的能力。Flashproxy中的主要挑战是捕获和处理Flash程序及其执行环境之间的交互,包括浏览器交互。Flashproxy使用Flash字节码的二进制重写来处理这种交互,通过基于JavaScript的RPC层将它们重定向到用户的浏览器。我们对Flashproxy的评估表明,它是透明的,高性能的,并且与我们检查的几乎所有Flash程序兼容。
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.