CN115935303B - 一种基于前后端分离架构的前端双随机多态混淆方法 - Google Patents

一种基于前后端分离架构的前端双随机多态混淆方法 Download PDF

Info

Publication number
CN115935303B
CN115935303B CN202310238451.8A CN202310238451A CN115935303B CN 115935303 B CN115935303 B CN 115935303B CN 202310238451 A CN202310238451 A CN 202310238451A CN 115935303 B CN115935303 B CN 115935303B
Authority
CN
China
Prior art keywords
code
target replacement
random
algorithm
hash value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310238451.8A
Other languages
English (en)
Other versions
CN115935303A (zh
Inventor
王洪哲
关锋
丁兆俊
王克照
秦漫
叶海峰
曲金凤
付裕
陈思文
范政阳
宋国喜
杨程杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yousheng Boda Software Co ltd
Original Assignee
Beijing Yousheng Boda Software Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Yousheng Boda Software Co ltd filed Critical Beijing Yousheng Boda Software Co ltd
Priority to CN202310238451.8A priority Critical patent/CN115935303B/zh
Publication of CN115935303A publication Critical patent/CN115935303A/zh
Application granted granted Critical
Publication of CN115935303B publication Critical patent/CN115935303B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Document Processing Apparatus (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Investigating Or Analysing Biological Materials (AREA)

Abstract

本发明提出了一种基于前后端分离架构的前端双随机多态混淆方法,所述方法包括:步骤3、对原始前端代码进行代码压缩并计算压缩后代码的代码hash值;步骤4、对前端代码的各个目标替换字符分别计算其多态变异参数;步骤5、将前端代码中目标替换字符替换为其对应的多态变异参数,完成前端代码的混淆,并将混淆后的代码返回给前端;借由上述方法使得每次查询前端代码时所看到的代码均不同,增加了入侵者对前端代码的破解难度,提升了前端代码的安全性。

Description

一种基于前后端分离架构的前端双随机多态混淆方法
技术领域
本发明涉及软件安全领域,具体涉及一种基于前后端分离架构的前端双随机多态混淆方法。
背景技术
前端混淆技术即通过对前端代码的替换、加密,实现当第三方在通过请求的方式查看前端暴露的脚本时,无法直接获得前端代码的明文信息,确保了前端代码的安全性。
然而,当前的前端混淆技术均是静态方法,即无论何时入侵者查看前端代码时,获得的前端代码信息都是相同的,利用这一特征入侵者可通过对比和推理还原已混淆的前端代码。例如,入侵者分别查看两段前端代码A和B可得到混淆后的代码A1和B1,无论何时,A1和B1均不会发生变化;此时,通过反复对比A1、B1中的相同词语,破解关键的方法名或算法,还原整个前端代码。
由于上述缺陷的存在,使得前端混淆技术的安全性大大降低,不利于前端代码的保护。
发明内容
针对上述存在的拘束局限性,本发明提出了一种基于前后端分离架构的前端双随机多态混淆方法,通过引入前端的当前时间戳和后端的后端报文随机字母这两个随机值,并在后端对前端代码进行混淆,实现了前端代码的动态随机混淆,有利于提升前端代码混淆的可靠性。
为实现上述目的,本发明采用了以下技术方案:
一种基于前后端分离架构的前端双随机多态混淆方法,所述方法包括:
步骤3、对原始前端代码进行代码压缩并计算压缩后代码的代码hash值;
步骤4、对前端代码的各个目标替换字符分别计算其多态变异参数;
步骤5、将前端代码中目标替换字符替换为其对应的多态变异参数,完成前端代码的混淆,并将混淆后的代码返回给前端。
步骤4中,计算所述多态变异参数的方法具体包括:
步骤41、获得目标替换字符;
步骤42、计算原始变异参数,具体计算方式为:对当前时间戳、代码hash值、后端报文随机字母、目标替换字符按顺序进行加和;
所述当前时间戳、代码hash值、后端报文随机字母、目标替换字符均为二进制值;
步骤43、将步骤42中得到的原始变异参数进行编码,得到目标替换字符的多态变异参数。
本发明与现有技术相对比,本发明具有以下优点:
在前后分离架构中,前后端分别提供一个随机值,即当前时间戳及后端报文随机字母,实现了双随机的效果,使得每次查询前端代码时所看到的代码均不同,增加了入侵者对前端代码的破解难度,提升了前端代码的安全性。
具体地,虽然入侵者可以在前端中产看到算法模块,但是却无法还原双随机中的随机值。同时,算法代码模块和业务代码模块都会进行混淆,以增加查找难度。
在前后端分离框架中,每次触发后端进行数据返回,都会对前端的代码进行重载,从而保证前端混淆的多态。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为本发明实施例提供的一种前端双随机多态混淆方法的步骤图。
图2为本发明实施例提供的一种多态变异参数计算方法的步骤图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了进一步了解本发明,下面结合最佳实施例对本发明作进一步的详细说明。
本发明的发明点是提供一种基于前后端分离架构的前端双随机多态混淆方法;
参考图1所示,所述方法包括以下步骤:
步骤1、前端向后端服务器发出前端代码查询请求;
步骤2、后端服务器接收到所述前端代码查询请求后,从后端代码库中获取相应的原始前端代码;
步骤3、后端服务器对所述原始前端代码进行代码压缩并计算压缩后代码的代码hash值;
步骤4、后端服务器对前端代码的各个目标替换字符分别计算其多态变异参数;
所述目标替换字符包括变量名称、函数名称、常量名称;
步骤5、后端服务器将前端代码中目标替换字符替换为其对应的多态变异参数,完成前端代码的混淆,并将混淆后的代码返回给前端。
需要说明的是,不同于传统的静态混淆方法,在前后端分离框架中,每次触发后端进行数据返回,都对前端代码进行混淆重载,保证了前端混淆的多态与随机性。
参考图2所示,步骤4中,计算所述多态变异参数的方法具体包括:
步骤41、获得目标替换字符;
步骤42、计算原始变异参数,具体计算方式为:对当前时间戳、代码hash值、后端报文随机字母、目标替换字符按顺序进行加和;
所述当前时间戳、代码hash值、后端报文随机字母、目标替换字符均为二进制值;
步骤43、将步骤42中得到的原始变异参数进行编码,得到目标替换字符的多态变异参数。
需要说明的是,所述当前时间戳作为一种随机值由前端(服务器端或时钟服务器)产生;所述后端报文随机字母作为另一随机值由后端产生;二者达到双随机效果,此时尽管入侵者能够在前端中查看到前端代码的算法模块,但无法还原双随机中的随机值。并且由于前端代码中的算法模块与业务代码模块均会进行混淆,也增加了入侵者的查找难度。
具体而言,由于在前端代码混淆过程中融入了时间、代码压缩hash值和系统名称这三个动态的值,这将带来以下效果:
当入侵者查看前端代码A时,获得混淆代码A1;为进行反向推论,入侵者需要查看前端代码B,此时其得到混淆代码B49,而不是B1。这将导致入侵者无法验证推论,从而无法进行还原。
入侵者此时再返回前端代码A时,若再次查看前端代码A,由于时间戳及后端报文随机字母变化,其将得到混淆后的前端代码A276,而不是一开始的A1;此时,入侵者对于A1的推论已经无法查看,更难以进行代码复盘和逻辑推论。
为便于理解所述步骤42中的计算所述多态变异参数的方法,列举实例如下:
目标替换字符为getArrayAfterChanged;当前时间戳为1676184694;
代码hash值为:
37ce616d8ee59b5541354ab00bc056293ddfacfd019d9aaa8bfb4f1c63cc923d;
后端报文随机字母为:H6Sa12。
将所述目标替换字符、代码hash值、后端报文随机字母转换为二进制,得到以下结果:
时间戳转换为二进制,得到的二进制时间戳如下:
00110001 00110110 0011011100110110 00110001 00111000 0011010000110110 00111001 00110100;
代码hash值转换为二进制,得到的二进制代码hash值如下:
00110011 00110111 0110001101100101 00110110 00110001 0011011001100100 00111000 01100101 0110010100110101 00111001 01100010 0011010100110101 00110100 00110001 0011001100110101 00110100 01100001 0110001000110000 00110000 01100010 0110001100110000 00110101 00110110 0011001000111001 00110011 01100100 0110010001100110 01100001 01100011 0110011001100100 00110000 00110001 0011100101100100 00111001 01100001 0110000101100001 00111000 01100010 0110011001100010 00110100 01100110 0011000101100011 00110110 00110011 0110001101100011 00111001 00110010 0011001101100100;
后端报文随机字母转换为二进制,得到后端报文随机二进制字符如下:
01001000 00110110 0101001101100001 00110001 00110010。
将二进制时间戳、二进制代码hash值、二进制后端报文随机二进制字符三者按照二进制加法法则进行加和,即可得到原始变异参数。
作为一种实施例,步骤3中,所述代码压缩通过以下方式实现:
步骤31、去除原始前端代码中的无意义字符;所述无意义字符包括空格、空行及无意义的转义字符;
步骤32、对步骤31中所得到的前端代码计算代码hash值;
所述代码hash值的计算可通过MD5算法、SHA1算法、SHA256算法中的任意一种实现。
上述算法的具体实施方法均为现有成熟技术,本领域技术人员按照前述实施例的描述均可顺利实现,在此不再赘述。
作为一种实施例,步骤42中,所述后端报文随机字母的获取方法如下:
当前端向后端获取报文数据时,在算法模块中随机选择6位后端报文数据值作为后端报文随机字母。
作为一种实施例,步骤43中,对原始变异参数进行编码可通过HEX算法、Base64算法中的一种或两种组合算法实现。
作为一种实施例,所述目标替换字符不包括保留字符,所述保留字符包括以下字符:
break,case,catch,continue,debugger,delete,do,else,false,finally,for,function,if,in,instanceof,new,null,return,switch,this,throw,true,try,typeof,var,while,with,ActiveXObject,alert,Array,Boolean,Date,document,Math,Number,Object,RegExp,String,window。
需要说明的是,所述保留字符如果被替换,可能在不同的脚本或者浏览器中存在兼容性问题或者无法准确还原的情况,故需要过滤后不替换。
作为一种实施例,本发明所述方法可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用计算机或任何其他类似硬件设备来实现。
本发明所述的方法可以软件程序的形式实施,所述软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,所述软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。
另外,本发明所述方法的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明所述的方法的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本发明所述方法的程序指令,可被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。
作为一种实施例,本发明还提供一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述的多个实施例的方法和/或技术方案。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
最后,需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (9)

1.一种基于前后端分离架构的前端双随机多态混淆方法,其特征在于,
所述方法包括:
步骤3、对原始前端代码进行代码压缩并计算压缩后代码的代码hash值;
步骤4、对前端代码的各个目标替换字符分别计算其多态变异参数;
步骤5、将前端代码中目标替换字符替换为其对应的多态变异参数,完成前端代码的混淆,并将混淆后的代码返回给前端;
在步骤4中,计算所述多态变异参数的方法具体包括:
步骤41、获得目标替换字符;
步骤42、计算原始变异参数,具体计算方式为:对当前时间戳、代码hash值、后端报文随机字母、目标替换字符按顺序进行加和;
所述当前时间戳、代码hash值、后端报文随机字母、目标替换字符均为二进制值;
步骤43、将步骤42中得到的原始变异参数进行编码,得到目标替换字符的多态变异参数。
2.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
步骤1、前端向后端服务器发出前端代码查询请求;
步骤2、后端服务器接收到所述前端代码查询请求后,从后端代码库中获取相应的原始前端代码。
3.根据权利要求1所述的方法,其特征在于,
步骤3-5均由后端服务器完成。
4.根据权利要求1所述的方法,其特征在于,
步骤3中,所述代码压缩通过以下方式实现:
步骤31、去除前端代码中的无意义字符;所述无意义字符包括空格、空行及无意义的转义字符;
步骤32、对步骤31中所得到的前端代码计算代码hash值。
5.根据权利要求1所述的方法,其特征在于,
所述代码hash值的计算通过MD5算法、SHA1算法、SHA256算法中的任意一种实现。
6.根据权利要求1所述的方法,其特征在于,
步骤42中,所述后端报文随机字母的获取方法如下:
当前端向后端获取报文数据时,在算法模块中随机选择6位后端报文数据值作为后端报文随机字母。
7.根据权利要求6所述的方法,其特征在于,
步骤43中,对原始变异参数进行编码可通过HEX算法、Base64算法中的一种或两种组合算法实现。
8.根据权利要求1所述的方法,其特征在于,
所述目标替换字符包括变量名称、函数名称、常量名称;所述目标替换字符不包括保留字符。
9.一种电子设备,其特征在于,
所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
CN202310238451.8A 2023-03-14 2023-03-14 一种基于前后端分离架构的前端双随机多态混淆方法 Active CN115935303B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310238451.8A CN115935303B (zh) 2023-03-14 2023-03-14 一种基于前后端分离架构的前端双随机多态混淆方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310238451.8A CN115935303B (zh) 2023-03-14 2023-03-14 一种基于前后端分离架构的前端双随机多态混淆方法

Publications (2)

Publication Number Publication Date
CN115935303A CN115935303A (zh) 2023-04-07
CN115935303B true CN115935303B (zh) 2023-05-30

Family

ID=85827260

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310238451.8A Active CN115935303B (zh) 2023-03-14 2023-03-14 一种基于前后端分离架构的前端双随机多态混淆方法

Country Status (1)

Country Link
CN (1) CN115935303B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114357390A (zh) * 2022-01-07 2022-04-15 北京华云安软件有限公司 一种代码混淆方法、装置、电子设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7383443B2 (en) * 2002-06-27 2008-06-03 Microsoft Corporation System and method for obfuscating code using instruction replacement scheme
CN109145535A (zh) * 2018-08-13 2019-01-04 阿里巴巴集团控股有限公司 一种前端页面提供方法及装置
US11392673B2 (en) * 2019-07-30 2022-07-19 Cameron Brown Systems and methods for obfuscating web content
CN113836498A (zh) * 2021-09-01 2021-12-24 浙江岩华文化科技有限公司 网页源代码混淆方法、装置、电子装置和存储介质
CN114968206A (zh) * 2022-05-25 2022-08-30 山东国子软件股份有限公司 一种编程语言代码动态混淆方法及系统
CN115473702A (zh) * 2022-08-23 2022-12-13 广西电网有限责任公司电力科学研究院 一种基于在线交互式web动态防御的内容混淆方法
CN115774865A (zh) * 2022-11-16 2023-03-10 中国工商银行股份有限公司 前端代码的运行方法及其装置、电子设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114357390A (zh) * 2022-01-07 2022-04-15 北京华云安软件有限公司 一种代码混淆方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN115935303A (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
US11329952B2 (en) System and method for detecting generated domain
CN109257340B (zh) 一种基于区块链的网站防篡改系统及方法
JP6190041B2 (ja) 安否確認システム及び秘匿化データの類似検索方法
US8955133B2 (en) Applying antimalware logic without revealing the antimalware logic to adversaries
JP2022549581A (ja) Dag構造のブロックチェーンにおいてブロックの連続的順序を決定するためのコンピューティング・システム、方法、非一時的コンピュータ可読媒体及びコンピュータ・プログラム
Chen et al. An anti-phishing system employing diffused information
CN110662184A (zh) 信息推送方法、装置、计算机设备及存储介质
CN103716315A (zh) 一种网页篡改的检测方法及装置
CN112579958B (zh) 网页转换方法、装置、计算机设备及可读存储介质
EP2779520A1 (en) A process for obtaining candidate data from a remote storage server for comparison to a data to be identified
TW202240453A (zh) 學習惡意行為與惡意程式的執行序列之關聯性的方法與計算機與用於實作類神經網路的方法
CN107819748B (zh) 一种抗破解的验证码实现方法及装置
Han et al. WHAP: Web-hacking profiling using case-based reasoning
CN114885334A (zh) 一种高并发的短信处理方法
Iftikhar et al. A survey on reversible watermarking techniques for relational databases
US20210044606A1 (en) Automatic generation of detection alerts
CN115935303B (zh) 一种基于前后端分离架构的前端双随机多态混淆方法
CN116305294B (zh) 数据泄露溯源方法、装置、电子设备及存储介质
CN116821967A (zh) 用于隐私保护的交集计算方法及系统
CN114979109B (zh) 行为轨迹检测方法、装置、计算机设备和存储介质
CN115344852A (zh) 弱口令的检测方法、装置、设备、存储介质及程序产品
CN111460436B (zh) 一种基于区块链的非结构化数据操作方法和系统
US11847244B1 (en) Private information detector for data loss prevention
CN110363000B (zh) 识别恶意文件的方法、装置、电子设备及存储介质
CN115001724A (zh) 网络威胁情报管理方法、装置、计算设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant