CN110569032B - 脚本语言解释器应用标签裁决的方法及装置 - Google Patents
脚本语言解释器应用标签裁决的方法及装置 Download PDFInfo
- Publication number
- CN110569032B CN110569032B CN201910871248.8A CN201910871248A CN110569032B CN 110569032 B CN110569032 B CN 110569032B CN 201910871248 A CN201910871248 A CN 201910871248A CN 110569032 B CN110569032 B CN 110569032B
- Authority
- CN
- China
- Prior art keywords
- script
- module
- content
- label
- license file
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/37—Compiler construction; Parser generation
Abstract
本发明提供的脚本语言解释器应用标签裁决的方法及装置,在使用脚本语言解释器对应用脚本进行解释执行时,捕获已加过标签的目标脚本内容,并触发计时模块进行计时;当计时时长超过预设时长时,生成随机密钥并对随机密钥进行加密,然后将加密后的随机密钥写入到License文件中;在对License文件解密后,对目标脚本内容执行标签替换操作;当计时时长未超过预设时长时,对目标脚本内容执行标签去除操作,并对无标签脚本内容进行裁决,最后将裁决结果反馈至脚本语言解释器。本发明采用随机标签的方式,结合超时判定逻辑,实现了标签的动态化与随机化,提高了脚本语言解释执行过程中的数据安全性,也大幅地提升了系统的安全性。
Description
技术领域
本发明涉及计算机应用技术领域,更具体地说,涉及脚本语言解释器应用标签裁决的方法及装置。
背景技术
脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本(如ASCII)保存,只在被调用时进行解释。
目前脚本语言的解释执行,通常都是基于脚本内容的静态标签来进行的,而这在面对脚本语言代码注入执行的攻击行为时,由于标签的静态性,使得攻击者能够充分通过暴力破解的方式来获取静态标签内容,从而大大降低了系统的安全性。
因此,目前迫切需要一种切实有效的技术方案,以提高脚本语言解释执行过程的数据安全性。
发明内容
有鉴于此,本发明提供了一种脚本语言解释器应用标签裁决的方法及装置,以解决现有的脚本语言解释执行过程的数据安全性较差,导致系统安全性较差的技术问题。
为实现上述目的,本发明提供如下技术方案:
一种脚本语言解释器应用标签裁决的方法,包括:
使用脚本语言解释器,对待执行的应用脚本进行解释执行;
在进行所述解释执行时,使用Hook模块捕获已加过标签的目标脚本内容,并触发计时模块进行计时;
当计时时长超过预设时长时,使用随机密钥生成模块生成随机密钥,使用加密模块对所述随机密钥进行加密,并将加密后的随机密钥写入到License文件中,利用解密模块获取所述License文件的内容,使用标签替换模块基于所述License文件的内容对所述目标脚本内容执行标签替换操作;
当计时时长未超过预设时长时,使用标签去除模块对所述目标脚本内容执行标签去除操作,得到无标签脚本内容;
使用裁决模块对所述无标签脚本内容进行裁决,并将裁决结果反馈至所述脚本语言解释器。
优选的,在所述使用Hook模块捕获已加过标签的目标脚本内容之后,所述方法还包括:
将所述目标脚本内容存放至预设的应用脚本目录中;
相应的,所述使用标签替换模块基于所述License文件的内容对所述目标脚本内容执行标签替换操作,包括:
使用标签替换模块,基于所述License文件的内容,对所述应用脚本目录中的所述目标脚本内容执行标签替换操作。
优选的,所述方法还包括:使用监控模块对所述License文件的内容进行监控;
所述利用解密模块获取所述License文件的内容,使用标签替换模块基于所述License文件的内容对所述目标脚本内容执行标签替换操作包括:
当所述监控模块监控到所述License文件发生变化时,使用标签替换模块调用解密模块来获取所述License文件的内容,并基于所述License文件的内容对所述目标脚本内容执行标签替换操作。
优选的,当所述监控模块监控到所述License文件发生变化时,所述方法还包括:
使用所述监控模块向所述脚本语言解释器发送休眠信号,以使脚本语言解释器暂停对外部请求的响应,直至标签替换操作结束。
优选的,在所述将加密后的随机密钥写入到License文件中之后,所述方法还包括:
将全局变量密钥的内容更换为所述随机密钥生成模块生成的随机密钥。
优选的,所述使用裁决模块对所述无标签脚本内容进行裁决,并将裁决结果反馈至所述脚本语言解释器包括:
使用裁决模块检测所述无标签脚本内容中是否包含高危元素信息;
当所述无标签脚本内容中未包含高危元素信息时,将所述无标签脚本内容反馈至所述脚本语言解释器;
当所述无标签脚本内容中包含高危元素信息时,将报错信息反馈至所述脚本语言解释器。
优选的,所述方法还包括:
使用所述计时模块设置所述预设时长,以对标签变化时间进行控制。
优选的,所述方法还包括:
使用应用容器模块将待执行的应用脚本封装为服务,以便所述脚本语言解释器通过IP、端口与协议的组合形式,来获取所述待执行的应用脚本。
一种脚本语言解释器应用标签裁决的装置,至少包括:脚本语言解释器、Hook模块、计时模块、随机密钥生成模块、加密模块、License文件、解密模块、标签替换模块、标签去除模块与裁决模块;
所述脚本语言解释器,用于对待执行的应用脚本进行解释执行;
所述Hook模块,用于在进行所述解释执行时,捕获已加过标签的目标脚本内容,并触发计时模块进行计时;
所述计时模块,用于计时,并基于预设时长进行超时判定;
所述随机密钥生成模块,用于当计时时长超过预设时长时,生成随机密钥;
所述加密模块,用于对所述随机密钥进行加密,并将加密后的随机密钥写入到License文件中;
所述License文件,用于存放所述加密后的随机密钥;
所述解密模块,用于获取所述License文件的内容;
所述标签替换模块,用于基于所述License文件的内容对所述目标脚本内容执行标签替换操作;
所述标签去除模块,用于当计时时长未超过预设时长时,对所述目标脚本内容执行标签去除操作,得到无标签脚本内容;
所述裁决模块,用于对所述无标签脚本内容进行裁决,并将裁决结果反馈至所述脚本语言解释器。
优选的,所述装置还包括:
应用容器模块,用于将待执行的应用脚本封装为服务,以便所述脚本语言解释器通过IP、端口与协议的组合形式,来获取所述待执行的应用脚本;
应用脚本目录,用于存放所述目标脚本内容;
监控模块,用于对所述License文件的内容进行监控。
从上述的技术方案可以看出,本发明提供的脚本语言解释器应用标签裁决的方法及装置,采用随机标签的方式,结合超时判定逻辑,对目标脚本内容执行标签替换操作,相较于静态标签的处理方式,实现了标签的动态化与随机化,使标签能够在计时时长超过预设时长时随机发生改变,为暴力破解带来了巨大阻碍,充分降低了暴力破解的可能性,提高了脚本语言解释执行过程中的数据安全性,也大幅地提升了系统的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的脚本语言解释器应用标签裁决的方法的一种流程图;
图2为本发明实施例提供的脚本语言解释器应用标签裁决的方法的另一种流程图;
图3为本发明实施例提供的脚本语言解释器应用标签裁决的方法的又一种流程图;
图4为本发明实施例提供的脚本语言解释器应用标签裁决的装置的一种结构示意图;
图5为本发明实施例提供的脚本语言解释器应用标签裁决的装置的另一种结构示意图;
图6为本发明实施例提供的脚本语言解释器应用标签裁决的装置的模块交互示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的脚本语言解释器应用标签裁决的方法,旨在提供针对目前脚本语言代码注入执行的攻击行为的一种保护措施,本发明采用随机标签的形式,实现了标签的动态化,为攻击者采用暴力破解猜标签内容的方式带来强大阻碍,从而提高了脚本语言解释执行过程中的数据安全性,也大大提升了系统的安全性。
请参阅图1,图1为本发明实施例提供的脚本语言解释器应用标签裁决的方法的一种流程图。
如图1所示,脚本语言解释器应用标签裁决的方法可包括:
S101:使用脚本语言解释器,对待执行的应用脚本进行解释执行。
S102:在进行所述解释执行时,使用Hook模块捕获已加过标签的目标脚本内容,并触发计时模块进行计时。
Hook模块,可以是为脚本语言解释器设定的一个接口模块,用于为开发人员锁定错误,可以将用户代码引出、更改并返回。
在脚本语言解释器执行时,Hook模块可以hook(捕获)到将要执行的已对高危关键字和函数加过标签的脚本内容到计时模块中,由计时模块判断其是否超时。
S103:判断计时时长是否超过预设时长,若是,则执行步骤S104;若否,则执行步骤S107。
计时模块设置为标签变化时间的控制器,可使用所述计时模块设置所述预设时长,以对标签变化时间进行控制。
例如,计时模块可以基于预先设定好的预设时长来进行周期性计时,每当计时时长超过预设时长时,都可以执行步骤S104~S106,并重新开始计时,相当于是设定了一个标签变化的周期,来实现标签的周期性变化。
S104:使用随机密钥生成模块生成随机密钥。
随机密钥生成模块为生成随机密钥的算法模块。当计时时长超过预设时长时,使用随机密钥生成模块生成随机密钥。
S105:使用加密模块对所述随机密钥进行加密,并将加密后的随机密钥写入到License文件中。
所述加密模块为,对随机密钥生成模块生成的随机密钥,进行加密的算法模块。
所述License文件,是在系统中设置为存放加密过的随机密钥的文件。
其中,在所述将加密后的随机密钥写入到License文件中之后,所述方法还可以包括:将全局变量密钥的内容更换为所述随机密钥生成模块生成的随机密钥。License文件中的key(密钥)是加过密的key,而全局变量key是随机密钥生成模块生成的未加密的key。
S106:利用解密模块获取所述License文件的内容,并使用标签替换模块基于所述License文件的内容对所述目标脚本内容执行标签替换操作。
所述解密模块为,对License文件中已加密的随机密钥进行解密的算法模块。所述License文件的内容包括解密出来的随机密钥。
也就是说,当计时时长超过预设时长时,使用随机密钥生成模块生成随机密钥,使用加密模块对所述随机密钥进行加密,并将加密后的随机密钥写入到License文件中,然后利用解密模块获取所述License文件的内容,使用标签替换模块基于所述License文件的内容对所述目标脚本内容执行标签替换操作。
如若攻击者采用暴力破解的方式来破解标签内容,那么在有限时间(即预设时长)之内,只要标签具有足够的复杂度,暴力破解方式实现的可能性就是微乎其微的。
其中,足够的复杂度是指,使用暴力破解方式无法或难以在预设时长内破解出标签内容的复杂度,而无需考虑暴力破解是否能够在更长时间内破解标签内容,因为在超过预设时长后,标签就已经被更换了,暴力破解此时就失效了。
预设时长越长,需要的标签复杂度越高;预设时长越短,需要的标签复杂度越低;反之亦然,具体可根据需求灵活设定。
标签的复杂度在于随机密钥生成模块的算法实现,并由算法生成的随机密钥的复杂度来决定。
S107:使用标签去除模块对所述目标脚本内容执行标签去除操作,得到无标签脚本内容。
所述去标签模块,用于对已做加标签处理的脚本文件经由计时模块判断未超时后,对其做的裁决前的去标签处理。也就是说,当计时时长未超过预设时长时,使用标签去除模块对所述目标脚本内容执行标签去除操作,得到无标签脚本内容。
S108:使用裁决模块对所述无标签脚本内容进行裁决,并将裁决结果反馈至所述脚本语言解释器。
所述裁决模块,用于判断经由标签去除模块处理过的字符流是否符合预先设定的安全规则。所述裁决模块能够对攻击者注入未加标签脚本代码做出有效识别。
本实施例提供的脚本语言解释器应用标签裁决的方法,采用随机标签的方式,结合超时判定逻辑,对目标脚本内容执行标签替换操作,相较于静态标签的处理方式,实现了标签的动态化与随机化,使标签能够在计时时长超过预设时长时随机发生改变,为暴力破解带来了巨大阻碍,充分降低了暴力破解的可能性,提高了脚本语言解释执行过程中的数据安全性,也大幅地提升了系统的安全性。
请参阅图2,图2为本发明实施例提供的脚本语言解释器应用标签裁决的方法的另一种流程图。
如图2所示,脚本语言解释器应用标签裁决可包括:
S201:使用脚本语言解释器,对待执行的应用脚本进行解释执行。
S202:在进行所述解释执行时,使用Hook模块捕获已加过标签的目标脚本内容,并触发计时模块进行计时。
S203:将所述目标脚本内容存放至预设的应用脚本目录中。
S204:判断计时时长是否超过预设时长,若是,则执行步骤S205;若否,则执行步骤S210。
S205:使用随机密钥生成模块生成随机密钥。
S206:使用加密模块对所述随机密钥进行加密,并将加密后的随机密钥写入到License文件中。
S207:使用监控模块对所述License文件的内容进行监控。
所述监控模块,用于监控应用系统内License内容是否发生变化。
S208:当所述监控模块监控到所述License文件发生变化时,利用解密模块获取所述License文件的内容,使用标签替换模块基于所述License文件的内容对所述目标脚本内容执行标签替换操作。
标签替换模块,用于在监控模块监控到License文件发生变化之后,对所述目标脚本内容执行标签替换操作,具体地,基于所述License文件的内容,对所述应用脚本目录中的所述目标脚本内容执行标签替换操作。
此外,当所述监控模块监控到所述License文件发生变化时,还可以使用标签替换模块调用解密模块来获取所述License文件的内容,并基于所述License文件的内容对所述目标脚本内容执行标签替换操作。
S209:当所述监控模块监控到所述License文件发生变化时,使用所述监控模块向所述脚本语言解释器发送休眠信号,以使脚本语言解释器暂停对外部请求的响应,直至标签替换操作结束。
脚本语言解释器在接收到sleep(休眠)信号后,暂停对外部请求的响应,直到replace(标签替换)操作结束。
S210:使用标签去除模块对所述目标脚本内容执行标签去除操作,得到无标签脚本内容。
S211:使用裁决模块对所述无标签脚本内容进行裁决,并将裁决结果反馈至所述脚本语言解释器。
本实施例提供的脚本语言解释器应用标签裁决的方法,将所述目标脚本内容存放至预设的应用脚本目录中,设置监控模块来监控License文件的内容是否发生变化,并在监控模块监控到License文件发生变化时,基于变化后的License文件,触发标签替换操作,充分保证了标签的随机化与动态化,为暴力破解带来了巨大阻碍,充分降低了暴力破解的可能性,提高了脚本语言解释执行过程中的数据安全性,也大幅地提升了系统的安全性。
请参阅图3,图3为本发明实施例提供的脚本语言解释器应用标签裁决的方法的又一种流程图。
如图3所示,脚本语言解释器应用标签裁决的方法可包括:
S301:使用应用容器模块将待执行的应用脚本封装为服务。
使用应用容器Appserver模块将待执行的应用脚本封装成服务,能够以便所述脚本语言解释器通过IP、端口与协议的组合形式“IP+端口+协议”,来获取所述待执行的应用脚本。
S302:使用脚本语言解释器,对待执行的应用脚本进行解释执行。
S303:在进行所述解释执行时,使用Hook模块捕获已加过标签的目标脚本内容,并触发计时模块进行计时。
S304:将所述目标脚本内容存放至预设的应用脚本目录中
S305:判断计时时长是否超过预设时长,若是,则执行步骤S306;若否,则执行步骤S311;
S306:使用随机密钥生成模块生成随机密钥。
S307:使用加密模块对所述随机密钥进行加密,并将加密后的随机密钥写入到License文件中。
S308:使用监控模块对所述License文件的内容进行监控。
S309:当所述监控模块监控到所述License文件发生变化时,使用标签替换模块调用解密模块来获取所述License文件的内容,并基于所述License文件的内容对所述目标脚本内容执行标签替换操作。
S310:当所述监控模块监控到所述License文件发生变化时,使用所述监控模块向所述脚本语言解释器发送休眠信号,以使脚本语言解释器暂停对外部请求的响应,直至标签替换操作结束。
S311:使用标签去除模块对所述目标脚本内容执行标签去除操作,得到无标签脚本内容。
S312:使用裁决模块检测所述无标签脚本内容中是否包含高危元素信息。
S313:当所述无标签脚本内容中未包含高危元素信息时,将所述无标签脚本内容反馈至所述脚本语言解释器。
S314:当所述无标签脚本内容中包含高危元素信息时,将报错信息反馈至所述脚本语言解释器。
本实施例提供的脚本语言解释器应用标签裁决的方法,使用应用容器模块将待执行的应用脚本封装为服务,能够便于用户采用“IP+端口+协议”形式来对其进行访问;并在使用裁决模块检测到所述无标签脚本内容中未包含高危元素信息时,将所述无标签脚本内容反馈至所述脚本语言解释器,当所述无标签脚本内容中包含高危元素信息时,将报错信息反馈至所述脚本语言解释器,实现对高危元素信息的有效裁决与反馈。
本发明实施例还提供了脚本语言解释器应用标签裁决的装置,所述脚本语言解释器应用标签裁决的装置用于实施本发明实施例提供的脚本语言解释器应用标签裁决的方法,下文描述的脚本语言解释器应用标签裁决的装置的技术内容,可与上文描述的脚本语言解释器应用标签裁决的方法的技术内容与相互对应参照。
请参阅图4,图4为本发明实施例提供的脚本语言解释器应用标签裁决的装置的一种结构示意图。
如图4所示,脚本语言解释器应用标签裁决的装置至少包括:脚本语言解释器401、Hook模块402、计时模块403、随机密钥生成模块404、加密模块405、License文件406、解密模块407、标签替换模块408、标签去除模块409与裁决模块410;
所述脚本语言解释器401,用于对待执行的应用脚本进行解释执行;
所述Hook模块402,用于在进行所述解释执行时,捕获已加过标签的目标脚本内容,并触发计时模块403进行计时;
所述计时模块403,用于计时,并基于预设时长进行超时判定;
所述随机密钥生成模块404,用于当计时时长超过预设时长时,生成随机密钥;
所述加密模块405,用于对所述随机密钥进行加密,并将加密后的随机密钥写入到License文件406中;
所述License文件406,用于存放所述加密后的随机密钥;
所述解密模块407,用于获取所述License文件406的内容;
所述标签替换模块408,用于基于所述License文件406的内容对所述目标脚本内容执行标签替换操作;
所述标签去除模块409,用于当计时时长未超过预设时长时,对所述目标脚本内容执行标签去除操作,得到无标签脚本内容;
所述裁决模块410,用于对所述无标签脚本内容进行裁决,并将裁决结果反馈至所述脚本语言解释器401。
本实施例提供的脚本语言解释器应用标签裁决的装置,采用随机标签的方式,结合超时判定,对目标脚本内容执行标签替换操作,相较于静态标签的处理方式,实现了标签的动态化与随机化,使标签能够在计时时长超过预设时长时随机发生改变,为暴力破解带来了巨大阻碍,充分降低了暴力破解的可能性,提高了脚本语言解释执行过程中的数据安全性,也大幅地提升了系统的安全性。
请参阅图5,图5为本发明实施例提供的脚本语言解释器应用标签裁决的装置的另一种结构示意图。
如图5所示,本实施例提供的脚本语言解释器应用标签裁决的装置,除了包括前述实施例中的脚本语言解释器401、Hook模块402、计时模块403、随机密钥生成模块404、加密模块405、License文件406、解密模块407、标签替换模块408、标签去除模块409与裁决模块410之外,还包括:应用容器模块411、应用脚本目录412与监控模块413。
应用容器模块411,用于将待执行的应用脚本封装为服务,以便所述脚本语言解释器通过IP、端口与协议的组合形式,来获取所述待执行的应用脚本;
应用脚本目录412,用于存放所述目标脚本内容,其实质可以是一个存储模块;
监控模块413,用于对所述License文件的内容进行监控。
其中,以上各模块之间的交互过程,可参见图6所示的交互示意图,在此不再赘述。
本实施例提供的脚本语言解释器应用标签裁决的装置,使用应用容器模块将待执行的应用脚本封装为服务,能够便于用户采用“IP+端口+协议”形式来对其进行访问;将所述目标脚本内容存放至预设的应用脚本目录中,设置监控模块来监控License文件的内容是否发生变化,并在监控模块监控到License文件发生变化时,基于变化后的License文件,触发标签替换操作,充分保证了标签的随机化与动态化,为暴力破解带来了巨大阻碍,充分降低了暴力破解的可能性;并在使用裁决模块检测到所述无标签脚本内容中未包含高危元素信息时,将所述无标签脚本内容反馈至所述脚本语言解释器,当所述无标签脚本内容中包含高危元素信息时,将报错信息反馈至所述脚本语言解释器,实现对高危元素信息的有效裁决与反馈。
本发明实施例提供的脚本语言解释器应用标签裁决的方案,可以便于在新环境中快速开发部署,且不应包含不适用或不必要的功能和框架。
本发明实施例提供的脚本语言解释器应用标签裁决的装置,包括处理器和存储器,上述脚本语言解释器401、Hook模块402、计时模块403、随机密钥生成模块404、加密模块405、License文件406、解密模块407、标签替换模块408、标签去除模块409、裁决模块410、应用容器模块411、应用脚本目录412与监控模块413等均可作为程序模块存储在存储器中,由处理器执行存储在存储器中的上述功能模块来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序模块。内核可以设置一个或以上,通过调整内核参数来实现本发明实施例的脚本语言解释器应用标签裁决的方法。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现前述的脚本语言解释器应用标签裁决的方法的步骤。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行前述的脚本语言解释器应用标签裁决的方法的步骤。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现前述的脚本语言解释器应用标签裁决的方法的步骤。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有前述的脚本语言解释器应用标签裁决的方法的步骤的程序。
最后,还需要说明的是,在本文中,诸如第一和第一等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式来实现。基于这样的理解,本申请的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种脚本语言解释器应用标签裁决的方法,其特征在于,包括:
使用脚本语言解释器,对待执行的应用脚本进行解释执行;
在进行所述解释执行时,使用Hook模块捕获已加过标签的目标脚本内容,并触发计时模块进行计时;
当计时时长超过预设时长时,使用随机密钥生成模块生成随机密钥,使用加密模块对所述随机密钥进行加密,并将加密后的随机密钥写入到License文件中,利用解密模块获取所述License文件的内容,使用标签替换模块基于所述License文件的内容对所述目标脚本内容执行标签替换操作;
当计时时长未超过预设时长时,使用标签去除模块对所述目标脚本内容执行标签去除操作,得到无标签脚本内容;
使用裁决模块对所述无标签脚本内容进行裁决,并将裁决结果反馈至所述脚本语言解释器;
所述使用裁决模块对所述无标签脚本内容进行裁决,并将裁决结果反馈至所述脚本语言解释器包括:
使用裁决模块检测所述无标签脚本内容中是否包含高危元素信息;
当所述无标签脚本内容中未包含高危元素信息时,将所述无标签脚本内容反馈至所述脚本语言解释器;
当所述无标签脚本内容中包含高危元素信息时,将报错信息反馈至所述脚本语言解释器。
2.如权利要求1所述的方法,其特征在于,在所述使用Hook模块捕获已加过标签的目标脚本内容之后,所述方法还包括:
将所述目标脚本内容存放至预设的应用脚本目录中;
相应的,所述使用标签替换模块基于所述License文件的内容对所述目标脚本内容执行标签替换操作,包括:
使用标签替换模块,基于所述License文件的内容,对所述应用脚本目录中的所述目标脚本内容执行标签替换操作。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:使用监控模块对所述License文件的内容进行监控;
所述利用解密模块获取所述License文件的内容,使用标签替换模块基于所述License文件的内容对所述目标脚本内容执行标签替换操作包括:
当所述监控模块监控到所述License文件发生变化时,使用标签替换模块调用解密模块来获取所述License文件的内容,并基于所述License文件的内容对所述目标脚本内容执行标签替换操作。
4.如权利要求3所述的方法,其特征在于,当所述监控模块监控到所述License文件发生变化时,所述方法还包括:
使用所述监控模块向所述脚本语言解释器发送休眠信号,以使脚本语言解释器暂停对外部请求的响应,直至标签替换操作结束。
5.如权利要求1所述的方法,其特征在于,在所述将加密后的随机密钥写入到License文件中之后,所述方法还包括:
将全局变量密钥的内容更换为所述随机密钥生成模块生成的随机密钥。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
使用所述计时模块设置所述预设时长,以对标签变化时间进行控制。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
使用应用容器模块将待执行的应用脚本封装为服务,以便所述脚本语言解释器通过IP、端口与协议的组合形式,来获取所述待执行的应用脚本。
8.一种脚本语言解释器应用标签裁决的装置,其特征在于,至少包括:脚本语言解释器、Hook模块、计时模块、随机密钥生成模块、加密模块、License文件、解密模块、标签替换模块、标签去除模块与裁决模块;
所述脚本语言解释器,用于对待执行的应用脚本进行解释执行;
所述Hook模块,用于在进行所述解释执行时,捕获已加过标签的目标脚本内容,并触发计时模块进行计时;
所述计时模块,用于计时,并基于预设时长进行超时判定;
所述随机密钥生成模块,用于当计时时长超过预设时长时,生成随机密钥;
所述加密模块,用于对所述随机密钥进行加密,并将加密后的随机密钥写入到License文件中;
所述License文件,用于存放所述加密后的随机密钥;
所述解密模块,用于获取所述License文件的内容;
所述标签替换模块,用于基于所述License文件的内容对所述目标脚本内容执行标签替换操作;
所述标签去除模块,用于当计时时长未超过预设时长时,对所述目标脚本内容执行标签去除操作,得到无标签脚本内容;
所述裁决模块,用于对所述无标签脚本内容进行裁决,并将裁决结果反馈至所述脚本语言解释器;
所述裁决模块,具体用于检测所述无标签脚本内容中是否包含高危元素信息;当所述无标签脚本内容中未包含高危元素信息时,将所述无标签脚本内容反馈至所述脚本语言解释器;当所述无标签脚本内容中包含高危元素信息时,将报错信息反馈至所述脚本语言解释器。
9.如权利要求8所述的装置,其特征在于,还包括:
应用容器模块,用于将待执行的应用脚本封装为服务,以便所述脚本语言解释器通过IP、端口与协议的组合形式,来获取所述待执行的应用脚本;
应用脚本目录,用于存放所述目标脚本内容;
监控模块,用于对所述License文件的内容进行监控。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910871248.8A CN110569032B (zh) | 2019-09-16 | 2019-09-16 | 脚本语言解释器应用标签裁决的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910871248.8A CN110569032B (zh) | 2019-09-16 | 2019-09-16 | 脚本语言解释器应用标签裁决的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110569032A CN110569032A (zh) | 2019-12-13 |
CN110569032B true CN110569032B (zh) | 2023-03-14 |
Family
ID=68780057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910871248.8A Active CN110569032B (zh) | 2019-09-16 | 2019-09-16 | 脚本语言解释器应用标签裁决的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110569032B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103221960A (zh) * | 2012-12-10 | 2013-07-24 | 华为技术有限公司 | 恶意代码的检测方法及装置 |
CN104200166A (zh) * | 2014-08-05 | 2014-12-10 | 杭州安恒信息技术有限公司 | 基于脚本的网站漏洞扫描方法和系统 |
US8931084B1 (en) * | 2008-09-11 | 2015-01-06 | Google Inc. | Methods and systems for scripting defense |
CN108388802A (zh) * | 2018-03-21 | 2018-08-10 | 中国人民解放军战略支援部队信息工程大学 | 一种脚本注入攻击的告警方法及告警系统 |
CN109992987A (zh) * | 2017-12-29 | 2019-07-09 | 深圳市融汇通金科技有限公司 | 基于Nginx的脚本文件保护方法、装置及终端设备 |
CN110233849A (zh) * | 2019-06-20 | 2019-09-13 | 电子科技大学 | 网络安全态势分析的方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7624373B2 (en) * | 2005-03-31 | 2009-11-24 | Microsoft Corporation | Security mechanism for interpreting scripts in an interpretive environment |
RU2584507C1 (ru) * | 2014-12-19 | 2016-05-20 | Закрытое акционерное общество "Лаборатория Касперского" | Способ обеспечения безопасного выполнения файла сценария |
-
2019
- 2019-09-16 CN CN201910871248.8A patent/CN110569032B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8931084B1 (en) * | 2008-09-11 | 2015-01-06 | Google Inc. | Methods and systems for scripting defense |
CN103221960A (zh) * | 2012-12-10 | 2013-07-24 | 华为技术有限公司 | 恶意代码的检测方法及装置 |
CN104200166A (zh) * | 2014-08-05 | 2014-12-10 | 杭州安恒信息技术有限公司 | 基于脚本的网站漏洞扫描方法和系统 |
CN109992987A (zh) * | 2017-12-29 | 2019-07-09 | 深圳市融汇通金科技有限公司 | 基于Nginx的脚本文件保护方法、装置及终端设备 |
CN108388802A (zh) * | 2018-03-21 | 2018-08-10 | 中国人民解放军战略支援部队信息工程大学 | 一种脚本注入攻击的告警方法及告警系统 |
CN110233849A (zh) * | 2019-06-20 | 2019-09-13 | 电子科技大学 | 网络安全态势分析的方法及系统 |
Non-Patent Citations (3)
Title |
---|
GMSA: Gathering Multiple Signatures Approach to Defend Against Code Injection Attacks;Hussein Alnabulsi;《 IEEE Access》;20181130;全文 * |
Lua语言在绕过主动防御技术中的作用;蒋永等;《通信技术》;20160910(第09期);全文 * |
基于行为的政府网站未知Webshel检测方法研究;张增波等;《警察技术》;20170307(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110569032A (zh) | 2019-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Morbitzer et al. | Extracting secrets from encrypted virtual machines | |
US10193918B1 (en) | Behavior-based ransomware detection using decoy files | |
US10657262B1 (en) | Method and apparatus for securing embedded device firmware | |
Ntantogian et al. | Evaluating the privacy of Android mobile applications under forensic analysis | |
EP2891104B1 (en) | Detecting a malware process | |
EP3007061A1 (en) | Application execution program, application execution method, and information processing terminal device in which application is executed | |
EP3270318B1 (en) | Dynamic security module terminal device and method for operating same | |
KR20080020952A (ko) | 정보 처리 시스템 및 프로그램 | |
CN109284585B (zh) | 一种脚本加密方法、脚本解密运行方法和相关装置 | |
CN109117201B (zh) | 一种程序退出的方法及相关设备 | |
CN111163095A (zh) | 网络攻击分析方法、网络攻击分析装置、计算设备和介质 | |
CN112131564A (zh) | 加密数据通信方法、装置、设备以及介质 | |
CN112182614A (zh) | 一种动态Web应用防护系统 | |
US10635839B2 (en) | Fixed-location IoT device for protecting secure storage access information and method for protecting secure storage access information of fixed-location IoT device | |
CN111259382A (zh) | 恶意行为识别方法、装置、系统和存储介质 | |
CN110659500A (zh) | 服务器安全检测方法、装置、计算机设备和存储介质 | |
WO2019134276A1 (zh) | 一种保护网页代码的方法、存储介质、电子设备和系统 | |
US10447671B1 (en) | Systems and methods for recovering encrypted information | |
CN110555303A (zh) | 防止机器脚本恶意访问的方法及装置 | |
CN106682493B (zh) | 一种防止进程被恶意结束的方法、装置及电子设备 | |
CN114662150A (zh) | 一种数据获取方法、装置及电子设备 | |
CN110569032B (zh) | 脚本语言解释器应用标签裁决的方法及装置 | |
CN107292133B (zh) | 人工智能的混淆技术方法及装置 | |
CN115828228B (zh) | 一种验证内存马检测能力的方法、装置及电子设备 | |
CN115567200A (zh) | http接口防刷方法、系统及相关设备 |
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 |