[发明专利]一种软件自防护方法、装置、电子设备及存储介质在审
申请号: | 202111520389.9 | 申请日: | 2021-12-13 |
公开(公告)号: | CN114282178A | 公开(公告)日: | 2022-04-05 |
发明(设计)人: | 陈永余;白淳升 | 申请(专利权)人: | 安天科技集团股份有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F21/56;G06F21/57 |
代理公司: | 北京科衡知识产权代理有限公司 11928 | 代理人: | 王淑静 |
地址: | 150028 黑龙江省哈尔滨市高新技术产*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 防护 方法 装置 电子设备 存储 介质 | ||
1.一种软件自防护方法,其特征在于,应用于电子设备;所述方法包括:
创建主进程,在所述主进程中创建多个功能进程,每个功能进程通过访问预设外部组件实现对应的部分软件功能,所述主进程用于对每个功能进程进行调度以实现全部软件功能;
获取每个功能进程访问预设外部组件的返回值,将每个功能进程对应的返回值与主进程中预存的返回值进行比较;
若比较结果为异常,则阻断异常返回值对应的功能进程。
2.根据权利要求1所述的软件自防护方法,其特征在于,所述主进程还用于:
对自身进程对应软件代码进行完整性校验。
3.根据权利要求1所述的软件自防护方法,其特征在于,在创建多个功能进程后,还包括:
创建主进程与各个功能进程之间的通信管道,以使所述主进程与各个功能进程通过所述通信管道进行数据交互。
4.根据权利要求1所述的软件自防护方法,其特征在于,所述获取每个功能进程访问预设外部组件的返回值,包括:
获取功能进程对应函数访问预设外部组件形成的堆栈,所述堆栈中包括功能进程名称、待访问函数名称、偏移量和内存地址中的一种或多种;
计算所述堆栈对应的哈希值,将所述堆栈对应的哈希值作为功能进程访问预设外部组件的返回值。
5.根据权利要求1所述的软件自防护方法,其特征在于,还包括:
对所述异常返回值对应的功能进程进行快照并保存快照结果。
6.根据权利要求1~5任一项所述的软件自防护方法,其特征在于,在阻断异常返回值对应的功能进程后,还包括:
创建与所述异常返回值对应的功能进程功能相同的新的功能进程,以实现所述异常返回值对应的功能进程对应的部分软件功能。
7.根据权利要求1所述的软件自防护方法,其特征在于,所述在所述主进程中创建多个功能进程,包括:
将软件按照对运行平台的不同组件操作划分为多个功能,创建每个功能对应的功能进程。
8.一种软件自防护装置,其特征在于,包括:
第一创建模块,用于创建主进程,在所述主进程中创建多个功能进程,每个功能进程通过访问预设外部组件实现对应的部分软件功能,所述主进程用于对每个功能进程进行调度以实现软件功能;
比较模块,用于获取每个功能进程访问预设外部组件的返回值,将每个功能进程对应的返回值与主进程中预存的返回值进行比较;
阻断模块,用于在比较结果为异常时,阻断异常返回值对应的功能进程。
9.根据权利要求8所述的软件自防护装置,其特征在于,还包括:
校验模块,用于对主进程自身对应软件代码进行完整性校验。
10.根据权利要求8所述的软件自防护装置,其特征在于,还包括:
第二创建模块,用于创建主进程与各个功能进程之间的通信管道,以使所述主进程与各个功能进程通过所述通信管道进行数据交互。
11.根据权利要求8所述的软件自防护装置,其特征在于,还包括:
计算模块,用于获取功能进程对应函数访问预设外部组件形成的堆栈,所述堆栈中包括功能进程名称、待访问函数名称、偏移量和内存地址中的一种或多种,计算所述堆栈对应的哈希值,将所述堆栈对应的哈希值作为功能进程访问预设外部组件的返回值。
12.根据权利要求8所述的软件自防护装置,其特征在于,还包括:
快照模块,用于对所述异常返回值对应的功能进程进行快照并保存快照结果。
13.根据权利要求8所述的软件自防护装置,其特征在于,还包括:
第三创建模块,用于创建与所述异常返回值对应的功能进程功能相同的新的功能进程,以实现所述异常返回值对应的功能进程对应的部分软件功能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安天科技集团股份有限公司,未经安天科技集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111520389.9/1.html,转载请声明来源钻瓜专利网。