System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种代码分析方法及相关系统技术方案_技高网

一种代码分析方法及相关系统技术方案

技术编号:44737057 阅读:8 留言:0更新日期:2025-03-21 18:03
本申请公开一种代码分析方法,由代码分析系统执行,该系统用于分析待检测的代码文件是否包括恶意代码,该方法包括:获取待检测的代码文件,以及获取与待检测的代码文件对应的沙箱镜像配置文件,根据沙箱镜像配置文件的数量,对至少一个沙箱的负载、性能或数量进行伸缩,然后在伸缩后的沙箱中运行待检测的代码文件,根据代码文件在执行过程中的行为特征获得代码分析结果,该代码分析结果用于表征所述待检测的代码文件是否包括恶意代码。如此可以实现沙箱的负载、性能或数量随着分析任务的数量(与沙箱镜像配置文件数量正相关)变化自适应调整,避免了分析任务数量少导致沙箱空闲造成资源浪费,或者分析任务数量多导致任务积压。

【技术实现步骤摘要】

本申请涉及代码分析,尤其涉及一种代码分析方法、系统、计算设备集群、计算机可读存储介质以及计算机程序产品。


技术介绍

1、近年来,随着人工智能等技术的高速发展,越来越多的新型恶意代码利用人工智能技术躲避恶意代码检测软件的扫描,通过代码加密、自动变形等方式进行攻击。如何提升对新型恶意代码的检测能力成为业界的热门话题。

2、目前,针对恶意代码的检测可以通过动态分析方法实现。动态分析具体是在虚拟环境(例如是沙箱)中运行待检测文件(例如是待检测程序的可执行文件),并监控待检测文件在执行过程中的行为,根据该行为判定待检测文件是否存在恶意代码。

3、然而,上述方案通常预设一定数量的沙箱,如果扫描任务较少,沙箱空闲可以造成资源浪费,如果扫描任务较多,沙箱满负荷运行可以造成任务积压,任务执行时间过长。如此,难以满足业务需求。


技术实现思路

1、本申请提供了一种代码分析方法,该方法通过结合待检测的代码文件对应的沙箱镜像配置文件的数量,对至少一个沙箱的负载、性能或数量进行伸缩,避免了分析任务数量少导致沙箱空闲造成资源浪费,或者分析任务数量多导致任务积压,实现了沙箱的自适应调整,能够满足业务需求。本申请还提供了与上述方法对应的代码分析系统、计算设备集群、计算机可读存储介质以及计算机程序产品。

2、第一方面,本申请提供一种代码分析方法。该方法可以由代码分析系统执行,该代码分析系统用于分析待检测的代码文件是否包括恶意代码。其中,代码分析系统可以是软件系统,软件系统可以部署在计算设备集群(例如是云平台提供的云计算集群)中,计算设备集群执行软件系统的程序代码,从而执行本申请的代码分析方法。代码分析系统可以部署在公有云中,通过云服务的方式提供给用户使用;或者代码分析系统也可以通过私有云部署在客户侧。代码分析系统也可以通过软件包等形式部署在客户侧。在一些示例中,代码分析系统也可以是硬件系统,例如为具有代码分析功能的计算设备集群,计算设备集群运行时执行本申请的代码分析方法。

3、具体地,代码分析系统获取待检测的代码文件,以及获取与待检测的代码文件对应的沙箱镜像配置文件,然后根据沙箱镜像配置文件的数量,对至少一个沙箱的负载、性能或数量进行伸缩,在伸缩后的沙箱中运行待检测的代码文件,根据代码文件在执行过程中的行为特征获得代码分析结果,代码分析结果用于表征待检测的代码文件是否包括恶意代码。

4、其中,沙箱镜像配置文件的数量通常与分析任务的数量正相关,根据沙箱镜像配置文件的数量,对沙箱的负载、性能或数量进行自动弹性伸缩,可以实现沙箱的负载、性能或数量随着分析任务的数量变化自适应调整,避免了分析任务数量少导致沙箱空闲造成资源浪费,或者分析任务数量多导致任务积压,满足了业务需求。

