本发明专利技术提出了一种基于前后端分离架构的前端双随机多态混淆方法,所述方法包括:步骤3、对原始前端代码进行代码压缩并计算压缩后代码的代码hash值;步骤4、对前端代码的各个目标替换字符分别计算其多态变异参数;步骤5、将前端代码中目标替换字符替换为其对应的多态变异参数,完成前端代码的混淆,并将混淆后的代码返回给前端;借由上述方法使得每次查询前端代码时所看到的代码均不同,增加了入侵者对前端代码的破解难度,提升了前端代码的安全性。性。性。
【技术实现步骤摘要】
一种基于前后端分离架构的前端双随机多态混淆方法
[0001]本专利技术涉及软件安全领域,具体涉及一种基于前后端分离架构的前端双随机多态混淆方法。
技术介绍
[0002]前端混淆技术即通过对前端代码的替换、加密,实现当第三方在通过请求的方式查看前端暴露的脚本时,无法直接获得前端代码的明文信息,确保了前端代码的安全性。
[0003]然而,当前的前端混淆技术均是静态方法,即无论何时入侵者查看前端代码时,获得的前端代码信息都是相同的,利用这一特征入侵者可通过对比和推理还原已混淆的前端代码。例如,入侵者分别查看两段前端代码A和B可得到混淆后的代码A1和B1,无论何时,A1和B1均不会发生变化;此时,通过反复对比A1、B1中的相同词语,破解关键的方法名或算法,还原整个前端代码。
[0004]由于上述缺陷的存在,使得前端混淆技术的安全性大大降低,不利于前端代码的保护。
技术实现思路
[0005]针对上述存在的拘束局限性,本专利技术提出了一种基于前后端分离架构的前端双随机多态混淆方法,通过引入前端的当前时间戳和后端的后端报文随机字母这两个随机值,并在后端对前端代码进行混淆,实现了前端代码的动态随机混淆,有利于提升前端代码混淆的可靠性。
[0006]为实现上述目的,本专利技术采用了以下技术方案:一种基于前后端分离架构的前端双随机多态混淆方法,所述方法包括:步骤3、对原始前端代码进行代码压缩并计算压缩后代码的代码hash值;步骤4、对前端代码的各个目标替换字符分别计算其多态变异参数;步骤5、将前端代码中目标替换字符替换为其对应的多态变异参数,完成前端代码的混淆,并将混淆后的代码返回给前端。
[0007]步骤4中,计算所述多态变异参数的方法具体包括:步骤41、获得目标替换字符;步骤42、计算原始变异参数,具体计算方式为:对当前时间戳、代码hash值、后端报文随机字母、目标替换字符按顺序进行加和;所述当前时间戳、代码hash值、后端报文随机字母、目标替换字符均为二进制值;步骤43、将步骤42中得到的原始变异参数进行编码,得到目标替换字符的多态变异参数。
[0008]本专利技术与现有技术相对比,本专利技术具有以下优点:在前后分离架构中,前后端分别提供一个随机值,即当前时间戳及后端报文随机字母,实现了双随机的效果,使得每次查询前端代码时所看到的代码均不同,增加了入侵者
对前端代码的破解难度,提升了前端代码的安全性。
[0009]具体地,虽然入侵者可以在前端中产看到算法模块,但是却无法还原双随机中的随机值。同时,算法代码模块和业务代码模块都会进行混淆,以增加查找难度。
[0010]在前后端分离框架中,每次触发后端进行数据返回,都会对前端的代码进行重载,从而保证前端混淆的多态。
[0011]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
[0012]图1为本专利技术实施例提供的一种前端双随机多态混淆方法的步骤图。
[0013]图2为本专利技术实施例提供的一种多态变异参数计算方法的步骤图。
具体实施方式
[0014]以下由特定的具体实施例说明本专利技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本专利技术的其他优点及功效,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为了进一步了解本专利技术,下面结合最佳实施例对本专利技术作进一步的详细说明。
[0015]本专利技术的专利技术点是提供一种基于前后端分离架构的前端双随机多态混淆方法;参考图1所示,所述方法包括以下步骤:步骤1、前端向后端服务器发出前端代码查询请求;步骤2、后端服务器接收到所述前端代码查询请求后,从后端代码库中获取相应的原始前端代码;步骤3、后端服务器对所述原始前端代码进行代码压缩并计算压缩后代码的代码hash值;步骤4、后端服务器对前端代码的各个目标替换字符分别计算其多态变异参数;所述目标替换字符包括变量名称、函数名称、常量名称;步骤5、后端服务器将前端代码中目标替换字符替换为其对应的多态变异参数,完成前端代码的混淆,并将混淆后的代码返回给前端。
[0016]需要说明的是,不同于传统的静态混淆方法,在前后端分离框架中,每次触发后端进行数据返回,都对前端代码进行混淆重载,保证了前端混淆的多态与随机性。
[0017]参考图2所示,步骤4中,计算所述多态变异参数的方法具体包括:步骤41、获得目标替换字符;步骤42、计算原始变异参数,具体计算方式为:对当前时间戳、代码hash值、后端报文随机字母、目标替换字符按顺序进行加和;所述当前时间戳、代码hash值、后端报文随机字母、目标替换字符均为二进制值;步骤43、将步骤42中得到的原始变异参数进行编码,得到目标替换字符的多态变异参数。
[0018]需要说明的是,所述当前时间戳作为一种随机值由前端(服务器端或时钟服务器)产生;所述后端报文随机字母作为另一随机值由后端产生;二者达到双随机效果,此时尽管入侵者能够在前端中查看到前端代码的算法模块,但无法还原双随机中的随机值。并且由于前端代码中的算法模块与业务代码模块均会进行混淆,也增加了入侵者的查找难度。
[0019]具体而言,由于在前端代码混淆过程中融入了时间、代码压缩hash值和系统名称这三个动态的值,这将带来以下效果:当入侵者查看前端代码A时,获得混淆代码A1;为进行反向推论,入侵者需要查看前端代码B,此时其得到混淆代码B49,而不是B1。这将导致入侵者无法验证推论,从而无法进行还原。
[0020]入侵者此时再返回前端代码A时,若再次查看前端代码A,由于时间戳及后端报文随机字母变化,其将得到混淆后的前端代码A276,而不是一开始的A1;此时,入侵者对于A1的推论已经无法查看,更难以进行代码复盘和逻辑推论。
[0021]为便于理解所述步骤42中的计算所述多态变异参数的方法,列举实例如下:目标替换字符为getArrayAfterChanged;当前时间戳为1676184694;代码hash值为:37ce616d8ee59b5541354ab00bc056293ddfacfd019d9aaa8bfb4f1c63cc923d;后端报文随机字母为:H6Sa12。
[0022]将所述目标替换字符、代码hash值、后端报文随机字母转换为二进制,得到以下结果:时间戳转换为二进制,得到的二进制时间戳如下:00110001 00110110 0011011100110110 00110001 00111000 00110100 00110110 00111001 00110100;代码hash值转换为二进制,得到的二进制代码hash值如下:00110011 00110111 01100011011001本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于前后端分离架构的前端双随机多态混淆方法,其特征在于,所述方法包括:步骤3、对原始前端代码进行代码压缩并计算压缩后代码的代码hash值;步骤4、对前端代码的各个目标替换字符分别计算其多态变异参数;步骤5、将前端代码中目标替换字符替换为其对应的多态变异参数,完成前端代码的混淆,并将混淆后的代码返回给前端。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:步骤1、前端向后端服务器发出前端代码查询请求;步骤2、后端服务器接收到所述前端代码查询请求后,从后端代码库中获取相应的原始前端代码。3.根据权利要求1所述的方法,其特征在于,步骤3
‑
5均由后端服务器完成。4.根据权利要求1所述的方法,其特征在于,步骤3中,所述代码压缩通过以下方式实现:步骤31、去除前端代码中的无意义字符;所述无意义字符包括空格、空行及无意义的转义字符;步骤32、对步骤11中所得到的前端代码计算代码hash值。5.根据权利要求1所述的方法,其特征在于,所述代码hash值的计算通过MD5算法、SHA1算法、SHA256算法中的任意一种实现。6.根据权利要求1所述的方法,其特征在于,步骤4中,计算所述多态变异参数的方法具体包括:步骤41...
【专利技术属性】
技术研发人员:王洪哲,关锋,丁兆俊,王克照,秦漫,叶海峰,曲金凤,付裕,陈思文,范政阳,宋国喜,杨程杰,
申请(专利权)人:北京有生博大软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。