[Javascript] 虛擬機器

從0開始快速上手WebAssembly:打造基於WASM的高性能安全沙箱

https://mp.weixin.qq.com/s?__biz=MzUxMzcxMzE5Ng==&mid=2247503499&idx=2&sn=bd4e7a4d556309d5526f32fa83c3d3d5&chksm=f9527bc8ce25f2de6625057eaad4879f2a53ca23810d93bb45a009f7de1765a7535f34f39317&scene=27#wechat_redirect


使用 WebAssembly 並結合 QuickJS 打造高性能安全沙箱

https://cloud.tencent.com/developer/news/726651


談談微前端領域的js沙箱實現機制

https://mp.weixin.qq.com/s/IJMgMO1IeYw2Io8MN7WZWQ


以往的實踐中我們通常使用純 JavaScript 實現的 Crypto 庫來對相關資料加密,同時使用 UglifyJS、Google Closure Compiler 等混淆器進行相關加密代碼的混淆,以增加對應的破譯難度。但在目前的實踐之中由於流覽器自身的調試工具逐漸方便且強大,因此此類方法的安全性變得越來越脆弱。


考慮到這種情況,越來越多的公司開始將前端核心資料加密的相關邏輯遷移至 WebAssembly,依靠 WebAssembly 在整個過程中的編譯及二進位特性來提高對應資料加密邏輯的安全性,以此保障業務安全。對於這種方案而言,由於我們可以將 WebAssembly 視作一個全新的 VM,其他語言通過相關工具鏈(例如 Emscripten)來產出此 VM 可執行的代碼,其安全性相比於單純的 Crypto 庫加 JavaScript 混淆器而言具有比較明顯的優勢。



#sandbox, QuickJS, WebAssembly, 沙箱, 保護, 虛擬機器


留言