应用软件RASP程序更新方法、服务器、电子设备及存储介质技术

技术编号:33148572 阅读:25 留言:0更新日期:2022-04-22 14:01
本发明专利技术实施例公开一种应用软件RASP程序更新方法、服务器、电子设备及存储介质,涉及应用安全技术领域。所述方法包括:接收服务器管控端下发的RASP程序更新指令;根据所述最新版本RASP程序引擎属性信息与当前运行的RASP程序引擎属性信息判断是否更新当前运行的RASP程序;若是,则从所述获取地址获取最新版本RASP程序引擎包;移除所述应用软件内当前运行的RASP程序,释放当前运行的RASP程序关联的资源;将所述最新版本RASP程序引擎包插入所述应用软件的类的方法中。本发明专利技术无需重启应用软件即可完成内部RASP程序的升级、修复等业务更新,从而可避免出现RASP程序更新导致的应用软件业务停止的问题。件业务停止的问题。件业务停止的问题。

【技术实现步骤摘要】
应用软件RASP程序更新方法、服务器、电子设备及存储介质


[0001]本专利技术涉及应用安全
,尤其涉及一种应用软件RASP程序的更新方法、服务器、电子设备及存储介质。

技术介绍

[0002]当前,大部分集成现有RASP(Runtime application self

protection)的应用软件,在需要进行RASP升级或Bug修复更新时,需要重启应用软件(Application,有时中文也称应用程序);以应用OpenRASP插件的产品为例,当需要对其进行升级时,需要在下次重启应用软件时对RASP程序引擎进行手动升级,导致应用软件可能出现短暂的业务停止。

技术实现思路

