一种基于在线交互式WEB动态防御的内容混淆方法技术

技术编号:35935754 阅读:9 留言:0更新日期:2022-12-14 10:22
本发明专利技术公开了一种基于在线交互式WEB动态防御的内容混淆方法,采用MD5加密技术对文件名、类名、协议名、属性名和函数名进行加密混淆,由于MD5为不可逆加密技术,就算黑客获取到WEB前端提交的报文,亦无法对其进行破解操作,从而达到保护代码安全的目的。在对关键字进行提取时,需要把以下关键字作为保留字,不进行混淆,否则程序在混淆之后无法进行编译运行。而且通过动态加壳处理,可以使源代码有效变形,达到双层保护的效果,从而提升代码的安全性,从而达到保护WEB服务器的目的。从而达到保护WEB服务器的目的。从而达到保护WEB服务器的目的。

【技术实现步骤摘要】
一种基于在线交互式WEB动态防御的内容混淆方法


[0001]本专利技术涉及WEB
,特别涉及一种基于在线交互式WEB动态防御的内容混淆方法。

技术介绍

[0002]随着信息技术的不断发展,企业WEB应用服务越来越多,其安全所面临的挑战日益严峻,针对Web的攻击和破坏的也在不断增长,安全风险达到了前所未有的高度。如何减少针对WEB的安全问题呢,鉴于此,需要一种基于在线交互式WEB动态防御的内容混淆方法。

技术实现思路

[0003]本专利技术实施例提供了一种基于在线交互式WEB动态防御的内容混淆方法,以至少解决相关技术中WEB不够安全的技术问题。
[0004]根据本专利技术实施例的一方面,提供了一种基于在线交互式WEB动态防御的内容混淆方法,包括:从文件中提取关键字信息,所述关键字信息包括:文件名、类名、协议名、属性名和函数名;移除系统中的保留字;使用MD5加密技术对关键字信息进行加密混淆;对加密混淆后的代码进行动态加壳。
[0005]可选地,在移除系统中的保留字的同时,还移除项目名称关键字。
[0006]可选地,使用MD5加密技术对关键字信息进行加密混淆还包括:将MD5加密后的关键字替换原代码文件中的关键字。
[0007]可选地,所述替换采用单词替换。
[0008]可选地,对加密混淆后的代码进行动态加壳后,按照规则生成多个不同的代码字列。
[0009]可选地,所述规则包括:随机对原代码进行垃圾代码填充。
[0010]可选地,采用随机算法对候选功能单元和垃圾代码的提取、以及无相关性的功能单元调序,以保征每次生成的代码段都不相同。
[0011]根据本专利技术实施例的另一方面,还提供了一种基于在线交互式WEB动态防御的内容混淆系统,包括:关键字信息提取模块,用于从文件中提取关键字信息,所述关键字信息包括:文件名、类名、协议名、属性名和函数名;移除保留字模块,用于移除系统中的保留字;MD5加密模块,用于使用MD5加密技术对关键字信息进行加密混淆;和动态加壳模块,用于对加密混淆后的代码进行动态加壳。
[0012]根据本专利技术实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机
可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项所述的基于在线交互式WEB动态防御的内容混淆方法。
[0013]根据本专利技术实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的基于在线交互式WEB动态防御的内容混淆方法。
[0014]与现有的技术相比,本专利技术具有如下有益效果:本专利技术实施例中,采用MD5加密技术对文件名、类名、协议名、属性名和函数名进行加密混淆,由于MD5为不可逆加密技术,就算黑客获取到WEB前端提交的报文,亦无法对其进行破解操作,从而达到保护代码安全的目的。在对关键字进行提取时,需要把以下关键字作为保留字,不进行混淆,否则程序在混淆之后无法进行编译运行。而且通过动态加壳处理,可以使源代码有效变形,达到双层保护的效果,从而提升代码的安全性,从而达到保护WEB服务器的目的。
附图说明
[0015]为了更清楚地说明本专利技术的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一个实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1是根据本专利技术实施例的一种基于在线交互式WEB动态防御的内容混淆方法的流程图;图2是根据本专利技术实施例处理得到的代码图。
具体实施方式
[0017]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0018]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0019]需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0020]实施例1根据本专利技术实施例,提供了一种基于在线交互式WEB动态防御的内容混淆方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不
同于此处的顺序执行所示出或描述的步骤。
[0021]当前WEB前端所用的JS混淆技术多数为变量混淆、字符串混淆、属性加密、控制流平坦化、僵尸代码、调试保护、多态变异、锁定域名、反格式化、特殊编码等方式。这些常用方式有一些能启动很好的代码保护作用,有一些作用相对较小。本专利技术针对文件名、类名、协议名、属性名和函数名进行混淆,即在字符串混淆的基础上进行的改良优化。
[0022]如图1是根据本专利技术实施例的一种基于在线交互式WEB动态防御的内容混淆方法的流程图,如图1所示,该方法包括如下步骤:步骤S10、从文件中提取关键字信息,所述关键字信息包括:文件名、类名、协议名、属性名和函数名。
[0023]作为一种可选的实施例,步骤S10具体包括:(1)文件名提取首先将包含文件名的路径写到一个文件里;其次从这个文件里提取到文件的名称。
[0024](2)类名提取可以使用系统自带函数getClass(),进行类名提取。
[0025](3)协议名提取可以使用java.net.URI提取协议名。
[0026](4)属性名提取可以使用getClass().getDeclaredFields()获取属性名。
[0027](5)函数名提取可以使用getMethodName()获取函数名。
[0028]步骤S20、移除系统中的保留字。
[0029]作为一种可选的实施例,在移除系统中的保留字的同时,还移除项目名称关键字步骤S30、使用MD5加密技术对关键字信息进行加密混淆;作为一种可选的实施例,使用MD5加密技术对关键字信息进行加密混淆还包括:将MD5加密后的关键字替换原代码文件中的关键字。
[0030]具体的,在替换的过程中有可能出现以下问题,例如:“This is my brother!”,需要将“is”替换成“AABB”,出本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于在线交互式WEB动态防御的内容混淆方法,其特征在于,包括:从文件中提取关键字信息,所述关键字信息包括:文件名、类名、协议名、属性名和函数名;移除系统中的保留字;使用MD5加密技术对关键字信息进行加密混淆;对加密混淆后的代码进行动态加壳。2.根据权利要求1所述的基于在线交互式WEB动态防御的内容混淆方法,其特征在于,在移除系统中的保留字的同时,还移除项目名称关键字。3.根据权利要求1所述的基于在线交互式WEB动态防御的内容混淆方法,其特征在于,使用MD5加密技术对关键字信息进行加密混淆还包括:将MD5加密后的关键字替换原代码文件中的关键字。4.根据权利要求3所述的基于在线交互式WEB动态防御的内容混淆方法,其特征在于,所述替换采用单词替换。5.根据权利要求1所述的基于在线交互式WEB动态防御的内容混淆方法,其特征在于,对加密混淆后的代码进行动态加壳后,按照规则生成多个不同的代码字列。6.根据权利要求5所述的基于在线交互式WEB动态防御的内容混淆方法,其特征在于,所述规则包括:随机对原代码...

【专利技术属性】
技术研发人员:凌颖杨春燕余通黎新宾冬梅韩松明谢铭明少锋卢杰科唐福川
申请(专利权)人:广西电网有限责任公司电力科学研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1