5、在一些可能的实现方式中,当存在沙箱镜像配置文件的数量大于第一阈值的第一沙箱以及沙箱镜像配置文件的数量小于第一阈值的第二沙箱,代码分析系统可以将第一沙箱的负载中的至少一个沙箱镜像配置文件向所述第二沙箱的负载迁移。具体地,每个沙箱可以包括一个任务池,任务池中包括待处理的分析任务,其中,分析任务用于对待检测的代码文件进行分析,从而确定是否包括恶意代码。基于此,任务池可以视为沙箱的负载。分析任务的执行依赖沙箱镜像配置文件,沙箱镜像配置文件的数量和分析任务的数量正相关,沙箱镜像配置文件的数量大于第一阈值,表示负载大,沙箱镜像配置文件的数量小于第一阈值,表示负载小,基于此,代码分析系统可以将第一沙箱的负载中至少一个沙箱镜像配置文件迁移至第二沙箱的负载。

6、如此,可以避免第一沙箱的任务积压,第二沙箱的资源浪费,实现沙箱间的负载均衡,提高整体的资源利用率。

7、在一些可能的实现方式中,至少一个沙箱的负载中沙箱镜像配置文件的数量均大于第一阈值。针对至少一个沙箱的负载中的沙箱镜像配置文件,当相似度满足条件的文件数量大于第二阈值,代码分析系统可以增加至少一个沙箱适配的沙箱镜像配置文件种类,以对至少一个沙箱的性能扩容。或者,针对至少一个沙箱的负载中的沙箱镜像配置文件,当相似度满足条件的文件数量小于第二阈值,代码分析系统可以部署新的沙箱,以对至少一个沙箱的数量扩容。

8、该方法通过对沙箱性能或数量进行弹性扩容,解决了代码分析系统中沙箱规划与实际沙箱利用率间的矛盾,当沙箱集群的资源无法承载分析任务的压力时,通过调整沙箱集群的规模或者资源的分配,从而保障系统的稳定性。

9、在一些可能的实现方式中,至少一个沙箱的负载中沙箱镜像配置文件的数量均小于第一阈值。代码分析系统可以减少至少一个沙箱适配的沙箱镜像配置文件种类,以对至少一个沙箱的性能缩容。或者,代码分析系统可以删除至少一个沙箱中的目标沙箱,以对至少一个沙箱的数量缩容。

10、该方法通过对沙箱性能或数量进行弹性缩容,解决了代码分析系统中沙箱规划与实际沙箱利用率间的矛盾,当沙箱集群的任务池中待处理的分析任务数量较低时,尽量降低沙箱集群的规模或资源配置,从而减少闲置资源的浪费带来的成本开销。

11、在一些可能的实现方式中,目标沙箱包括待处理的分析任务的数量等于零的沙箱或沙箱镜像配置文件的相似度满足条件的沙箱。如此可以实现在满足分析任务处理的需求的情况下,减少沙箱空闲导致的资源浪费。

12、在一些可能的实现方式中,代码分析系统可以接收用户上传的所述待检测的代码文件。代码分析系统还可以识别待检测的代码文件的配置信息,根据配置信息生成沙箱镜像配置文件。

13、如此,可以实现为每个待检测的代码文件自动化生成沙箱镜像配置文件,以部署适配的沙箱。其中,自动化生成沙箱镜像配置文件无需人为干涉,降低人力维护成本,此外,该方法无需提前预设置沙箱,降低存储成本压力。

14、在一些可能的实现方式中,配置信息包括操作系统、数据库、语言工具、依赖信息中的至少一项。代码分析系统可以基于上述配置信息,获取相应的操作系统、数据库、语言工具或依赖信息,从而形成完整的沙箱环境,为在沙箱中执行代码文件奠定基础。

15、在一些可能的实现方式中,代码分析系统还可以编译沙箱镜像配置文件,根据编译结果部署用于执行待检测的代码文件的至少一个沙箱。如此,可以实现自动化沙箱部署,无需人力干预,降低人力维护成本,而且无需提前预设置沙箱,降低存储成本。

16、第二方面,本申请提供一种代码分析系统。所述代码分析系统用于分析待检测的代码文件是否包括恶意代码,所述代码分析系统包括:

17、交互模块,用于获取所述待检测的代码文件;

18、弹性伸缩模块,用于获取与所述待检测的代码文件对应的沙箱镜像配置文件,根据所述沙箱镜像配置文件的数量,对至少一个沙箱的负载、性能或数量进行伸缩;

19、沙箱运行模块,用于在伸缩后的沙箱中运行所述待检测的代码文件;

20、动态分析模块,用于根据所述代码文件在执行过程中的行为特征获得代码分析结果,所述代码分析结果用于表征所述待检测的代码文件是否包括本文档来自技高网...

【技术保护点】

