一种异常检测的方法、装置、存储介质及电子设备与流程

文档序号:37889803发布日期:2024-05-09 21:33阅读:11来源:国知局
一种异常检测的方法、装置、存储介质及电子设备与流程

本技术涉及计算机,尤其涉及一种异常检测的方法、装置、存储介质及电子设备。


背景技术:

1、随着科技的发展,人工智能技术不断发展,应用开发技术更是各个领域中不可或缺的重要技术之一。此外,随着社会的发展与进步,人们的隐私意识越来越高,对自身隐私数据愈发关注。其中,在应用开发领域,实际的业务逻辑应当与程序中的函数代码块一一对应。

2、例如:某应用中具备的某业务逻辑为先对用户进行身份认证,再对该用户进行授权,最后为处理该用户的业务请求。那么该应用的程序中至少包含可对用户进行身份认证的关键函数,再对该用户进行授权的关键函数,以及处理该用户的业务请求的关键函数,并且该程序在运行时,各关键函数的执行时序,需与前述的“先对用户进行身份认证,再对该用户进行授权,最后为处理该用户的业务请求”一致,以保证业务的顺利进行。可见,保证程序中关键函数的执行时序与实际业务逻辑一致至关重要。

3、基于此,本技术说明书提供了一种异常检测的方法。


技术实现思路

1、本说明书提供一种异常检测的方法、装置、存储介质及电子设备,以至少部分的解决现有技术存在的上述问题。

2、本说明书采用下述技术方案:

3、本说明书提供了一种异常检测的方法,所述方法包括:

4、确定需要进行异常检测的程序、所述程序中包含的各关键函数以及所述各关键函数的标准调用时序;

5、以元编程的方式对所述程序进行简化,得到简化后的程序,所述简化后的程序至少能够运行所述各关键函数;

6、执行所述简化后的程序,以确定所述各关键函数在所述简化后的程序中的实际调用时序;

7、根据所述标准调用时序以及所述实际调用时序,对所述程序进行异常检测。

8、可选地,以元编程的方式对所述程序进行简化,具体包括:

9、确定所述程序中的指定类型语句;其中,所述指定类型语句包括循环语句;

10、在所述程序中,确定需要通过所述指定类型语句进行操作的参数,将需要通过所述指定类型语句进行操作的参数作为待操作的参数,并确定所述待操作的参数的取值范围;

11、以元编程的方式,在所述程序中删除所述指定类型语句,并将在所述待操作的参数的取值范围内的若干取值作为待操作参数的值,以实现对所述程序的简化。

12、可选地,执行所述简化后的程序,以确定所述各关键函数在所述简化后的程序中的实际调用时序,具体包括:

13、在执行所述简化后的程序之前,在所述程序中,生成所述各关键函数对应的初始的全局状态标记;其中,所述全局状态标记用于表征所述各关键函数是否被调用;

14、执行所述简化后的程序,并确定所述各关键函数在所述程序中的调用状态;

15、基于所述调用状态,对所述各关键函数对应的初始的全局标记状态进行调整,得到所述各关键函数对应的最终的全局状态标记;

16、根据所述最终的全局状态标记,得到所述各关键函数在所述简化后的程序中的实际调用时序。

17、可选地,根据所述标准调用时序以及所述实际调用时序,对所述程序进行异常检测,具体包括:

18、判断所述标准调用时序与所述实际调用时序是否相同;

19、若是,则所述程序不存在异常;

20、若否,则所述程序存在异常。

21、可选地,所述程序为rust程序;

22、以元编程的方式对所述程序进行简化,具体包括:

23、通过rust中的过程宏,以元编程的方式对所述程序进行简化。

24、可选地,所述程序为rust程序;

25、在所述程序中,生成所述各关键函数对应的初始的全局状态标记,具体包括:

26、通过rust中的过程宏,在所述程序中,生成所述各关键函数对应的初始的全局状态标记。

27、可选地,基于所述调用状态,对所述各关键函数对应的初始的全局标记状态进行调整,具体包括:

28、当确定所述各关键函数在所述程序中被调用时,调整所述各关键函数对应的初始的全局标记状态;

29、当确定所述各关键函数在所述程序中未被调用时,不调整所述各关键函数对应的初始的全局标记状态。

30、本说明书提供了一种异常检测的装置,包括:

31、确定模块,用于确定需要进行异常检测的程序、所述程序中包含的各关键函数以及所述各关键函数的标准调用时序;

32、简化模块,用于以元编程的方式对所述程序进行简化,得到简化后的程序,所述简化后的程序至少能够运行所述各关键函数;

33、执行模块,用于执行所述简化后的程序,以确定所述各关键函数在所述简化后的程序中的实际调用时序;

34、检测模块,用于根据所述标准调用时序以及所述实际调用时序,对所述程序进行异常检测。

35、可选地,所述简化模块具体用于,确定所述程序中的指定类型语句;其中,所述指定类型语句包括循环语句;在所述程序中,确定需要通过所述指定类型语句进行操作的参数,将需要通过所述指定类型语句进行操作的参数作为待操作的参数,并确定所述待操作的参数的取值范围;以元编程的方式,在所述程序中删除所述指定类型语句,并将在所述待操作的参数的取值范围内的若干取值作为待操作参数的值,以实现对所述程序的简化。

36、可选地,所述执行模块具体用于,在执行所述简化后的程序之前,在所述程序中,生成所述各关键函数对应的初始的全局状态标记;其中,所述全局状态标记用于表征所述各关键函数是否被调用;执行所述简化后的程序,并确定所述各关键函数在所述程序中的调用状态;基于所述调用状态,对所述各关键函数对应的初始的全局标记状态进行调整,得到所述各关键函数对应的最终的全局状态标记;根据所述最终的全局状态标记,得到所述各关键函数在所述简化后的程序中的实际调用时序。

37、可选地,所述检测模块具体用于,判断所述标准调用时序与所述实际调用时序是否相同;若是,则所述程序不存在异常;若否,则所述程序存在异常。

38、可选地,所述程序为rust程序;

39、所述简化模块具体用于,通过rust中的过程宏,以元编程的方式对所述程序进行简化。

40、可选地,所述程序为rust程序;

41、所述执行模块具体用于,通过rust中的过程宏,在所述程序中,生成所述各关键函数对应的初始的全局状态标记。

42、可选地,所述执行模块具体用于,当确定所述各关键函数在所述程序中被调用时,调整所述各关键函数对应的初始的全局标记状态;当确定所述各关键函数在所述程序中未被调用时,不调整所述各关键函数对应的初始的全局标记状态。

43、本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述异常检测的方法。

44、本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述异常检测的方法。

45、本说明书采用的上述至少一个技术方案能够达到以下有益效果:

46、在本说明书提供的异常检测的方法中,可先确定需要进行异常检测的程序,确定该程序中包含的各关键函数以及确定各关键函数的标准调用时序,然后以元编程的方式对程序进行简化,得到简化后的程序,该简化后的程序至少能够运行各关键函数,进而可执行该简化后的程序,以确定各关键函数在该简化后的程序中的实际调用时序,最后根据标准调用时序以及实际调用时序,对程序进行异常检测。从上述方法中可以看出,该方法可实现对程序的异常检测,保证程序中关键函数的调用时序满足预设的标准调用时序,从而使得程序在设计逻辑上不存在漏洞,并且采用元编程的方式先对程序进行简化,再基于简化后的程序进行异常检测,降低了异常检测的时间复杂度,提高了异常检测效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1