CN110188539B - 一种运行应用的方法、装置及系统 - Google Patents
一种运行应用的方法、装置及系统 Download PDFInfo
- Publication number
- CN110188539B CN110188539B CN201910456369.6A CN201910456369A CN110188539B CN 110188539 B CN110188539 B CN 110188539B CN 201910456369 A CN201910456369 A CN 201910456369A CN 110188539 B CN110188539 B CN 110188539B
- Authority
- CN
- China
- Prior art keywords
- application
- running
- target operation
- execution result
- execution
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 99
- 230000008569 process Effects 0.000 claims abstract description 68
- 230000002159 abnormal effect Effects 0.000 claims abstract description 36
- 238000013486 operation strategy Methods 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 11
- 235000019580 granularity Nutrition 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000011084 recovery Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种运行应用的方法、装置及系统,方法包括:对待运行的第一应用进行复制,以生成至少两份与第一应用相同的第二应用,每个第二应用对应于不同的运行策略;以第二应用各自的运行策略,分别执行每个第二应用;分别对每个第二应用在其运行过程中的目标操作的执行结果进行拦截;对目标操作的执行结果进行判断,如果执行结果表明目标操作为正常操作,则恢复每个第二应用的运行,如果执行结果表明目标操作为异常操作,则中断每个第二应用的运行。因此,本申请中在应用的运行中通过设置不同的运行策略来检测不同方向的漏洞,进而拦截到不同方向的恶意攻击,从而达到从多方面保护应用的运行安全的目的。
Description
技术领域
本申请涉及软件安全技术领域,特别涉及一种运行应用的方法、装置及系统。
背景技术
随着网络的快速发展,能够为用户实现各种功能的应用层出不穷,各种应用作为重要的服务承载和提供平台,汇集了海量价值信息,如用户信息、企业数据、金融财政、商业机密等,其重要程度不言而喻。
而在当前网络环境中,相当多的软件诸如软件应用和Web应用等都存在着各种已知和未知的漏洞及后门,为攻击者提供了便利的攻击途径,使得应用的安全岌岌可危,应用的安全性越来越难以得到保证。
因此,有必要从各个方面加强应用的安全运行防护。
发明内容
有鉴于此,本申请的目的在于提供一种运行应用的方法、装置及系统,用以解决现有技术中应用运行的安全性较低的技术问题。
本申请公开了一种运行应用的方法,包括:
对待运行的第一应用进行复制,以生成至少两份与所述第一应用相同的第二应用,每个所述第二应用对应于不同的运行策略;
以所述第二应用各自的运行策略,分别执行每个所述第二应用;
分别对每个所述第二应用在其运行过程中的目标操作的执行结果进行拦截;
对所述目标操作的执行结果进行判断,如果所述执行结果表明所述目标操作为正常操作,则恢复每个所述第二应用的运行,如果所述执行结果表明所述目标操作为异常操作,则中断每个所述第二应用的运行。
上述方法,优选的,分别对每个所述第二应用在其运行过程中的目标操作的执行结果进行拦截,包括:
确定所述第一应用的运行拦截策略;
以所述运行拦截策略,分别对每个所述第二应用在其运行过程中的目标操作的执行结果进行拦截。
上述方法,优选的,所述运行拦截策略中至少包括:拦截的级别参数,不同的级别参数对应于不同的拦截的粒度。
上述方法,优选的,对所述目标操作的执行结果进行判断,包括:
判断每个所述第二应用对应的针对所述目标操作的执行结果是否相一致。
上述方法,优选的,在恢复每个所述第二应用的运行之后,所述方法还包括:
确定新的目标操作;
重新分别对每个所述第二应用在其运行过程中的新的目标操作的执行结果进行拦截;
对所述新的目标操作的执行结果进行判断,如果所述执行结果表明所述新的目标操作为正常操作,则恢复每个所述第二应用的运行,返回重新确定新的目标操作,直到每个所述第二应用运行完成,如果所述执行结果表明所述新的目标操作为异常操作,则中断每个所述第二应用的运行。
上述方法,优选的,在中断每个所述第二应用的运行之后,所述方法还包括:
恢复每个所述第二应用到其对应的安全状态,所述安全状态为前一次每个所述第二应用在其运行过程中的目标操作判断为正常操作时的运行状态。
本申请还公开了一种运行应用的装置,包括:
应用复制单元,用于对待运行的第一应用进行复制,以生成至少两份与所述第一应用相同的第二应用,每个所述第二应用对应于不同的运行策略;
应用执行单元,用于以所述第二应用各自的运行策略,分别执行每个所述第二应用;
操作拦截单元,用于分别对每个所述第二应用在其运行过程中的目标操作的执行结果进行拦截;
操作判断单元,用于对所述目标操作的执行结果进行判断,如果所述执行结果表明所述目标操作为正常操作,则恢复每个所述第二应用的运行,如果所述执行结果表明所述目标操作为异常操作,则中断每个所述第二应用的运行。
本申请还公开了一种运行应用的系统,包括:
存储器,用于存储应用程序及应用程序运行所产生的数据;
处理器,用于执行所述应用程序以实现以下功能:对待运行的第一应用进行复制,以生成至少两份与所述第一应用相同的第二应用,每个所述第二应用对应于不同的运行策略;以所述第二应用各自的运行策略,分别执行每个所述第二应用;分别对每个所述第二应用在其运行过程中的目标操作的执行结果进行拦截;对所述目标操作的执行结果进行判断,如果所述执行结果表明所述目标操作为正常操作,则恢复每个所述第二应用的运行,如果所述执行结果表明所述目标操作为异常操作,则中断每个所述第二应用的运行。
由以上方案可知,本申请提供的一种运行应用的方法、装置及系统,通过对待运行的第一应用进行复制,进而得到至少两份第二应用,而每个第二应用都对应于不同的运行策略,由此以每个第二应用各自的运行策略分别执行每个第二应用,而在每个第二应用的运行过程中对目标操作的执行结果进行拦截,从而基于目标操作的执行结果进行判断,以判断出目标操作属于正常操作还是外界攻击的异常操作,由此在正常操作时恢复每个第二应用继续运行,在异常操作时中断第二应用的运行。可见,本申请中通过以不同的运行策略执行复制来的第二应用,进而对不同运行策略下被执行的第二应用在运行过程中目标操作的执行结果进行拦截,由此基于拦截的执行结果判断出是否存在恶意攻击,因此,本申请中在应用的运行中通过设置不同的运行策略来检测不同方向的漏洞,进而拦截到不同方向的恶意攻击,从而达到从多方面保护应用的运行安全的目的。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例一提供的一种运行应用的方法的流程图;
图2为本申请实施例一提供的一种运行应用的方法的部分流程图;
图3及图4分别为本申请实施例一提供的一种运行应用的方法的另一流程图;
图5为本申请实施例的应用示例图;
图6为本申请实施例二提供的一种运行应用的装置的结构示意图;
图7为本申请实施例三提供的一种运行应用的系统的结构示意图;
图8为本申请实施例的另一应用示例图;
图9为本申请实施例在示例中的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,为本申请实施例一提供的一种运行应用的方法的实现流程示意图,本实施例中的方法适用于在应用的运行过程中进行安全保护,以避免在应用运行时出现安全漏洞,造成数据泄露或其他损失。
在本实施例中,该方法可以包括以下步骤:
步骤101:对待运行的第一应用进行复制,以生成至少两份与第一应用相同的第二应用。
其中,每个第二应用对应于不同的运行策略。
需要说明的是,第一应用可以为需要进行安全运行防护的应用,如聊天软件应用或购物web应用等。本实施例中在需要对应用进行安全运行防护时,首先对待运行的第一应用进行获取,并对获取的第一应用进行复制,得到多个第二应用,每个第二应用都与第一应用相一致。
而且,每个第二应用在复制出来之后都可以被配置为对应于不同的运行策略。
需要说明的是,运行策略可以理解为运行第二应用时所采用的运行规则,例如:应用运行时的地址空间布局策略、应用运行时的堆栈生长方向策略,等等。不同的运行策略能够在应用运行时暴露出不同的攻击类型,相应的,本实施例中通过对第二应用设置不同的运行策略以检测出可能存在的不同类型的恶意攻击。
步骤102:以第二应用各自的运行策略,分别执行每个第二应用。
也就是说,每个第二应用按照各自对应的运行策略分别进行运行或执行。
需要说明的是,每个第二应用的运行互不相交,各自独立,由此可以使得每个应用的运行可以暴露出相应类型的漏洞或攻击。
步骤103:分别对每个第二应用在其运行过程中的目标操作的执行结果进行拦截。
其中,目标操作可以为应用在运行过程中的操作,如参数修改或者函数跳转等操作。本实施例中可以利用拦截函数或对象对第二应用在其运行过程中的目标操作的执行结果进行拦截,进而得到每个第二应用在其运行过程中的目标操作的执行结果。
需要说明的是,本实施例中的目标操作可以为预设的特殊操作类型的操作,如参数类型的操作,也可以为应用运行过程中的任一操作,在第二应用的运行过程中,只要运行到目标操作,那么就对该目标操作的执行结果进行拦截,从而对该目标操作是否为正常操作或异常操作进行检测。
步骤104:对目标操作的执行结果进行判断,如果执行结果表明目标操作为正常操作,执行步骤105,如果执行结果表明目标操作为异常操作,执行步骤106。
其中,本实施例中对目标操作的执行结果进行判断是指:对每个第二应用在其运行过程中所拦截到的执行结果一起进行判断,也就是说,进行判断的执行结果的数量与第二应用的数量相同。本实施例中将拦截到的多个执行结果一起进行判断,从而判断出目标操作是正常操作还是异常操作。
需要说明的是,在拦截到每个第二应用针对目标操作的执行结果之后,通过对每个第二应用的运行进行暂停,以便于对目标操作的执行结果进行判断。
步骤105:恢复每个第二应用的运行。
也就是说,如果目标操作为正常操作,那么本实施例中就可以恢复每个第二应用的运行,继续对应用的运行进行安全保护。
步骤106:中断每个第二应用的运行。
也就是说,如果目标操作为异常操作,那么极有可能存在恶意攻击,此时本实施例中中断每个第二应用的运行,不再继续运行第二应用,从而可以避免恶意攻击的继续进行,达到保护应用运行的目的。
由以上方案可知,本申请实施例一提供的一种运行应用的方法,通过对待运行的第一应用进行复制,进而得到至少两份第二应用,而每个第二应用都对应于不同的运行策略,由此以每个第二应用各自的运行策略分别执行每个第二应用,而在每个第二应用的运行过程中对目标操作的执行结果进行拦截,从而基于目标操作的执行结果进行判断,以判断出目标操作属于正常操作还是外界攻击的异常操作,由此在正常操作时恢复每个第二应用继续运行,在异常操作时中断第二应用的运行。可见,本实施例中通过以不同的运行策略执行复制来的第二应用,进而对不同运行策略下被执行的第二应用在运行过程中目标操作的执行结果进行拦截,由此基于拦截的执行结果判断出是否存在恶意攻击,因此,本实施例中在应用的运行中通过设置不同的运行策略来检测不同方向的漏洞,进而拦截到不同方向的恶意攻击,从而达到从多方面保护应用的运行安全的目的。
在一种实现方式中,本实施例中步骤103中在分别对每个第二应用在其运行过程中的目标操作的执行结果进行拦截时,具体可以通过以下步骤实现,如图2中所示:
步骤201:确定第一应用的运行拦截策略。
其中,运行拦截策略中至少包括:拦截的级别参数,不同的级别参数对应于不同的拦截的粒度。
需要说明的是,第一应用的运行拦截策略可以基于第一应用的应用场景确定,本实施例中针对第一应用的应用场景不同,提供不同拦截粒度。
具体的,拦截的粒度可以有:应用级、函数级、代码块级、语句级或系统调用级等等。
步骤202:以确定的运行拦截策略,分别对每个第二应用在其运行过程中的目标操作的执行结果进行拦截。
其中,第一应用的运行拦截策略可以理解为每个第二应用在其运行过程中的拦截策略,也就是说,在第一应用的运行拦截策略确定之后,相应复制得到的每个第二应用的运行拦截策略与第一应用保持一致,相应的,在第一应用基于其应用场景确定运行拦截策略之后,在每个第二应用在其运行过程中采用相同的运行拦截策略对目标操作的执行结果进行拦截。如果第一应用的运行拦截策略发生变化,相应每个第二应用的运行拦截策略发生变化。
在一种实现方式中,本实施例中步骤104在对目标操作的执行结果进行判断时,具体可以通过以下方式实现:
判断每个第二应用对应的针对目标操作的执行结果是否相一致。
其中,如果每个第二应用在其运行过程中所拦截到的针对目标操作的执行结果均一致,那么表明在第二应用运行过程中目标操作属于正常操作,此时,执行步骤105恢复第二应用的运行,而如果每个第二应用在其运行过程中所拦截到的针对目标操作的执行结果并非全部都相同,存在一个或多个执行结果与其他结果相异,那么表明目标操作可能为恶意攻击或者运行异常等情况的操作,此时执行步骤106不再继续执行第二应用。
在一种实现方式中,本实施例中在步骤105之后,还可以包括以下步骤,如图3中所示:
步骤107:确定新的目标操作,返回执行步骤103,重新分别对每个第二应用在其运行过程中的新的目标操作的执行结果进行拦截,并执行步骤104对新的目标操作的执行结果进行判断,如果执行结果表明新的目标操作作为正常操作,则执行步骤105恢复每个第二应用运行,并重新执行步骤107,继续对第二应用运行过程中的其他新的目标操作进行检测,直到每个第二应用运行完成,而如果执行结果表明新的目标操作为异常操作,则执行步骤106中断每个第二应用的运行,以避免恶意攻击持续进行的情况。
其中,新的目标操作可以为恢复第二应用的运行之后第二应用的运行过程中的下一个操作或者下一个运行到的预设操作类型的操作。
可见,本实施例中在每个第二应用的运行过程中持续进行目标操作的检测,如果对拦截执行结果的目标操作判断为正常操作,那么恢复让每个第二应用继续运行并继续进行下一个新的目标操作的检测判断,而如果目标操作判断为异常操作,那么就即刻中断,不再继续运行每个第二应用。
进一步的,在发现目标操作为异常操作,中断每个第二应用的运行之后,本实施例中还可以包括以下步骤,如图4中所示:
步骤108:恢复每个所述第二应用到其对应的安全状态。
其中,安全状态为前一次每个第二应用在其运行过程中的目标操作判断为正常操作时的运行状态,如图5中所示,目标操作A最近一次被判断为正常操作,记录此时每个第二应用的运行状态为安全状态,在对之后的目标操作B进行判断时,发现目标操作B为异常操作,此时中断每个第二应用的运行,并恢复到目标操作A被执行时对应的第二应用的运行状态。
相应的,在每个第二应用恢复到安全状态之后,即每个第二应用恢复到上一次目标操作为正常操作时的运行状态之后,可以继续中断每个第二应用的运行,也可以触发每个第二应用从恢复到的安全状态开始重新恢复运行,以避开恶意攻击所产生的影响,重新从上一次的安全状态恢复运行,以保证应用的完整运行。
参考图6,为本申请实施例二提供的一种运行应用的装置的结构示意图,该装置可以为构建在设备中的能够实现应用安全运行的运行环境应用,适用于在应用的运行过程中进行安全保护,例如,将待运行的应用放置到本实施例中的装置中,以避免在应用运行时出现安全漏洞,造成数据泄露或其他损失。
在本实施例中,该装置可以包括以下结构:
应用复制单元601,用于对待运行的第一应用进行复制,以生成至少两份与所述第一应用相同的第二应用。
其中,每个第二应用对应于不同的运行策略。
需要说明的是,第一应用可以为需要进行安全运行防护的应用,如聊天软件应用或购物web应用等。本实施例中在需要对应用进行安全运行防护时,首先对待运行的第一应用进行获取,并对获取的第一应用进行复制,得到多个第二应用,每个第二应用都与第一应用相一致。
而且,每个第二应用在复制出来之后都可以被配置为对应于不同的运行策略。
需要说明的是,运行策略可以理解为运行第二应用时所采用的运行规则,例如:应用运行时的地址空间布局策略、应用运行时的堆栈生长方向策略,等等。不同的运行策略能够在应用运行时暴露出不同的攻击类型,相应的,本实施例中通过对第二应用设置不同的运行策略以检测出可能存在的不同类型的恶意攻击。
应用执行单元602,用于以所述第二应用各自的运行策略,分别执行每个所述第二应用。
也就是说,每个第二应用按照各自对应的运行策略分别进行运行或执行。
需要说明的是,每个第二应用的运行互不相交,各自独立,由此可以使得每个应用的运行可以暴露出相应类型的漏洞或攻击。
操作拦截单元603,用于分别对每个所述第二应用在其运行过程中的目标操作的执行结果进行拦截。
其中,目标操作可以为应用在运行过程中的操作,如参数修改或者函数跳转等操作。本实施例中可以利用拦截函数或对象对第二应用在其运行过程中的目标操作的执行结果进行拦截,进而得到每个第二应用在其运行过程中的目标操作的执行结果。
需要说明的是,本实施例中的目标操作可以为预设的特殊操作类型的操作,如参数类型的操作,也可以为应用运行过程中的任一操作,在第二应用的运行过程中,只要运行到目标操作,那么就对该目标操作的执行结果进行拦截,从而对该目标操作是否为正常操作或异常操作进行检测。
操作判断单元604,用于对所述目标操作的执行结果进行判断,如果所述执行结果表明所述目标操作为正常操作,则恢复每个所述第二应用的运行,如果所述执行结果表明所述目标操作为异常操作,则中断每个所述第二应用的运行。
其中,本实施例中对目标操作的执行结果进行判断是指:对每个第二应用在其运行过程中所拦截到的执行结果一起进行判断,也就是说,进行判断的执行结果的数量与第二应用的数量相同。本实施例中将拦截到的多个执行结果一起进行判断,从而判断出目标操作是正常操作还是异常操作。
需要说明的是,在操作拦截单元603拦截到每个第二应用针对目标操作的执行结果之后,操作判断单元604通过对每个第二应用的运行进行暂停,以便于对目标操作的执行结果进行判断。如果目标操作为正常操作,那么本实施例中操作判断单元604就可以恢复每个第二应用的运行,继续对应用的运行进行安全保护。如果目标操作为异常操作,那么极有可能存在恶意攻击,此时本实施例中操作判断单元604中断每个第二应用的运行,不再继续运行第二应用,从而可以避免恶意攻击的继续进行,达到保护应用运行的目的。
由以上方案可知,本申请实施例二提供的一种运行应用的装置,通过构建出应用安全运行的运行环境,而在运行环境中对待运行的第一应用进行复制,进而得到至少两份第二应用,每个第二应用都对应于不同的运行策略,由此以每个第二应用各自的运行策略分别执行每个第二应用,而在每个第二应用的运行过程中对目标操作的执行结果进行拦截,从而基于目标操作的执行结果进行判断,以判断出目标操作属于正常操作还是外界攻击的异常操作,由此在正常操作时恢复每个第二应用继续运行,在异常操作时中断第二应用的运行。可见,本实施例中在运行环境中通过以不同的运行策略执行复制来的第二应用,进而对不同运行策略下被执行的第二应用在运行过程中目标操作的执行结果进行拦截,由此基于拦截的执行结果判断出是否存在恶意攻击,因此,本实施例中在应用的运行中通过设置不同的运行策略来检测不同方向的漏洞,进而拦截到不同方向的恶意攻击,从而达到从多方面保护应用的运行安全的目的。
在一种实现方式中,操作拦截单元603分别对每个所述第二应用在其运行过程中的目标操作的执行结果进行拦截,具体可以为:
确定所述第一应用的运行拦截策略;以所述运行拦截策略,分别对每个所述第二应用在其运行过程中的目标操作的执行结果进行拦截。
相应的,所述运行拦截策略中至少包括:拦截的级别参数,不同的级别参数对应于不同的拦截的粒度,如应用级、函数级、代码块级、语句级或系统调用级的粒度级别。
在一种实现方式中,操作判断单元604具体可以判断每个所述第二应用对应的针对所述目标操作的执行结果是否相一致,以实现对所述目标操作的执行结果的判断。
而在操作判断单元604恢复每个所述第二应用的运行之后,还可以确定新的目标操作,再重新分别对每个所述第二应用在其运行过程中的新的目标操作的执行结果进行拦截;之后,对所述新的目标操作的执行结果进行判断,如果所述执行结果表明所述新的目标操作为正常操作,则恢复每个所述第二应用的运行,返回重新确定新的目标操作,直到每个所述第二应用运行完成,如果所述执行结果表明所述新的目标操作为异常操作,则中断每个所述第二应用的运行。
进一步的,在操作判断单元604中断每个所述第二应用的运行之后还可以:恢复每个所述第二应用到其对应的安全状态,所述安全状态为前一次每个所述第二应用在其运行过程中的目标操作判断为正常操作时的运行状态。
参考图7,为本申请实施例三提供的一种运行应用的系统的结构示意图,该系统可以为计算机或服务器等能够进行应用运行的设备,其中构建有能够保证应用安全运行的运行环境,如图6中的装置,适用于在应用的运行过程中进行安全保护,以避免在应用运行时出现安全漏洞,造成数据泄露或其他损失。
在本实施例中,该系统可以包括以下结构:
存储器701,用于存储应用程序及应用程序运行所产生的数据;
处理器702,用于执行所述应用程序以实现以下功能:对待运行的第一应用进行复制,以生成至少两份与所述第一应用相同的第二应用,每个所述第二应用对应于不同的运行策略;以所述第二应用各自的运行策略,分别执行每个所述第二应用;分别对每个所述第二应用在其运行过程中的目标操作的执行结果进行拦截;对所述目标操作的执行结果进行判断,如果所述执行结果表明所述目标操作为正常操作,则恢复每个所述第二应用的运行,如果所述执行结果表明所述目标操作为异常操作,则中断每个所述第二应用的运行。
在一种实现方式中,处理器702分别对每个所述第二应用在其运行过程中的目标操作的执行结果进行拦截,具体可以为:
确定所述第一应用的运行拦截策略;以所述运行拦截策略,分别对每个所述第二应用在其运行过程中的目标操作的执行结果进行拦截。
相应的,所述运行拦截策略中至少包括:拦截的级别参数,不同的级别参数对应于不同的拦截的粒度,如应用级、函数级、代码块级、语句级或系统调用级的粒度级别。
在一种实现方式中,处理器702具体可以判断每个所述第二应用对应的针对所述目标操作的执行结果是否相一致,以实现对所述目标操作的执行结果的判断。
而在处理器702恢复每个所述第二应用的运行之后,还可以确定新的目标操作,再重新分别对每个所述第二应用在其运行过程中的新的目标操作的执行结果进行拦截;之后,对所述新的目标操作的执行结果进行判断,如果所述执行结果表明所述新的目标操作为正常操作,则恢复每个所述第二应用的运行,返回重新确定新的目标操作,直到每个所述第二应用运行完成,如果所述执行结果表明所述新的目标操作为异常操作,则中断每个所述第二应用的运行。
进一步的,在处理器702中断每个所述第二应用的运行之后还可以:恢复每个所述第二应用到其对应的安全状态,所述安全状态为前一次每个所述第二应用在其运行过程中的目标操作判断为正常操作时的运行状态。
基于以上技术方案,以下对本案在对应用进行运行保护的具体实现进行举例说明:
本实施例中为应用运行构建运行时的安全环境,在需要进行应用运行时,将待运行的应用放入到构建的运行时的安全环境。之后,在安全环境中,开始进行应用的运行。
具体的,本实施例中的安全环境可以具有以下功能逻辑模块,如图8中所示:异构冗余执行模块、可定制化拦截模块、表决处理恢复模块。
其中,如图8中所示,本实施例中首先将待运行的应用放入构造的运行时的安全环境中,在安全环境中首先将该待运行的应用复制成N(N为大于或等于2的正整数)份到异构冗余执行模块进行分别进行执行;在复制出的应用在异构冗余执行模块中被运行时,通过配置可定制化拦截模块的拦截策略,如拦截的粒度参数等,来决定在哪个层次上对应用的相关操作执行结果进行拦截,之后将拦截到的操作执行结果发送给表决处理恢复模块进行处理。表决处理恢复模块如果以上操作为正常操作,则恢复异构冗余执行模块中的应用运行的上下文环境并继续运行应用,直到下次拦截表决。表决处理恢复模块如果以上操作为异常操作,即攻击操作,则会遏制异构冗余执行模块该操作的继续进行,并恢复应用在异构冗余执行模块中的安全状态,即上一次表决为正常操作时的运行状态,从而保证应用的运行安全。
以下对各模块具体说明如下:
异构冗余执行模块:其内部具有各自相异的特点,使得复制的N个应用执行时互不相交,具有各自独立的特点,可以使得一个漏洞只在其中一个执行体中出现。例如,在各个异构冗余模块内部,可创造不同的多样化策略特点,比如经修改过的地址空间随机化策略,改变其地址空间布局,或者改变堆栈的生长方向等等多样化策略。因为每个模块在功能是等价的,即会在正常的操作中,输出同样的结果,而不同的多样化策略,会防御某一类攻击,比如说改变堆栈生长方向后,若在两个模块同时执行时发生基于堆栈类的攻击,由于内部的不同,必将产生不同的结果。
可定制化拦截模块:具有多种可定制的拦截级别,可以针对应用级、函数级、代码块级、语句级、系统调用级进行拦截,此拦截针对不同的应用场景,提供不同的拦截粒度,确保合适性能消耗和安全性兼具。比如,对应用级别,也是最粗粒度的级别,就是直接拦截应用执行完的结果;而函数级,就是针对每一个函数执行后产生的函数结果拦截;代码块级,则针对块级代码进行拦截,监控一些变量的值的正确与否;语句级,则相当于对每条语句都进行拦截,更相当于单步调试的概念,一般不使用此级别,调试时则会有很大用处;对系统调用级别拦截时,可以拦截发起系统调用的相应参数。
表决处理恢复模块:在收到可定制化拦截模块拦截的结果时,可以对其进行表决,针对各个执行体的结果,采用合理的表决策略,得出最终的结果。此结果决定应用运行的该项操作能够成功操作。若为正常操作,则恢复应用运行的上下文继续运行。若为异常操作,即攻击操作,则会遏制该操作的继续进行,并恢复应用的安全状态。
在具体实现中,本申请的具体实施步骤如下,如图9中所示:
步骤901:配置可定制化拦截模块:
目前主要针对应用级、函数级、代码块级、语句级、系统调用级进行拦截,拦截操作的反应后可发送给处理模块;
步骤902:将应用放入构造的运行时安全环境;
步骤903:进行正常操作应用,包括步骤904和步骤905;
步骤904:可定制化拦截模块拦截到相应操作信息,执行步骤905;
步骤905:表决处理恢复模块表决一致,为正常操作,继续运行应用;
步骤906:进行异常操作应用,包括步骤907和步骤908;
步骤907:可定制化拦截模块拦截到相应操作信息;
步骤908:表决处理恢复模块表决不一致,为异常操作,遏制操作,并恢复安全状态。
其中,针对上述实例,若恶意用户对目标的应用服务发起攻击,则依据不同情况有如下分析:
恶意攻击者对应用进行攻击,但由于应用在外部看来只是一次运行,并不知道内部的运行机制,则攻击者的操作在异构冗余执行模块各个分别执行,根据配置好的拦截策略,对该项操作进行拦截,并在表决处理恢复模块中发现执行操作的结果相异,直接遏制本次操作,并恢复应用的初始状态,由此保证恶意操作没有真正的进行,恶意攻击者也没有收到相应的反馈。
其中,每个异构冗余执行模块已经经过多样化的构造,比如说一个异构冗余执行模块经过了改变堆栈生长发现的构造,则能够抵御一些基于堆栈的攻击,而一个没有经过改变的异构冗余执行模块,则会被攻击并做出反应。此时,两者的执行结果相异。这里的相异是指执行结果不同,而前文中的异构冗余执行模块相异主要是为了体现各个模块的异构性特点。
综上所述,本申请能够对应用在执行过程中通过内部多个执行的结果判断一项操作的安全性,来判断是否将该操作遏制,只要有相应的操作,就必定会在该环境中引起相应的变化,根据变化的相同或相异,就能够判断是正常操作或者异常操作,从而保证应用的安全性。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种运行应用的方法、装置及系统进行了详细介绍,对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种运行应用的方法,其特征在于,包括:
对待运行的第一应用进行复制,以生成至少两份与所述第一应用相同的第二应用,每个所述第二应用对应于不同的运行策略,其中,所述运行策略包括应用运行时的地址空间布局策略,和应用运行时的堆栈生长方向策略;
以所述第二应用各自的运行策略,分别执行每个所述第二应用;
分别对每个所述第二应用在其运行过程中的目标操作的执行结果进行拦截,其中,所述拦截完成后,各个所述第二应用的运行暂停;
对每个所述第二应用在其运行过程中所拦截到的执行结果进行一并判断,如果所述执行结果表明所述目标操作为正常操作,则恢复每个所述第二应用的运行,如果所述执行结果表明所述目标操作为异常操作,则中断每个所述第二应用的运行;
恢复每个所述第二应用到其对应的安全状态,所述安全状态为前一次每个所述第二应用在其运行过程中的目标操作判断为正常操作时的运行状态。
2.根据权利要求1所述的方法,其特征在于,分别对每个所述第二应用在其运行过程中的目标操作的执行结果进行拦截,包括:
确定所述第一应用的运行拦截策略;
以所述运行拦截策略,分别对每个所述第二应用在其运行过程中的目标操作的执行结果进行拦截。
3.根据权利要求2所述的方法,其特征在于,所述运行拦截策略中至少包括:拦截的级别参数,不同的级别参数对应于不同的拦截的粒度。
4.根据权利要求1或2所述的方法,其特征在于,对所述目标操作的执行结果进行判断,包括:
判断每个所述第二应用对应的针对所述目标操作的执行结果是否相一致。
5.根据权利要求1所述的方法,其特征在于,在恢复每个所述第二应用的运行之后,所述方法还包括:
确定新的目标操作;
重新分别对每个所述第二应用在其运行过程中的新的目标操作的执行结果进行拦截;
对所述新的目标操作的执行结果进行判断,如果所述执行结果表明所述新的目标操作为正常操作,则恢复每个所述第二应用的运行,返回重新确定新的目标操作,直到每个所述第二应用运行完成,如果所述执行结果表明所述新的目标操作为异常操作,则中断每个所述第二应用的运行。
6.一种运行应用的装置,其特征在于,包括:
应用复制单元,用于对待运行的第一应用进行复制,以生成至少两份与所述第一应用相同的第二应用,每个所述第二应用对应于不同的运行策略,其中,所述运行策略包括应用运行时的地址空间布局策略,和应用运行时的堆栈生长方向策略;
应用执行单元,用于以所述第二应用各自的运行策略,分别执行每个所述第二应用;
操作拦截单元,用于分别对每个所述第二应用在其运行过程中的目标操作的执行结果进行拦截,其中,所述拦截完成后,各个所述第二应用的运行暂停;
操作判断单元,用于对每个所述第二应用在其运行过程中所拦截到的执行结果进行一并判断,如果所述执行结果表明所述目标操作为正常操作,则恢复每个所述第二应用的运行,如果所述执行结果表明所述目标操作为异常操作,则中断每个所述第二应用的运行;
所述操作判断单元,还用于恢复每个所述第二应用到其对应的安全状态,所述安全状态为前一次每个所述第二应用在其运行过程中的目标操作判断为正常操作时的运行状态。
7.一种运行应用的系统,其特征在于,包括:
存储器,用于存储应用程序及应用程序运行所产生的数据;
处理器,用于执行所述应用程序以实现以下功能:对待运行的第一应用进行复制,以生成至少两份与所述第一应用相同的第二应用,每个所述第二应用对应于不同的运行策略,其中,所述运行策略包括应用运行时的地址空间布局策略,和应用运行时的堆栈生长方向策略;以所述第二应用各自的运行策略,分别执行每个所述第二应用;分别对每个所述第二应用在其运行过程中的目标操作的执行结果进行拦截;对所述目标操作的执行结果进行判断,如果所述执行结果表明所述目标操作为正常操作,则恢复每个所述第二应用的运行,如果所述执行结果表明所述目标操作为异常操作,则中断每个所述第二应用的运行;恢复每个所述第二应用到其对应的安全状态,所述安全状态为前一次每个所述第二应用在其运行过程中的目标操作判断为正常操作时的运行状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910456369.6A CN110188539B (zh) | 2019-05-29 | 2019-05-29 | 一种运行应用的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910456369.6A CN110188539B (zh) | 2019-05-29 | 2019-05-29 | 一种运行应用的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110188539A CN110188539A (zh) | 2019-08-30 |
CN110188539B true CN110188539B (zh) | 2021-06-15 |
Family
ID=67718499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910456369.6A Expired - Fee Related CN110188539B (zh) | 2019-05-29 | 2019-05-29 | 一种运行应用的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110188539B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353155B (zh) * | 2020-03-30 | 2022-09-20 | 绿盟科技集团股份有限公司 | 一种进程注入的检测方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104732147A (zh) * | 2015-04-13 | 2015-06-24 | 成都睿峰科技有限公司 | 一种应用程序处理方法 |
CN109150831A (zh) * | 2018-07-16 | 2019-01-04 | 中国人民解放军战略支援部队信息工程大学 | 一种内生安全的云任务执行装置及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8453243B2 (en) * | 2005-12-28 | 2013-05-28 | Websense, Inc. | Real time lockdown |
CN109218322B (zh) * | 2018-09-28 | 2021-05-28 | 郑州昂视信息科技有限公司 | 一种拟态防御方法、装置及系统 |
-
2019
- 2019-05-29 CN CN201910456369.6A patent/CN110188539B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104732147A (zh) * | 2015-04-13 | 2015-06-24 | 成都睿峰科技有限公司 | 一种应用程序处理方法 |
CN109150831A (zh) * | 2018-07-16 | 2019-01-04 | 中国人民解放军战略支援部队信息工程大学 | 一种内生安全的云任务执行装置及方法 |
Non-Patent Citations (2)
Title |
---|
基于软件多样化的拟态安全防御策略;张宇嘉等;《计算机科学》;20180530;正文第216页第3段、219-220页及图2 * |
张宇嘉等.基于软件多样化的拟态安全防御策略.《计算机科学》.2018, * |
Also Published As
Publication number | Publication date |
---|---|
CN110188539A (zh) | 2019-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110290100B (zh) | 一种基于SDN的拟态Web服务器及用户请求处理方法 | |
KR101881179B1 (ko) | 가상 컴퓨팅 환경들을 보안하는 시스템 및 방법 | |
Yuan et al. | A systematic survey of self-protecting software systems | |
EP3326100B1 (en) | Systems and methods for tracking malicious behavior across multiple software entities | |
KR101122787B1 (ko) | 보안관련 프로그래밍 인터페이스 | |
US8127412B2 (en) | Network context triggers for activating virtualized computer applications | |
EP3168770B1 (en) | Executing process monitoring | |
EP3270319B1 (en) | Method and apparatus for generating dynamic security module | |
KR20180097527A (ko) | 다수의 네트워크 종점들을 보호하기 위한 듀얼 메모리 인트로스펙션 | |
US20110209219A1 (en) | Protecting User Mode Processes From Improper Tampering or Termination | |
CN101685487A (zh) | Api检查装置以及状态监视装置 | |
EP3474174B1 (en) | System and method of adapting patterns of dangerous behavior of programs to the computer systems of users | |
CN107463856B (zh) | 一种基于可信内核的防攻击数据处理器 | |
US10204036B2 (en) | System and method for altering application functionality | |
CN110188539B (zh) | 一种运行应用的方法、装置及系统 | |
CN112363797B (zh) | 一种虚拟机安全运行方法、电子设备及存储介质 | |
Stetsyuk et al. | Implementation of Control by Parameters of Client Automated Workplaces of Specialized Information Systems for Neutralization malware. | |
JP6861196B2 (ja) | プログラムの危険な挙動のパターンをユーザのコンピュータシステムに適応させるシステムおよび方法 | |
JP2007058862A (ja) | サーバ・プロセスを管理する方法および装置ならびにコンピュータ・プログラム(コンピュータ・システム内でサーバ・プロセスを管理する方法または装置) | |
CN112269996A (zh) | 一种面向区块链主节点的主动免疫可信计算平台的动态度量方法 | |
CN115617599A (zh) | 一种基于在线交互式web动态防御的运行环境监测方法 | |
Hareesh et al. | Accurate fork bomb detection by process name | |
Cohen | Current best practices against computer viruses with examples from the DOS operating system | |
EP3605374A1 (en) | Intrusion resilient applications | |
JP2023177332A (ja) | コンピュータ又はコンピュータネットワークにおける脅威検出の構成及び方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210615 |