微軟Ripley克隆客戶端計(jì)算環(huán)境阻止惡意攻擊
《MIT技術(shù)評論》報(bào)道,在芝加哥舉行的計(jì)算機(jī)和通信安全會(huì)議上,微軟提出了一種解決方法Ripley,可以讓富Web應(yīng)用變得更安全。
流行的AJAX或Web 2.0應(yīng)用程序如Hotmail、Google Maps、Facebook,都由服務(wù)器端和客戶端組件組成,服務(wù)器端可能是用Java J2EE或ASP.NET實(shí)現(xiàn),客戶端代碼則是在JavaScript中執(zhí)行。惡意用戶可以簡單通過破壞客戶端而獲得敏感的服務(wù)端數(shù)據(jù)。
微軟提出的Ripley解決方法通過在服務(wù)器端克隆出一個(gè)客戶端計(jì)算環(huán)境的拷貝而阻止惡意用戶或黑客修改客戶端的代碼。Ripley將用戶的動(dòng)作,包含鼠標(biāo)點(diǎn)擊、按鍵或其它 輸入,以壓縮過的事件流(event stream)形式從客戶端發(fā)送到服務(wù)端。事件流然后在服務(wù)端運(yùn)行的克隆客戶端上重現(xiàn)。如果兩者發(fā)生了差異,Ripley將中斷客戶端連接。
微軟 Ripley項(xiàng)目首席開發(fā)者Ben Livshits說,你不能相信客戶端發(fā)生的事情。Ripley并不是克隆完整的瀏覽器環(huán)境,否則每個(gè)瀏覽器實(shí)例都要占用50到60MB內(nèi)存,Ripley使用 “headless browser”——模擬瀏覽器功能的模擬器,可減少內(nèi)存占用。Ripley用.Net程序克隆Web應(yīng)用程序,微軟稱.Net的速度是 JavaScript的10到100倍,因此Ripley能在客戶端發(fā)出新請求之前搶先把數(shù)據(jù)推送到客戶端。
【編輯推薦】