[0003]有鉴于此,本专利技术实施例提供一种应用软件内部RASP程序的更新方法、客户端、电子设备及存储介质,无需重启应用软件即可完成内部RASP程序的升级、修复等业务更新,从而可避免出现RASP程序更新导致的应用软件业务停止的问题。
[0004]为达到上述专利技术目的,采用如下技术方案:
[0005]第一方面,本专利技术实施例提供一种应用软件RASP程序的更新方法,所述方法包括步骤:接收服务器管控端下发的RASP程序更新指令;所述更新指令中携带有服务器管控端上维护的最新版本RASP程序引擎属性信息及获取地址;根据所述最新版本RASP程序引擎属性信息与当前运行的RASP程序引擎属性信息判断是否更新当前运行的RASP程序;若是,则从所述获取地址获取最新版本RASP程序引擎包;移除所述应用软件内当前运行的RASP程序,释放当前运行的RASP程序关联的资源;将所述最新版本RASP程序引擎包插入所述应用软件的类的方法中。
[0006]结合第一方面,在第一方面的第一种实施方式中,所述引擎属性信息包含:引擎版本号;所述根据所述最新版本RASP程序引擎属性信息与当前运行的RASP程序引擎属性信息判断是否更新当前运行RASP程序,包括:将所述最新版本RASP程序引擎版本号与当前运行的RASP程序引擎版本号进行比对;若最新版本RASP程序引擎版本号大于当前运行的RASP程序引擎版本号,则确定更新当前运行的RASP程序。
[0007]结合第一方面或第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述引擎属性信息包含:引擎版本号及引擎包信息摘要值;
[0008]所述根据所述最新版本RASP程序引擎属性信息与当前运行的RASP程序引擎属性信息判断是否更新当前运行RASP程序,包括:将所述最新版本RASP程序引擎版本号与当前运行的RASP程序引擎版本号进行比对,以及将所述最新版本RASP程序引擎包信息摘要值与当前运行的RASP程序引擎包信息摘要值进行比对;若最新版本RASP程序引擎版本号大于当前运行的RASP程序引擎版本号,且所述最新版本RASP程序引擎包信息摘要值与当前运行的RASP程序引擎包信息摘要值一致,则确定更新当前运行的RASP程序。
[0009]结合第一方面,第一方面的第一种或第二种实施方式,在第一方面的第三种实施
方式中,所述在从所述获取地址获取最新版本RASP程序引擎包之后,所述方法还包括:判断获取的最新版本RASP程序引擎包是否完整;若完整,则根据当前获取的最新版本RASP程序引擎包进行更新。
[0010]结合第一方面,第一方面的第一种、第二种或第三种实施方式,在第一方面的第四种实施方式中,所述移除所述应用软件内当前运行的RASP程序,释放当前运行的RASP程序关联的资源,包括:移除RASP程序宿主运行环境中先前为当前运行的RASP程序注册的自定义类转换器;所述RASP程序宿主运行环境为所述应用软件的虚拟执行环境;遍历RASP程序运行环境中先前将当前运行的RASP程序插入到应用软件的方法中加载的插桩类,将得到的所有加载的插桩类回滚至原始类;释放当前运行的RASP程序关联的资源;所述关联的资源包含:插桩点管理器、类加载器及占用应用软件的内存空间。
[0011]结合第一方面,第一方面的第一种、第二种、第三或第四种实施方式,在第一方面的第五种实施方式中,所述将所述最新版本RASP程序引擎包插入所述应用软件的类的方法中,包括:获取所述最新版本RASP程序引擎包的属性信息;所述属性信息包含:引擎包包名及启动类;根据所述引擎包包名及启动类,获取顶层父类加载器和/或,获取当前应用软件的系统类加载器;对所述顶层父类加载器和/或系统类加载器进行标识,并调用所述顶层父类加载器和/或系统类加载器加载用于创建所述最新版本RASP程序的引擎类;通过所述引擎类创建最新版本RASP程序。
[0012]结合第一方面,第一方面的第一至第五种任一实施方式,在第一方面的第六种实施方式中,所述将所述最新版本RASP程序引擎包插入所述应用软件的类的方法中,还包括:在通过所述引擎类创建最新版本RASP程序之后,启动所述最新版本RASP程序;获取RASP程序宿主运行环境中所有被加载的类,判定所述被加载的类是否为待插桩的类;若是,则在对应的类中插入所述最新版本RASP程序。
[0013]结合第一方面,第一方面的第一至第六种任一实施方式,在第一方面的第七种实施方式中,所述最新版本RASP程序中包含攻击检测算法,所述攻击检测算法用于检测进入应用软件处理进程的用户请求是否为网络安全攻击。
[0014]第二方面,本专利技术实施例还提供一种服务器,包括主机,所述主机上安装有应用软件,所述应用软件中嵌入有RASP程序,所述RASP程序伴随所述应用软件运行过程中,用于执行第一方面任一所述的应用软件RASP程序的更新方法,以自动升级更新。
[0015]第三方面,本专利技术实施例提供一种电子设备,所述电子设备,包括:一个或者多个处理器;存储器;所述存储器中存储有一个或者多个可执行程序,所述一个或者多个处理器读取存储器中存储的可执行程序代码,来运行与可执行程序代码对应的程序,以用于执行第一方面任一所述的应用软件RASP程序的更新方法。
[0016]第四方面,本专利技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面任一所述的应用软件RASP程序的更新方法。
[0017]本专利技术实施例提供的应用软件RASP程序的更新方法、服务器、电子设备及存储介质,包括步骤:接收服务器管控端下发的RASP程序更新指令;根据所述最新版本RASP程序引擎属性信息与当前运行的RASP程序引擎属性信息判断是否更新当前运行的RASP程序;若是,则从所述获取地址获取最新版本RASP程序引擎包;移除所述应用软件内当前运行的
RASP程序,释放当前运行的RASP程序关联的资源;将所述最新版本RASP程序引擎包插入所述应用软件的类的方法中。通过上述方法步骤,在接收服务器管控端下发的RASP程序更新指令之后,可以自动判断是否需要更新,并在判断需要更新,获取到最新版本RASP程序引擎包之后,通过移除所述应用软件内当前运行的RASP程序,释放当前运行的RA本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用软件RASP程序的更新方法,其特征在于,所述方法包括步骤:接收服务器管控端下发的RASP程序更新指令;所述更新指令中携带有服务器管控端上维护的最新版本RASP程序引擎属性信息及获取地址;根据所述最新版本RASP程序引擎属性信息与当前运行的RASP程序引擎属性信息判断是否更新当前运行的RASP程序;若是,则从所述获取地址获取最新版本RASP程序引擎包;移除所述应用软件内当前运行的RASP程序,释放当前运行的RASP程序关联的资源;将所述最新版本RASP程序引擎包插入所述应用软件的类的方法中。2.根据权利要求1所述的应用软件RASP程序的更新方法,其特征在于,所述引擎属性信息包含:引擎版本号;所述根据所述最新版本RASP程序引擎属性信息与当前运行的RASP程序引擎属性信息判断是否更新当前运行RASP程序,包括:将所述最新版本RASP程序引擎版本号与当前运行的RASP程序引擎版本号进行比对;若最新版本RASP程序引擎版本号大于当前运行的RASP程序引擎版本号,则确定更新当前运行的RASP程序。3.根据权利要求1所述的应用软件RASP程序的更新方法,其特征在于,所述引擎属性信息包含:引擎版本号及引擎包信息摘要值;所述根据所述最新版本RASP程序引擎属性信息与当前运行的RASP程序引擎属性信息判断是否更新当前运行RASP程序,包括:将所述最新版本RASP程序引擎版本号与当前运行的RASP程序引擎版本号进行比对,以及将所述最新版本RASP程序引擎包信息摘要值与当前运行的RASP程序引擎包信息摘要值进行比对;若最新版本RASP程序引擎版本号大于当前运行的RASP程序引擎版本号,且所述最新版本RASP程序引擎包信息摘要值与当前运行的RASP程序引擎包信息摘要值一致,则确定更新当前运行的RASP程序。4.根据权利要求3所述的应用软件RASP程序的更新方法,其特征在于,所述在从所述获取地址获取最新版本RASP程序引擎包之后,所述方法还包括:判断获取的最新版本RASP程序引擎包是否完整;若完整,则根据当前获取的最新版本RASP程序引擎包进行更新。5.根据权利要求1所述的应用软件RASP程序的更新方法,其特征在于,所述移除所述应用软件内当前运行的RASP程序,释放当前运行的RASP程序关联的资源,包括:移除RASP程序宿主运行环境中先前为当前运行的RASP程序注册的自定...

【专利技术属性】
技术研发人员:许鹏飞程宇辉陈灵锋
申请(专利权)人:安天科技集团股份有限公司
类型:发明
国别省市:

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

1