伴随着网络和浏览器性能的提高,前端的JavaScript应用也越来越丰富多样化, 其执行能力和性能的增强,也使得更多的重要逻辑从后端转向前端。同时这也意味着, JavaScript所承担的工作变得越来越重要,并且其自身的安全问题和安全需求也就越 加紧迫。如何在源码传输的前端环境中保护JavaScript应用代码的安全,阻止其被恶 意的分析和利用,对保护网络服务提供者的权益至关重要。
目前主流的JavaScript代码保护措施主要为精简、加密和混淆。JavaScript源码传 输的特性,使其要比传统的经过编译的二进制程序更加容易逆向分析,再加上浏览器 调试器的功能越来越完善,这些方法很难起到很好的保护效果。为了解决以上方法存 在的缺陷,保护关键的JavaScript的核心逻辑不被恶意的分析和使用,本文提出一种 基于WebAssembly的JavaScript代码虚拟化保护方法,一方面引入代码虚拟化的思想 保护JavaScript代码的执行逻辑;另一方面基于WebAssembly前端字节码技术编译实 现虚拟解释器,隐藏虚拟解释过程的核心逻辑。本文研究内容主要包括以下几个方面:
本站点旨在研究分析当前主流的JavaScript代码保护方法的基本原理、技术特点以及面临的安全挑战。针对JavaScript代码的安全问题,本文提出了一种基于代码虚拟化保护思想的JavaScript代码保护方案。
具体来说,本文研究了一种JavaScript代码虚拟化的保护方法,并设计了JavaScript脚本代码的虚拟化保护方案。该方案包括指令拆分、虚拟机架构、虚拟指令集、虚拟解释器以及指令映射编码规则等设计过程。同时,本文还研究了基于WebAssembly的虚拟解释器的设计,利用新的前端字节码技术对JavaScript虚拟化保护方案的虚拟解释器进行改进设计和编译实现,以保护和隐藏虚拟机架构的核心解释模块。
为了验证该方法的实用性和有效性,本文设计并实现了JavaScript代码虚拟化保护的原型系统,并选择实际用例和多种保护工具对原型系统进行实验评估和对比分析。该实验充分验证了该方法的可行性和优越性。
JSVMP交流群请添加微信:m3ng666