CN110737450A - 一种动态应用安全增强方法、装置、设备和计算机介质 - Google Patents
一种动态应用安全增强方法、装置、设备和计算机介质 Download PDFInfo
- Publication number
- CN110737450A CN110737450A CN201910867158.1A CN201910867158A CN110737450A CN 110737450 A CN110737450 A CN 110737450A CN 201910867158 A CN201910867158 A CN 201910867158A CN 110737450 A CN110737450 A CN 110737450A
- Authority
- CN
- China
- Prior art keywords
- server
- replacement
- instruction
- file
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000011161 development Methods 0.000 claims description 18
- 230000009466 transformation Effects 0.000 claims description 13
- 238000005457 optimization Methods 0.000 claims description 12
- 238000003780 insertion Methods 0.000 claims description 4
- 230000037431 insertion Effects 0.000 claims description 4
- 238000013475 authorization Methods 0.000 claims description 3
- 230000002708 enhancing effect Effects 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 description 32
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013433 optimization analysis Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本公开实施例公开了一种动态应用安全增强方法、装置、设备和计算机介质,其中,所述随机化部署装置包括至少一个服务器和至少一个部署有终端代理的终端设备,所述终端设备连接于所述服务器,所述方法包括所述服务器响应于部署请求,向发送所述部署请求的终端代理发送中间文件,所述终端代理对所述中间文件进行二进制随机化处理,获得目标文件,所述终端代理基于所述目标文件在目标系统中部署目标软件。该技术方案能够使得应用软件在部署使用和更新过程保持较大的随机化特性,降低了由于存在漏洞而被黑客攻击和利用的安全风险,同时不影响随机化部署装置的使用性能。
Description
技术领域
本发明涉及网络安全技术领域,尤其是一种动态应用安全增强方法、装置、设备和计算机介质。
背景技术
应用软件是信息系统的基本组成元素,大多数网络攻击是以应用软件漏洞为突破口。而现有技术中的应用软件开发完毕后,通常只将最终生成的应用软件放置到服务器中,以供用户下载和使用,软件一旦存在漏洞,所有使用该软件的用户都将面临被攻击的可能,使得应用软件安全防护存在易攻难守的问题。
发明内容
为了解决上述现有技术中存在的问题,本发明提供一种动态应用安全增强方法、装置、设备和计算机介质。
第一方面,本公开实施例中提供了一种动态应用安全增强方法。
具体地,所述动态应用安全增强方法,用于随机化部署装置,其中,所述随机化部署装置包括至少一个服务器和至少一个部署有终端代理的终端设备,所述终端设备连接于所述服务器,其特征在于,所述方法包括:
所述服务器响应于部署请求,向发送所述部署请求的终端代理发送中间文件;
所述终端代理对所述中间文件进行二进制随机化处理,获得目标文件;
所述终端代理基于所述目标文件在目标系统中部署目标软件。
可选地,当所述服务器包括所述应用软件的源代码以及开发编译环境时,其特征在于,还包括:
所述服务器在所述开发编译环境中,对所述源代码进行抗优化变换,以确定替换指令集和元数据库;
所述服务器基于所述替换指令集确定中间文件。
可选地,所述服务器在所述开发编译环境中,对所述源代码进行抗优化变换,以确定替换指令集,包括:
所述服务器在所述开发编译环境中,对源代码进行编译,确定输入指令集,所述输入指令集包括多个输入指令;
所述服务器确定多个替换指令,所述多个替换指令与所述多个输入指令一一对应;
所述服务器基于所述多个替换指令确定所述替换指令集;
其中,所述元数据库包括:
至少一个等价指令集,所述等价指令集与所述输入指令集功能相同、表达形式不同;和/或
至少一个等价寄存器分配方案;和/或
至少一个冗余指令插入信息。
可选地,所述替换指令为第一指令的替换指令,其中,所述第一指令为所述多个输入指令中的任意一个,其中:
所述服务器确定多个替换指令,包括:
所述服务器确定第一指令的目标操作数和替换规则;
所述服务器根据所述替换规则和所述目标操作数,确定所述第一指令所对应的中间指令;
所述服务器获取所述中间指令的判断参数,其中,所述判断参数包括以下参数中的至少一个:长度、复杂度、运算次数;
当所述判断参数满足第一判断条件时,所述服务器根据所述中间指令,确定所述第一指令的替换指令。
可选地,所述终端代理对所述中间文件进行二进制随机化处理,获得所述目标文件,包括:
所述终端代理对所述中间文件进行反汇编,获得汇编文件;
所述终端代理基于所述等价指令集、所述等价寄存器分配方案和冗余指令插入信息,对所述汇编文件中的对应内容进行替换处理,以确定替换文件,其中,所述对应内容包括所述指令集和/或所述寄存器分配方案中的至少一部分,获得替换汇编文件;
所述终端代理对所述替换汇编文件进行汇编,获得所述目标文件。
可选地,所述方法还包括:
所述终端代理获取所述目标软件的更新信息;
所述终端代理基于所述更新信息对所述目标软件进行更新;
其中,所述更新信息包括:
二进制随机化参数,所述二进制随机化参数包括以下信息中的至少一个:目标软件的路径、目标软件的模块、随机化时间间隔;和/或
配置信息,所述配置信息包括以下信息中的至少一个:所述服务器的地址信息、目标软件的唯一标识、软件更新周期以及授权信息。
可选地,所述装置还包括至少一个控制台,与所述至少一个服务器一一对应连接,其特征在于,所述服务器在所述开发编译环境中,对所述源代码进行抗优化变换,以确定替换指令集和元数据库,包括:
所述控制台设置所述应用软件的随机化参数;
所述服务器从所述控制台获取所述随机化参数;
所述服务器基于所述随机化参数在所述开发编译环境中,对所述源代码进行抗优化变换,以确定替换指令集和元数据库。
第二方面,本公开实施例提供一种动态应用安全增强装置,其特征在于,包括至少一个服务器和至少一个部署有终端代理的终端设备,所述终端设备连接于所述服务器,其中:
所述服务器被配置为响应于部署请求,向发送所述部署请求的终端代理发送中间文件;
所述终端代理被配置为对所述中间文件进行二进制随机化处理,获得目标文件;
所述终端代理被配置为基于所述目标文件在目标系统中部署目标软件。
第三方面,本公开实施例提供一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如第一方面中任一项所述的方法。
第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面中任一项所述的方法。
本发明的主要优点如下:本发明方法通过在随机化部署装置中设置的代理服务器,便于软件更新以及定期重新随机化等任务能够在装置后台自动完成,使得应用软件在部署使用和更新过程保持较大的随机化特性,降低了由于存在漏洞而被黑客攻击和利用的安全风险,同时不影响随机化部署装置的使用性能。
附图说明
图1是根据本发明一实施方式的随机化部署装置的示意图;
图2是根据本公开实施例的动态应用安全增强方法的流程图;
图3是根据本公开实施例的获得中间文件的流程图;
图4是根据本公开实施例的确定替换指令的流程图;
图5是根据本公开实施例的确定所述第一指令的替换指令的流程图;
图6是根据本公开实施例的确定目标文件的流程图;
图7是根据本公开实施例的确定目标文件的流程图;
图8是根据本公开实施例的控制台操作流程图;
图9示出根据本公开的实施例的电子设备的结构框图;
图10示出适于用来实现根据本公开实施例的动态应用安全增强方法的计算机系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
根据本公开的实施例,所述随机化部署装置包括至少一个服务器和至少一个部署有终端代理的终端设备,所述终端设备连接于所述服务器。
根据本公开的实施例,所述服务器被配置为响应于部署请求,向发送所述部署请求的终端代理发送中间文件;
所述终端代理被配置为对所述中间文件进行二进制随机化处理,获得目标文件;
所述终端代理被配置为基于所述目标文件在目标系统中部署目标软件。
图1是根据本发明一实施方式的随机化部署装置1的示意图,如图1所示,所述随机化部署装置1可以包括服务器101和102、终端设备103。
根据本公开的实施例,所述随机化部署装置1还包括网络104,所述网络104用于在服务器101和102、终端设备103之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。根据本公开的实施例,用户可以使用终端设备103通过网络104与服务器101(和/或服务器102)交互,以接收或发送消息等。
终端设备103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。其中,终端设备103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
根据本公开的实施例,所述终端设备103中可以部署有终端代理。这样,所述终端设备103能够通过所属终端代理与所述服务器101(和/或服务器102)交互,使得软件更新、定期重新随机化等任务能够通过所述终端代理于后台自动完成。
根据本公开的实施例,服务器101(或者服务器102)可以是提供各种服务的服务器,例如对用户利用终端设备103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
根据本公开的实施例,当所述装置中包括多个服务器时,所述多个服务器可以设置为多级服务器。例如,装置中包括服务器101和服务器102时,可以将所述服务器102设置为所述服务器101的上一级服务器,则所述终端设备103可以连接于所述服务器101,也可以通过所述服务器101连接于服务器102。这样,当服务器遇到未知请求时,能够将该未知请求转发至上一级服务器来进行处理,例如,当服务器101遇到未知请求时,将该未知请求转发至上一级服务器102来进行处理。
应该理解,图1中的终端设备、网络、服务器以及控制台的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2是根据本公开实施例的动态应用安全增强方法的流程图,如图2所示,所述动态应用安全增强方法包括以下步骤S101-S103,用于如图1所示的所述随机化部署装置
在步骤S101中,所述服务器响应于部署请求,向发送所述部署请求的终端代理发送中间文件。
在步骤S102中,所述终端代理对所述中间文件进行二进制随机化处理,获得目标文件。
在步骤S103中,所述终端代理基于所述目标文件在目标系统中部署目标软件。
根据本公开的实施例,所述应用可以是部署于系统中的可操作对象,例如,应用软件等。其中,接下来,以应用软件为例对本申请进行解释和说明。
根据本公开的实施例,当所述服务器中部署有应用软件时,任意一个能够与所述服务器通讯的终端设备,可以向所述服务器发起部署请求。响应于所述部署请求,所述服务器向所述终端设备所连接的终端代理发送中间文件。所述中间文件能够在目标系统中实现与所述应用软件相同的功能,通常是二进制文件。
根据本公开的实施例,所述二进制随机化处理包括反汇编、分析重写和汇编。
根据本公开的实施例,当应用软件为采用机器语言的二进制文件时,所述服务器先通过对所述应用软件进行反汇编,获得采用汇编语言的汇编文件,其中,所述反汇编是指将机器语言(例如,采用“0”和“1”表示的二进制语言)转换为汇编语言,从而将采用较低级语言的二进制文件转换为采用较高级语言的汇编文件。
根据本公开的实施例,所述分析重写处理可以包括以下处理中的至少一个:指令重排、指令等价替换、寄存器重分配。
根据本公开的实施例,所述指令等价替换是指在不改变指令功能的情况下,对所述指令进行替换。例如,对于指令JE target,可以将操作数JE进行调换,从而替换为JNZtarget。
根据本公开的实施例,所述指令重排是指在不改变应用软件功能的情况下,对多个指令进行重新排序,从而改变指令的执行顺序。
根据本公开的实施例,所述寄存器是中央处理器内的组成部分,是有限存贮容量的高速存贮部件,用于来暂存指令、数据和地址。所述寄存器重分配是指在不改变应用软件功能的情况下,对多个指令的寄存器进行重新分配。
根据本公开的实施例,通过所述二进制随机化处理,获得与所述汇编文件的功能相同,而内部结构(例如,操作数、指令顺序和寄存器等)不同的替换汇编文件。
根据本公开的实施例,汇编是指汇编是指汇编语言转换为机器语言,从而将采用较高级语言的替换汇编文件转换为采用较低级语言的目标文件。这样,当终端设备基于所述目标文件在目标系统中部署目标软件时,所述目标软件既能实现所述应用软件的功能,又能具有与所述应用软件不同的内部结构。另外,当不同终端设备请求部署所述应用软件时,所述终端代理可以通过二进制随机化处理,获得不同的目标文件,从而在不同的终端设备中,部署不同的目标软件,提高了目标软件的多样性,而攻击者由于难以得知所有目标软件的内部结构,很难对指定目标实施攻击,这在很大程度上避免出现仅需要找到一个漏洞就能攻陷存在该漏洞的所有系统的现象。
图3是根据本公开实施例的获得中间文件的流程图,如图3所示,当所述服务器包括所述应用软件的源代码以及开发编译环境时,所述步骤S101可以通过步骤S201-S202,以获得中间文件。
在步骤S201中,所述服务器在所述开发编译环境中,对所述源代码进行抗优化变换,以确定替换指令集和元数据库。
根据本公开的实施例,所述抗优化变化是指对于指令,通过不定次的算术变换和逻辑变换组合,生成不定长的替换指令,以提高指令的随机性,从而有效防止自身编译器或者攻击者通过优化分析的方式化简所述替换指令集,增加攻击者的分析难度。
在步骤S202中,所述服务器基于所述替换指令集确定中间文件。
根据本公开的实施例,所述替换指令集采用汇编语言,所述中间文件采用机器语言(例如,二进制语言)。其中,终端设备可以基于所述中间文件在目标系统中配置中间软件,所述中间软件与所述应用软件的功能相同,而内部结构不同。
图4是根据本公开实施例的确定替换指令的流程图,如图4所示,所述步骤S201可以通过以下步骤S301-S303,以确定中间文件。
在步骤S301中,所述服务器在所述开发编译环境中,对源代码进行编译,确定输入指令集,所述输入指令集包括多个输入指令。
在步骤S302中,所述服务器确定多个替换指令,所述多个替换指令与所述多个输入指令一一对应。
在步骤S303中,所述服务器基于所述多个替换指令确定所述替换指令集。
根据本公开的实施例,所述替换指令可以为第一指令的替换指令,其中,所述第一指令为所述多个输入指令中的任意一个。图5是根据本公开实施例的确定所述第一指令的替换指令的流程图,如图5所示,在所述步骤S302中,所述服务器可以通过以下步骤S401-S404,以确定第一指令的替换指令:
在步骤S401中,所述服务器确定第一指令的目标操作数和替换规则。
在步骤S402中,所述服务器根据所述替换规则和所述目标操作数,确定所述第一指令所对应的中间指令。
在步骤S403中,所述服务器获取所述中间指令的判断参数。
根据本公开的实施例,所述判断参数包括以下参数中的至少一个:长度、复杂度、运算次数。
在步骤S404中,当所述判断参数满足第一判断条件时,所述服务器根据所述中间指令,确定所述第一指令的替换指令。
例如,假设所述服务器包括应用软件A的源代码C1及其开发编译环境时,当终端设备请求配置所述应用软件A时,所述动态应用安全增强方法的具体实现流程如下。
在步骤S301中,所述服务器先在所述开发编译环境中,对所述源代码C1进行编译,确定输入指令集C2={di|i=1,…,n},n为正整数,其中,di表示输入指令。
在步骤S302中,所述服务器先确定所述输入指令di(即第一指令)的目标操作数,比如,指令di=a+b,目标操作数可以确定为a,并确定对所述输入指令di的替换规则,例如,将操作数a替换为a-random+random,其中,random表示随机数(步骤S401);
然后,所述服务器根据所述替换规则和所述目标操作数,确定所述所述输入指令di所对应的中间指令,比如,指令di=a+b的中间指令为di’=a-random+random+b(步骤S402);
接着,所述服务器获取所述中间指令di’的判断参数(步骤S403);
然后,当所述判断参数满足第一判断条件时,所述服务器根据所述中间指令,确定所述输入指令di的替换指令(步骤S404),比如,假设判断参数为长度,相应地,所述第一判断条件为,长度大于预设长度阈值,则若所述中间指令di’的长度大于所述预设长度阈值,则所述输入指令di的替换指令为中间指令di’=a-random+random+b。
另外,若所述判断参数不能满足所述第一判断条件时,重复所述步骤S401-404,直至所述中间指令的判断参数满足第一判断条件。
以上述方法,可以获得与所述输入指令集C2={di|i=1,…,n}中n个输入指令一一对应的替换指令(步骤S302),基于所述n个替换指令,所述服务器可以确定替换指令集C3={di’|i=1,…,n},所述替换指令集C3与所述输入指令集C2的功能相同,而内部结构不同。
根据本公开的实施例,所述服务器在所述开发编译环境中,对所述源代码进行抗优化变换,以确定中间文件,还可以包括步骤S405。
在步骤S405中,所述服务器确定元数据库。
根据本公开的实施例,所述元数据库可以包括与所述输入指令集功能相同、表达形式不同的多个等价替换指令集。
根据本公开的实施例,所述元数据库还可以包括至少一个等价寄存器分配方案。
根据本公开的实施例,当所述服务器在所述开发编译环境中对源代码进行编译时,除了生成输入指令集,通常还会生成寄存器分配方案,而元数据库中所记录的等价寄存器分配方案与所述输入指令集所对应的寄存器分配方案不同,但不改变目标软件的功能。
根据本公开的实施例,所述元数据库还可以包括至少一个冗余指令插入信息。
根据本公开的实施例,在所述输入指令集中插入至少一个冗余指令,可以有效改变所述目标软件的内部结构,但不改变目标软件的功能。
根据本公开的实施例,所述动态应用安全增强方法采用内存结构随机化。其中,所述内存结构随机化是指在内存数据结构之间动态地插入随机长度的填充区域。
以栈内存结构为例,假设每个指令集(例如,输入指令集、替换指令集)包括至少一个函数调用指令,则可以在部署所述目标软件的过程中(步骤S101-S103),在每个所述函数调用指令前插入栈顶抬高指令,并相应地在函数调用指令后插入栈顶恢复指令,其中,所述栈顶抬高指令和栈顶恢复指令的内存区域长度由函数相关的全局变量控制。
在目标软件的运行过程中,动态地改变所述全局变量的取值,则每次目标软件运行和函数调用时形成的栈帧结构将呈现出动态随机的特性,即每次函数调用形成的栈帧结构之间的填充内存区域长度是随机的。
这样,能够有效降低打乱所述内存布局结构的计算开销,从而有效抵御那些依赖于内存固定布局的漏洞攻击方法。
图6是根据本公开实施例的确定目标文件的流程图,如图6所示,若所述服务器确定了元数据库,在所述步骤S102中,可以通过以下步骤S501-S503,以确定所述目标文件。
在步骤S501中,所述终端代理对所述中间文件进行反汇编,获得汇编文件。
在步骤S502中,所述终端代理基于所述等价指令集、所述等价寄存器分配方案和冗余指令插入信息,对所述汇编文件中的对应内容进行替换处理,以确定替换文件,其中,所述对应内容包括所述指令集和/或所述寄存器分配方案中的至少一部分。
在步骤S503中,所述终端代理对所述替换汇编文件进行汇编,获得所述目标文件。
根据本公开的实施例,服务器在编译过程中记录相关元数据库,则所述终端代理可以通过查询所述元数据库,以实现对汇编文件的替换,从而实现二进制随机化处理。
图7是根据本公开实施例的确定目标文件的流程图,如图7所示,所述动态应用安全增强方法还包括步骤S601-S602,以确定所述目标文件。
在步骤S601中,所述终端代理获取所述目标软件的更新信息;
在步骤S602中,所述终端代理基于所述更新信息对所述目标软件进行更新。
根据本公开的实施例,所述更新信息可以包括二进制随机化参数。根据本公开的实施例,所述二进制随机化参数包括以下信息中的至少一个:目标软件的路径、目标软件的模块、随机化时间间隔。
根据本公开的实施例,所述更新信息还可以包括配置信息。根据本公开的实施例,所述配置信息包括以下信息中的至少一个:所述服务器的地址信息、目标软件的唯一标识、软件更新周期以及授权信息。
根据本公开的实施例,终端代理可以根据不同的安全性需要,配置所述更新信息,并根据所述更新信息对目标软件,或者其部分模块进行更新。所述更新包括对所述目标软件进行二进制随机化,或者,先向相应的服务器申请下载所述目标软件对应的更新软件,再对所述更新软件所对应的中间文件进行二进制随机化处理。这样,可以在一定程度上保证应用软件在部署使用和更新过程保持最大的随机化特性。从而降低目标软件由于存在漏洞而可能被黑客攻击和利用的安全风险。
继续参考图1,根据本公开的实施例,所述装置还可以包括至少一个控制台(例如,103控制台105和106),与所述至少一个服务器(例如,服务器101和102)一一对应连接。图8是根据本公开实施例的控制台操作流程图,如图8所示,当所述装置还包括至少一个控制台时,所述控制台可以通过以下步骤S701-S703与服务器进行交互。
在步骤S701中,所述控制台设置所述应用软件的随机化参数。
在步骤S702中,所述服务器从所述控制台获取所述随机化参数。
在步骤S703中,所述服务器基于所述随机化参数在所述开发编译环境中,对所述源代码进行抗优化变换,以确定替换指令集和元数据库。
根据本公开的实施例,当服务器上部署有多个应用软件的源代码及其开发编译环境时,由于对于每个应用软件的编译和生成机制可能均不相同,与所述服务器相连接的控制台主要用于配置不同应用软件所对应的随机化参数,比如采用的随机化技术种类、随机化强度、性能要求等参数。
图9示出根据本公开的实施例的电子设备900的结构框图。
如图9所示,所述电子设备900包括存储器901和处理器902。所述存储器901用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器902执行上述方法步骤。
图10示出适于用来实现根据本公开实施例的动态应用安全增强方法的计算机系统1000的结构示意图。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1009加载到随机访问存储器(RAM)1003中的程序而执行上述实施例中的各种处理。在RAM1003中,还存储有系统1000操作所需的各种程序和数据。CPU1001、ROM1002以及RAM1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在其可读介质上的计算机程序,所述计算机程序包含用于执行上述数据管理和/或访问方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种可读存储介质,该可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的可读存储介质;也可以是单独存在,未装配入设备中的可读存储介质。可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域开发人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种动态应用安全增强方法,用于随机化部署装置,其中,所述随机化部署装置包括至少一个服务器和至少一个部署有终端代理的终端设备,所述终端设备连接于所述服务器,其特征在于,所述方法包括:
所述服务器响应于部署请求,向发送所述部署请求的终端代理发送中间文件;
所述终端代理对所述中间文件进行二进制随机化处理,获得目标文件;
所述终端代理基于所述目标文件在目标系统中部署目标软件。
2.如权利要求1所述的方法,当所述服务器包括所述应用软件的源代码以及开发编译环境时,其特征在于,还包括:
所述服务器在所述开发编译环境中,对所述源代码进行抗优化变换,以确定替换指令集和元数据库;
所述服务器基于所述替换指令集确定中间文件。
3.如权利要求2所述的方法,其特征在于,所述服务器在所述开发编译环境中,对所述源代码进行抗优化变换,以确定替换指令集,包括:
所述服务器在所述开发编译环境中,对源代码进行编译,确定输入指令集,所述输入指令集包括多个输入指令;
所述服务器确定多个替换指令,所述多个替换指令与所述多个输入指令一一对应;
所述服务器基于所述多个替换指令确定所述替换指令集;
其中,所述元数据库包括:
至少一个等价指令集,所述等价指令集与所述输入指令集功能相同、表达形式不同;和/或
至少一个等价寄存器分配方案;和/或
至少一个冗余指令插入信息。
4.如权利要求3所述的方法,其特征在于,所述替换指令为第一指令的替换指令,其中,所述第一指令为所述多个输入指令中的任意一个,其中:
所述服务器确定多个替换指令,包括:
所述服务器确定第一指令的目标操作数和替换规则;
所述服务器根据所述替换规则和所述目标操作数,确定所述第一指令所对应的中间指令;
所述服务器获取所述中间指令的判断参数,其中,所述判断参数包括以下参数中的至少一个:长度、复杂度、运算次数;
当所述判断参数满足第一判断条件时,所述服务器根据所述中间指令,确定所述第一指令的替换指令。
5.如权利要求4所述的方法,其特征在于,所述终端代理对所述中间文件进行二进制随机化处理,获得所述目标文件,包括:
所述终端代理对所述中间文件进行反汇编,获得汇编文件;
所述终端代理基于所述等价指令集、所述等价寄存器分配方案和冗余指令插入信息,对所述汇编文件中的对应内容进行替换处理,以确定替换文件,其中,所述对应内容包括所述指令集和/或所述寄存器分配方案中的至少一部分,获得替换汇编文件;
所述终端代理对所述替换汇编文件进行汇编,获得所述目标文件。
6.如权利要求1所述的方法,其特征在于,还包括:
所述终端代理获取所述目标软件的更新信息;
所述终端代理基于所述更新信息对所述目标软件进行更新;
其中,所述更新信息包括:
二进制随机化参数,所述二进制随机化参数包括以下信息中的至少一个:目标软件的路径、目标软件的模块、随机化时间间隔;和/或
配置信息,所述配置信息包括以下信息中的至少一个:所述服务器的地址信息、目标软件的唯一标识、软件更新周期以及授权信息。
7.如权利要求1所述的方法,所述装置还包括至少一个控制台,与所述至少一个服务器一一对应连接,其特征在于,所述服务器在所述开发编译环境中,对所述源代码进行抗优化变换,以确定替换指令集和元数据库,包括:
所述控制台设置所述应用软件的随机化参数;
所述服务器从所述控制台获取所述随机化参数;
所述服务器基于所述随机化参数在所述开发编译环境中,对所述源代码进行抗优化变换,以确定替换指令集和元数据库。
8.一种动态应用安全增强装置,其特征在于,包括至少一个服务器和至少一个部署有终端代理的终端设备,所述终端设备连接于所述服务器,其中:
所述服务器被配置为响应于部署请求,向发送所述部署请求的终端代理发送中间文件;
所述终端代理被配置为对所述中间文件进行二进制随机化处理,获得目标文件;
所述终端代理被配置为基于所述目标文件在目标系统中部署目标软件。
9.一种电子设备,其特征在于,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1-7任一项所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-7任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910867158.1A CN110737450A (zh) | 2019-09-12 | 2019-09-12 | 一种动态应用安全增强方法、装置、设备和计算机介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910867158.1A CN110737450A (zh) | 2019-09-12 | 2019-09-12 | 一种动态应用安全增强方法、装置、设备和计算机介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110737450A true CN110737450A (zh) | 2020-01-31 |
Family
ID=69267909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910867158.1A Pending CN110737450A (zh) | 2019-09-12 | 2019-09-12 | 一种动态应用安全增强方法、装置、设备和计算机介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110737450A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314377A (zh) * | 2020-03-17 | 2020-06-19 | 中科天御(苏州)科技有限公司 | 一种工控终端动态多样化云安全方法及系统 |
WO2023124170A1 (zh) * | 2021-12-30 | 2023-07-06 | 百富计算机技术(深圳)有限公司 | 数据处理方法、系统、终端设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103493061A (zh) * | 2011-02-15 | 2014-01-01 | 普瑞维克斯有限公司 | 用于应对恶意软件的方法和装置 |
US20170357593A1 (en) * | 2016-06-09 | 2017-12-14 | LGS Innovations, Inc. | System and Method for Securing a Network Device |
CN108898020A (zh) * | 2018-05-31 | 2018-11-27 | 深圳壹账通智能科技有限公司 | 基于代理端的漏洞检测方法、装置、移动终端和存储介质 |
-
2019
- 2019-09-12 CN CN201910867158.1A patent/CN110737450A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103493061A (zh) * | 2011-02-15 | 2014-01-01 | 普瑞维克斯有限公司 | 用于应对恶意软件的方法和装置 |
US20170357593A1 (en) * | 2016-06-09 | 2017-12-14 | LGS Innovations, Inc. | System and Method for Securing a Network Device |
CN108898020A (zh) * | 2018-05-31 | 2018-11-27 | 深圳壹账通智能科技有限公司 | 基于代理端的漏洞检测方法、装置、移动终端和存储介质 |
Non-Patent Citations (2)
Title |
---|
傅建明: "云计算环境下基于随机化的安全防御研究" * |
韩鹍: "复合式软件随机化安全防御方法" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314377A (zh) * | 2020-03-17 | 2020-06-19 | 中科天御(苏州)科技有限公司 | 一种工控终端动态多样化云安全方法及系统 |
WO2023124170A1 (zh) * | 2021-12-30 | 2023-07-06 | 百富计算机技术(深圳)有限公司 | 数据处理方法、系统、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110651269B (zh) | 隔离的容器事件监视 | |
US10367837B2 (en) | Optimizing security analyses in SaaS environments | |
US8527862B2 (en) | Methods for making ajax web applications bookmarkable and crawlable and devices thereof | |
CN109391509A (zh) | 一种更新应用程序的方法、系统及应用服务器 | |
CN105354337A (zh) | 一种网络爬虫实现方法和网络爬虫系统 | |
US10216601B2 (en) | Agent dynamic service | |
CN104392008A (zh) | 网页数据获取方法、浏览器客户端及cdn服务器 | |
CA2982272C (en) | Automatic task tracking | |
CN110737450A (zh) | 一种动态应用安全增强方法、装置、设备和计算机介质 | |
CN114528517A (zh) | 一种视图处理方法、装置、电子设备及计算机可读介质 | |
CN102984020A (zh) | 基于云计算的上网监控方法、监控系统以及监控服务器 | |
CN112131230B (zh) | 应用SaaS化实现方法、装置、设备及存储介质 | |
CN114981792A (zh) | 在内容递送网络的边缘处管理共享应用程序 | |
CN111885177A (zh) | 一种基于云计算技术的生物信息分析云计算方法、系统 | |
CN111414154A (zh) | 前端开发的方法、装置、电子设备和存储介质 | |
CN116917858A (zh) | 容器化应用中的运行时通信协议参数调整 | |
CN114579167A (zh) | 一种下载应用升级文件的方法、装置及存储介质 | |
CN110780864A (zh) | 类方法替换的控制方法及装置、存储介质及电子设备 | |
CN113190228B (zh) | 一种脚本文件生成的方法、装置以及计算机存储介质 | |
CN103152211B (zh) | 应用程序的安装方法及系统 | |
CN114528212A (zh) | 提供测试数据的方法、装置、设备和计算机可读介质 | |
CN111026563A (zh) | 调用接口的方法、装置、存储介质及电子设备 | |
CN117667289A (zh) | 应用组件的加载渲染方法和装置 | |
CN117076046A (zh) | 云容器多级访问方法、装置、存储介质及芯片 | |
CN116302479A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200131 |