软件执行流程监控方法、监控系统及存储介质技术方案

技术编号:39259801 阅读:10 留言:0更新日期:2023-10-30 12:11
本申请公开了一种软件执行流程监控方法、监控系统及存储介质,软件执行流程监控方法应用于监控系统中的硬件探测引擎,硬件探测引擎和处理器耦接,包括:硬件探测引擎在软件执行过程中,捕捉软件运行的指令执行流;硬件探测引擎根据软件运行过程中的上下文信息,对指令执行流进行合理性判断,并在判断结果异常时,向处理器发送异常提示信息。通过上述方式,本申请提供的软件执行流程监控方法可以减少处理器的资源消耗,且实现对软件执行流程的监控。控。控。

【技术实现步骤摘要】
软件执行流程监控方法、监控系统及存储介质


[0001]本申请涉及软件执行流程监控
,特别是软件执行流程监控方法、监控系统及存储介质。

技术介绍

[0002]常见的防止软件执行流程与预设流程不一致的方法是,通过在软件对应的程序中插入检测代码的方式实现,虽然该方式可以有效防止软件执行流程与预设流程不一致,但资源消耗较大,且不适合实际的部署应用。

技术实现思路

[0003]本申请提供一种软件执行流程监控方法、监控系统及存储介质,通过对指令执行流进行监控的方式,可以减少处理器的资源消耗,且实现对软件执行流程的监控。
[0004]为了解决上述技术问题,本申请采用的一个技术方案是:提供一种软件执行流程的监控方法,应用于监控系统中的硬件探测引擎,硬件探测引擎和处理器耦接,包括:硬件探测引擎在软件执行过程中,捕捉软件运行的指令执行流;硬件探测引擎根据软件运行过程中的上下文信息,对指令执行流进行合理性判断,并在判断结果异常时,向处理器发送异常提示信息。
[0005]其中,硬件探测引擎根据软件运行过程中的上下文信息,对指令执行流进行合理性判断,包括:硬件探测引擎利用指令执行流中的当前指令、下一指令、根据软件运行过程中的上下文信息,预测出下一指令与预期执行路径的偏离程度;硬件探测引擎对偏离程度进行合理性判断。
[0006]其中,硬件探测引擎中存储有关系映射表,关系映射表为指令标签与软件中的程序地址的关系映射表,指令标签基于编译器对软件中的指令进行标签化处理得到。
[0007]其中,硬件探测引擎对偏离程度进行合理性判断之后,包括:硬件探测引擎从关系映射表中确定指令执行流中的指令对应的指令标签;硬件探测引擎对指令标签进行哈希处理,得到完整执行路径哈希值;硬件探测引擎利用完整执行路径哈希值和标准执行哈希值进行比对,得到比对结果;基于比对结果确定判断结果。
[0008]其中,硬件探测引擎对指令标签进行哈希处理,得到完整执行路径哈希值,包括:对所有指令标签按照指令执行流排序;对排序后的所有指令标签进行哈希处理,得到完整执行路径哈希值。
[0009]其中,关系映射表为指令标签与软件中的特定程序地址的关系映射表,指令标签基于编译器对软件中的指令进行标签化处理得到,特定程序为在执行过程中不能通过所述编译器进行优化和任意跳转的程序。
[0010]其中,标准执行哈希值是利用特定程序接收正常数据和异常数据的执行流程,得到覆盖特定程序的所有执行路径,并对所有执行路径进行哈希运算得到的。
[0011]其中,软件中的特定程序包括多个,每一特定程序对应一关系映射表;硬件探测引
擎从关系映射表中确定指令执行流中的指令对应的指令标签之前,包括:硬件探测引擎利用特定程序确定对应关系映射表。
[0012]其中,硬件探测引擎从关系映射表中确定指令执行流中的指令对应的指令标签,包括:硬件探测引擎从解密后的关系映射表中确定指令执行流中的指令对应的指令标签;其中,利用硬件加解密引擎对关系映射表解密。
[0013]为了解决上述技术问题,本申请采用的另一技术方案是:提供一种软件执行流程的监控系统,该监控系统包括处理器和硬件探测引擎。
[0014]其中,硬件探测引擎与处理器耦接,用于在软件执行过程中,捕捉软件运行的指令执行流;硬件探测引擎根据软件运行过程中的上下文信息,对指令执行流进行合理性判断,并在判断结果异常时,向处理器发送异常提示信息。
[0015]为了解决上述技术问题,本申请采用的另一技术方案是:提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,计算机程序在被处理器执行时用于实现上述的软件执行流程的监控方法。
[0016]本申请的有益效果是:区别于现有技术,本申请提供的软件执行流程的监控方法应用于监控系统中的硬件探测引擎,该硬件探测引擎和处理器耦接,硬件探测引擎在软件执行过程中,捕捉软件运行的指令执行流,进而根据软件运行过程中的上下文信息,对指令执行流进行合理性判断,并在判断结果异常时,向处理器发送异常提示信息的方式,利用额外的硬件探测引擎对指令执行流进行合理性判断,无需使用处理器的资源进行相关操作,进而节省处理器的资源消耗。
附图说明
[0017]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
[0018]图1是本申请提供的软件执行流程监控方法第一实施例的流程示意图;
[0019]图2是本申请提供的关系映射表一实施例的示意图;
[0020]图3是本申请提供的确定判断结果一实施例的流程示意图;
[0021]图4是本申请提供的软件执行流程监控方法第二实施例的流程示意图;
[0022]图5是本申请提供的软件执行流程监控系统一实施例的结构示意图;
[0023]图6是本申请提供的电子设备一实施例的结构示意图;
[0024]图7是本申请提供的计算机可读存储介质一实施例的结构示意图。
具体实施方式
[0025]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0026]参阅图1,图1是本申请提供的软件执行流程监控方法第一实施例的流程示意图,
该方法可以应用于监控系统中的硬件探测引擎,硬件探测引擎和处理器耦接,包括:
[0027]步骤11:硬件探测引擎在软件执行过程中,捕捉软件运行的指令执行流。
[0028]在一些实施例中,监控系统中的硬件探测引擎通过总线与处理器进行通信连接,处理器可以是CPU(Central Processing Unit,中央处理器)。处理器可以是一个独立的芯片器件,而本申请的技术方案也可以是SOC(System on Chip,系统级芯片),即本申请的监控系统可以在一个芯片内部实现,也可以部署到一个PCB(Printed Circuit Board,印制电路板)上,此时可以通过几个单独的芯片组成一个系统。
[0029]可以理解,软件通常是利用不同的程序按照相关逻辑构成。每一程序实际对应了一系列指令。另外,软件包含的各程序都拥有一个唯一的用户标识(如ID)和数字签名,用户标识可以用于区分不同的程序,数字签名可以验证程序是否为目标厂商发布。硬件探测引擎在软件执行过程中,可以利用数字签名确定程序的完整性,进而执行与程序对应的指令。这些指令的执行顺序可以称为指令执行流,指令执行流包括若干个按照执行顺序排列的指令。
[0030]步骤12:硬件探测引擎根据软件运行过程中的上下文信息,对指令执行流进行合理性判断,并在判断结果异常时,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件执行流程的监控方法,其特征在于,应用于监控系统中的硬件探测引擎,所述硬件探测引擎和处理器耦接,所述方法包括:所述硬件探测引擎在软件执行过程中,捕捉所述软件运行的指令执行流;所述硬件探测引擎根据软件运行过程中的上下文信息,对所述指令执行流进行合理性判断,并在判断结果异常时,向所述处理器发送异常提示信息。2.根据权利要求1所述的监控方法,其特征在于,所述硬件探测引擎根据软件运行过程中的上下文信息,对所述指令执行流进行合理性判断,包括:所述硬件探测引擎利用所述指令执行流中的当前指令、下一指令、根据软件运行过程中的上下文信息,预测出所述下一指令与预期执行路径的偏离程度;所述硬件探测引擎对所述偏离程度进行合理性判断。3.根据权利要求2所述的监控方法,其特征在于,所述硬件探测引擎中存储有关系映射表,所述关系映射表为指令标签与所述软件中的程序地址的关系映射表,所述指令标签基于编译器对所述软件中的指令进行标签化处理得到;所述硬件探测引擎对所述偏离程度进行合理性判断之后,包括:所述硬件探测引擎从关系映射表中确定所述指令执行流中的指令对应的指令标签;所述硬件探测引擎对所述指令标签进行哈希处理,得到完整执行路径哈希值;所述硬件探测引擎利用所述完整执行路径哈希值和标准执行哈希值进行比对,得到比对结果;基于所述比对结果确定所述判断结果。4.根据权利要求3所述的监控方法,其特征在于,所述硬件探测引擎对所述指令标签进行哈希处理,得到完整执行路径哈希值,包括:对所有指令标签按照所述指令执行流排序;对排序后的所有指令标签进行哈希处理,得到完整执行路径哈希值。5.根据权利要求3所述的监控方法,...

【专利技术属性】
技术研发人员:夏朝阳刘娟张振山
申请(专利权)人:国民技术股份有限公司
类型:发明
国别省市:

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

1