1.一种代码分析方法,其特征在于,由代码分析系统执行,所述代码分析系统用于分析待检测的代码文件是否包括恶意代码,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述沙箱镜像配置文件的数量,对至少一个沙箱的负载、性能或数量进行伸缩,包括:

3.根据权利要求1所述的方法,其特征在于,所述至少一个沙箱的负载中沙箱镜像配置文件的数量均大于第一阈值,所述根据所述沙箱镜像配置文件的数量,对至少一个沙箱的负载、性能或数量进行伸缩,包括:

4.根据权利要求1所述的方法,其特征在于,所述至少一个沙箱的负载中沙箱镜像配置文件的数量均小于第一阈值,所述根据所述沙箱镜像配置文件的数量,对至少一个沙箱的负载、性能或数量进行伸缩,包括:

5.根据权利要求4所述的方法,其特征在于,所述目标沙箱包括待处理的分析任务的数量等于零的沙箱或沙箱镜像配置文件的相似度满足条件的沙箱。

6.根据权利要求1至5任一项所述的方法,其特征在于,所述获取所述待检测的代码文件,包括:

7.根据权利要求6所述的方法,其特征在于,所述配置信息包括操作系统、数据库、语言工具、依赖信息中的至少一项。

8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:

9.一种代码分析系统,其特征在于,所述代码分析系统用于分析待检测的代码文件是否包括恶意代码,所述代码分析系统包括:

10.根据权利要求9所述的系统,其特征在于,所述弹性伸缩模块具体用于:

11.根据权利要求9所述的系统,其特征在于,所述至少一个沙箱的负载中沙箱镜像配置文件的数量均大于第一阈值,所述弹性伸缩模块具体用于:

12.根据权利要求9所述的系统,其特征在于,所述至少一个沙箱的负载中沙箱镜像配置文件的数量均小于第一阈值,所述弹性伸缩模块具体用于:

13.根据权利要求12所述的系统,其特征在于,所述目标沙箱包括待处理的分析任务的数量等于零的沙箱或沙箱镜像配置文件的相似度满足条件的沙箱。

14.根据权利要求9至13任一项所述的系统,其特征在于,所述交互模块具体用于:

15.根据权利要求14所述的系统,其特征在于,所述配置信息包括操作系统、数据库、语言工具、依赖信息中的至少一项。

16.根据权利要求14或15所述的系统,其特征在于,所述弹性伸缩模块还用于:

17.一种计算设备集群,其特征在于,所述计算设备集群包括至少一台计算设备,所述至少一台计算设备包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储有计算机可读指令;所述至少一个处理器执行所述计算机可读指令,以使得所述计算设备集群执行如权利要求1至8中任一项所述的代码分析方法。

18.一种计算机可读存储介质,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至8任一项所述的代码分析方法。

19.一种计算机程序产品,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至8任一项所述的代码分析方法。

...

【技术特征摘要】

1.一种代码分析方法,其特征在于,由代码分析系统执行,所述代码分析系统用于分析待检测的代码文件是否包括恶意代码,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述沙箱镜像配置文件的数量,对至少一个沙箱的负载、性能或数量进行伸缩,包括:

3.根据权利要求1所述的方法,其特征在于,所述至少一个沙箱的负载中沙箱镜像配置文件的数量均大于第一阈值,所述根据所述沙箱镜像配置文件的数量,对至少一个沙箱的负载、性能或数量进行伸缩,包括:

4.根据权利要求1所述的方法,其特征在于,所述至少一个沙箱的负载中沙箱镜像配置文件的数量均小于第一阈值,所述根据所述沙箱镜像配置文件的数量,对至少一个沙箱的负载、性能或数量进行伸缩,包括:

5.根据权利要求4所述的方法,其特征在于,所述目标沙箱包括待处理的分析任务的数量等于零的沙箱或沙箱镜像配置文件的相似度满足条件的沙箱。

6.根据权利要求1至5任一项所述的方法,其特征在于,所述获取所述待检测的代码文件,包括:

7.根据权利要求6所述的方法,其特征在于,所述配置信息包括操作系统、数据库、语言工具、依赖信息中的至少一项。

8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:

9.一种代码分析系统,其特征在于,所述代码分析系统用于分析待检测的代码文件是否包括恶意代码,所述代码分析系统包括:

10.根据权利要求9所述的系统,其特征在于,所述弹性伸缩模块具体用于:...

【专利技术属性】
技术研发人员:薛迪邱国平赵刚
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1