一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种交互式web页面源代码封装方法和系统与流程

2022-11-23 17:31:09 来源:中国专利 TAG:


1.本发明属于网络技术领域,尤其涉及一种交互式web页面源代码封装方法和系统。


背景技术:

2.随着信息技术的不断发展,网络空间资产面临的威胁态势也不断演变,当前互联网应用的安全漏洞曝光度在加大,利用漏洞的技术被容易被快速复制,攻击漏洞的成本低,攻击效率和危害却迅速提升;安全漏洞造成更大规模业务损失、数据损失。为解决日渐频繁的网络攻击,保护页面代码,需对其进行封装保护。
3.特别是一些小型企业,不具备强有力的网络维护手段,更容易受到攻击。而保护小型企业,能够为经济发展提供强大的后背力量。


技术实现要素:

4.为了解决或者改善上述问题,本发明提供了一种交互式web页面源代码封装方法和系统,具体技术方案如下:
5.本发明提供一种交互式web页面源代码封装方法,包括:建立与待保护web页面源代码的连接通道;通过连接通道扫描所述web页面源代码,确定待混淆常量num;将所述待混淆常量num替换为混沌不透明表达式以实现数据封装。
6.优选的,所述待混淆常量num包括整型常量和字符串常量。
7.优选的,所述混沌不透明表达式用于将常量数据转换成在源代码运行时能产生被混淆常量数据的代码。
8.优选的,所述混沌不透明表达式包括e
=num
(chaos,x0,n{an},sec_map),其中,所述e为表达式结果,所述chaos为符合条件的混沌映射,所述x0为所述chaos的初始值,所述n为迭代步长,根据所述x0运用chans进行n次迭代求值,得到混沌映射状态序列,所述{an}为select函数值,所述sec-map为表达式的值val;对应的,所述实现数据封装,包括:将所述混沌不透明表达式和对应的求值算法嵌入所述web页面源代码中。
9.优选的,所述将所述混沌不透明表达式和对应的求值算法嵌入所述web页面源代码中,包括:将所述混沌不透明表达式和所述求值算法封装在所述web页面源代码实现的程序的函数中,并将所述函数的实参存放在全局数组中,以在混淆的过程中再通过调用实现。
10.本发明提供一种交互式web页面源代码封装系统,包括:第一单元,用于建立与待保护web页面源代码的连接通道;第二单元,用于通过连接通道扫描所述web页面源代码,确定待混淆常量num;第三单元,用于将所述待混淆常量num替换为混沌不透明表达式以实现数据封装。
11.优选的,所述待混淆常量num包括整型常量和字符串常量。
12.优选的,所述混沌不透明表达式用于将常量数据转换成在源代码运行时能产生被混淆常量数据的代码。
13.优选的,所述混沌不透明表达式包括e
=num
(chaos,x0,n{an},sec_map),其中,所述e
为表达式结果,所述chaos为符合条件的混沌映射,所述x0为所述chaos的初始值,所述n为迭代步长,根据所述x0运用chans进行n次迭代求值,得到混沌映射状态序列,所述{an}为select函数值,所述sec-map为表达式的值val;对应的,所述实现数据封装,包括:将所述混沌不透明表达式和对应的求值算法嵌入所述web页面源代码中。
14.优选的,所述将所述混沌不透明表达式和对应的求值算法嵌入所述web页面源代码中,包括:将所述混沌不透明表达式和所述求值算法封装在所述web页面源代码实现的程序的函数中,并将所述函数的实参存放在全局数组中,以在混淆的过程中再通过调用实现。
15.本发明的有益效果为:通过建立与待保护web页面源代码的连接通道,能够实现交互式连接,方便进行技术支持到受保护终端的点到面的连接,能够提高保护效率;通过连接通道扫描所述web页面源代码,确定待混淆常量num,能够便于进行具体的代码的改变;将所述待混淆常量num替换为混沌不透明表达式以实现数据封装,能够提高页面代码的保护能力,降低出现漏洞以及被外部攻击的概率。
附图说明
16.图1是根据本发明的交互式web页面源代码封装方法的示意图;
17.图2是根据本发明的交互式web页面源代码封装系统的示意图。
18.附图标记包括:
19.1-第一单元,2-第二单元,3-第三单元。
具体实施方式
20.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
22.还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
23.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
24.为了解决或者改善背景提到的问题,提出如图1所示的一种交互式web页面源代码封装方法,包括:s1、建立与待保护web页面源代码的连接通道;s2、通过连接通道扫描所述web页面源代码,确定待混淆常量num;s3、将所述待混淆常量num替换为混沌不透明表达式以实现数据封装。
25.web页面即web page,网页是构成网站的基本元素,是承载各种网站应用的平台;网页是一个包含html标签的纯文本文件,它可以存放在世界某个角落的某一台计算机中,是万维网中的一“页”,是超文本标记语言格式(标准通用标记语言的一个应用,文件扩展名
为.html或.htm)。web页面作为主流的对外手段,公司能够提供信息展示平台和数据交互平台。同时当前互联网应用的安全漏洞曝光度在加大,利用漏洞的技术被容易被快速复制,攻击漏洞的成本低,攻击效率和危害却迅速提升;安全漏洞造成更大规模业务损失、数据损失。
26.实践中,小型公司并不具备强有力的网络保护手段,需要得到合理的保护技术的支持。为此,本实施例首先建立与待保护web页面源代码的连接通道,通过建立公司与公司之间的数据传输渠道,能够实现网络保护技术提供方与受委托方的基础交互,然后再建立受委托方公司到数据库的渠道,能够实现网络保护技术提供方访问受委托方的目标源代码,即网络保护技术提供方访问需要被保护的web页面源代码。
27.对代码进行保护的方法或者原理有很多,本方案中通过连接通道扫描所述web页面源代码,确定待混淆常量num,原因在于常量是最能体现公司与公司之间不同的地方;反之一些惯用的公式或者代码,由于使用者多,难保不会有其他公司的代码被攻破,连带不相干但是采用类似或者一样惯用的公式或者代码的公司的代码也被攻破;
28.然后将所述待混淆常量num替换为混沌不透明表达式以实现数据封装。
29.本实施例主要应用混沌不透明表达式算法对代码进行封装:利用混沌不透明表达式实现关键数据混淆封装,包括整型常量的混淆和字符串。
30.数据混淆封装即数据混淆,是指将程序中的数据以不易于理解的方式进行等价变换。可用的数据混淆技术包括:改变数据编码、变量分割、变量合并、继承关系修改、重组数组、加密字符串、静态数据转为过程式数据等。常量数据是程序中的数据的一种,以整型常量和字符串常量最为常见,常量数据经常会泄露一些语义信息。将程序中的常量数据进行混淆,可以有效的掩盖程序意图,保护代码的安全性。本发明将针对整型常量和字符串常量,运用混沌不透明表达式进行数据混淆,这种混淆方式称为静态数据转换为过程式数据,即把常量数据转换成在运行时能产生被混淆常量数据的代码。
31.混淆的过程大致上是将程序中的常量替换为一个与之等值的函数调用(亦即过程式数据)。函数调用的设计方法有很多种,本发明采用的是将混沌不透明表达式的求值函数来替换常量,其过程描述如下:
32.step1:扫描源代码,直到找到一个待混淆常量num或者扫描到程序结尾结束。
33.step2:将num替换为混沌不透明表达式e
=num
(chaos,x0,n{an},sec_map)。
34.因为构造完成的混沌不透明表达式及其求值算法需要嵌入至待混淆的程序中,因此本发明在求值算法具体的实现过程中,为了有效的抵抗静态分析,将混沌不透明表达式求值的过程封装在函数中,并将函数的实参存放在全局数组中,在混淆的过程中再通过调用实现。这样做是因为使用全局数组能有效地干扰静态分析器,提高程序的安全性。
35.具体的一个混淆的实例:
36.混淆封装前的代码:
[0037][0038]
混淆封装后的代码:
[0039][0040][0041]
代码用于判定一个年份是否为闰年。其中,eval_exp(x[0],y[0],a[0])
=4
,eval_exp(x[1],y[1],a[1])
=100
eval_exp(x[2],y[2],a[2])
=400
分别是将程序中的常量4、100和400混淆后生的不透明表达式。其中eval-exp()为不透明表达式求值函数,x、y、a都是全局数组,譬如,eval_exp(x[2],y[2],a[2])
=400
中的参数x[2],y[2],a[2]作为值为400的混沌不透明表达式的初值x0和迭代步长数列{an},函数eval_exp()使用了混沌映射tent和二次
映射sec_map。由此得到该混沌不透明表达式的五元组形式为e(tent,x[2],y[2],a[2],sec_map)。经过实验验证,一组可构造成功的取值为:e(tent,0.7818154415490385,0.179301181159921,{3,8,8},sec_map)。
[0042]
对比混淆封装前和混淆封装后的代码发现,混淆封装前,破解者很容易通过程序中4、100和400这些含有语义信息的整型常量中猜测出整段代码的意图。但是经过混沌不透明表达式混淆后,这些常量数据被函数化,破解者很难对其采用静态分析的手段获知这是一个固定的返回值,另外,混沌映射本身具有的安全性也使得这种代码混淆封装技术的安全性进一步增强。
[0043]
所述待混淆常量num包括整型常量和字符串常量。
[0044]
所述混沌不透明表达式用于将常量数据转换成在源代码运行时能产生被混淆常量数据的代码。
[0045]
所述混沌不透明表达式包括e
=num
(chaos,x0,n{an},sec_map),其中,所述e为表达式结果,chaos为某个尽量符合预设条件的混沌映射,x0为chaos的初始值,一般情况下随机生成n为迭代步长,根据x0运用chans进行n次迭代求值,得到混沌映射状态序列,{an}为select函数值,sec-map为表达式的值val;所述实现数据封装,包括:将所述混沌不透明表达式和对应的求值算法嵌入所述web页面源代码中。
[0046]
所述将所述混沌不透明表达式和对应的求值算法嵌入所述web页面源代码中,包括:将所述混沌不透明表达式和所述求值算法封装在所述web页面源代码实现的程序的函数中,并将所述函数的实参存放在全局数组中,以在混淆的过程中再通过调用实现。
[0047]
本发明提供一种交互式web页面源代码封装系统,包括:第一单元1,用于建立与待保护web页面源代码的连接通道;第二单元2,用于通过连接通道扫描所述web页面源代码,确定待混淆常量num;第三单元3,用于将所述待混淆常量num替换为混沌不透明表达式以实现数据封装。
[0048]
实践中,小型公司并不具备强有力的网络保护手段,需要提供合理的保护支持。具体来说,系统用于执行通过建立与待保护web页面源代码的连接通道,建立公司与公司之间的数据传输渠道,能够实现网络保护技术提供方与受委托方的基础交互,然后再建立公司到数据库的渠道,能够实现网络保护技术提供方访问目标源代码,即需要被保护的web页面源代码。
[0049]
对代码进行保护的方法或者原理有很多,本方案中通过连接通道扫描所述web页面源代码,确定待混淆常量num,原因在于常量是最能体现公司与公司之间不同的地方;反之一些惯用的公式或者代码,由于使用者多,难保不会有其他公司的代码被攻破,连带不相干但是采用类似或者一样惯用的公式或者代码的公司的代码也被攻破;
[0050]
然后将所述待混淆常量num替换为混沌不透明表达式以实现数据封装。
[0051]
1、本实施例主要应用混沌不透明表达式算法对代码进行封装:
[0052]
利用混沌不透明表达式实现关键数据混淆封装,包括整型常量的混淆和字符串。
[0053]
2、数据混淆封装
[0054]
数据混淆是指将程序中的数据以不易于理解的方式进行等价变换。可用的数据混淆技术包括:改变数据编码、变量分割、变量合并、继承关系修改、重组数组、加密字符串、静态数据转为过程式数据等。常量数据是程序中的数据的一种,以整型常量和字符串常量最
为常见,常量数据经常会泄露一些语义信息。将程序中的常量数据进行混淆,可以有效的掩盖程序意图,保护代码的安全性。本发明将针对整型常量和字符串常量,运用混沌不透明表达式进行数据混淆,这种混淆方式称为静态数据转换为过程式数据,即把常量数据转换成在运行时能产生被混淆常量数据的代码。
[0055]
所述待混淆常量num包括整型常量和字符串常量。
[0056]
所述混沌不透明表达式用于将常量数据转换成在源代码运行时能产生被混淆常量数据的代码。
[0057]
所述混沌不透明表达式包括e
=num
(chaos,x0,n{an},sec_map),其中,所述e为表达式结果,chaos为符合条件的混沌映射,x0为chaos的初始值,n为迭代步长,根据x0运用chans进行n次迭代求值,得到混沌映射状态序列,{an}为select函数值,sec-map为表达式的值val;所述实现数据封装,包括:将所述混沌不透明表达式和对应的求值算法嵌入所述web页面源代码中。所述将所述混沌不透明表达式和对应的求值算法嵌入所述web页面源代码中,包括:将所述混沌不透明表达式和所述求值算法封装在所述web页面源代码实现的程序的函数中,并将所述函数的实参存放在全局数组中,以在混淆的过程中再通过调用实现。
[0058]
在本技术所提供的实施例中,应该理解到,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元可结合为一个单元,一个单元可拆分为多个单元,或一些特征可以忽略等。
[0059]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献