微软的WRipley在服务器端克隆客户端运行环境
2009-11-11 Solidot
在芝加哥举行的计算机和通信安全会议上,微软提出了一种方法让富Web应用变得更安全。 流行的AJAX或Web 2.0应用程序如Hotmail、Google Maps、Facebook,都由服务器端和客户端组件组成,服务器端可能是用Java J2EE或ASP.NET实现,客户端代码则是在JavaScript中执行。恶意用户可以简单通过破坏客户端而获得敏感的服务端数据。
微软提出了Ripley这 一解决方法,通过在服务器端克隆出一个客户端计算环境的拷贝而阻止恶意用户或黑客修改客户端的代码。Ripley将用户的动作,包含鼠标点击、按键或其它 输入,以压缩过的事件流(event stream)形式从客户端发送到服务端。事件流然后在服务端运行的克隆客户端上重现。如果两者发生了差异,Ripley将中断客户端连接。微软 Ripley项目首席开发者Ben Livshits说, 你不能相信客户端发生的事情。Ripley并不是克隆完整的浏览器环境,否则每个浏览器实例都要占用50到60MB内存,Ripley使用 “headless browser”——模拟浏览器功能的模拟器,可减少内存占用。Ripley用.Net程序克隆Web应用程序,微软称.Net的速度是 JavaScript的10到100倍,因此Ripley能在客户端发出新请求之前抢先把数据推送到客户端。