本申请属于信息安全,尤其涉及一种软件检测方法、装置、电子设备、介质及程序产品。
背景技术:
1、近年来,随着移动手机和(android)系统的广泛普及,越来越多的应用(application,app)被开发和上传到app市场。据全球安全咨询公司garter统计,每年超过48万款恶意软件被上传到app市场,且其中超过一半以上的恶意软件属于高级持续威胁攻击(advanced persistent attack,apt)软件和零日攻击(zero-day)软件,它们盗取用户敏感数据、毁坏用户重要文件、加密勒索用户财产等,对手机用户和互联网生态造成了极其严重的影响。
2、目前,恶意软件检测主要分为基于静态分析和动态分析的两类检测方法。其中,静态分析方法首先提取待测文件中的静态特征(如二进制代码段、函数名、程序长度等),并根据领域专家知识判断待测软件是否是恶意软件。由于静态检测方法不需要实际运行待测软件,所以其检测速度快,但该类方法无法检测加壳伪装的恶意软件。
3、动态检测方法需要在沙箱环境运行待检测程序,通过分析程序的api动态执行行为来判断该软件是否为恶意软件。
4、上述两类检测方法各自存在以下弊端:首先,基于静态分析的检测方法无法利用程序的api交互关系来挖掘恶意软件的执行行为模式。其次,动态检测方法侧重于分析api的交互行为关系,但是仅能考虑简单的线图(line-graph)关系,丢失了恶意软件执行过程中的超图(hypergraph)和超边(hyperedge)关系,导致加壳的恶意软件很难被识别和检测,恶意软件的检测准确率低。
技术实现思路
1、本申请实施例提供一种软件检测方法、装置、电子设备、介质及程序产品,能够提高恶意软件的检测准确率。
2、第一方面,本申请实施例提供一种软件检测方法,方法包括:
3、获取待测软件的api调用序列,所述api调用序列包括多个api之间的调用顺序;
4、根据所述api调用序列之间的调用顺序,构建所述api调用序列对应的超图;
5、基于所述超图进行卷积运算,得到所述api的局部特征向量和全局特征向量;
6、基于所述局部特征向量和全局特征向量,得到api的目标特征向量;
7、将所述目标特征向量输入至预训练好的神经网络模型中,得到所述待测软件的检测结果,所述检测结果用于指示所述待测软件是否是恶意软件。
8、第二方面,本申请实施例提供一种软件检测装置,装置包括:
9、第一获取模块,用于获取待测软件的api调用序列;
10、构建模块,用于根据所述api调用序列之间的调用顺序,构建所述api调用序列对应的超图;
11、第二获取模块,用于基于所述超图进行卷积运算,得到所述api的局部特征向量和全局特征向量;
12、第三获取模块,用于基于所述局部特征向量和全局特征向量,得到api的目标特征向量;
13、检测模块,用于将所述目标特征向量输入至预训练好的神经网络模型中,得到所述待测软件的检测结果,所述检测结果用于指示所述待测软件是否是恶意软件。
14、第三方面,本申请实施例提供一种电子设备,包括:处理器以及存储有计算机程序指令的存储器;
15、所述处理器执行所述计算机程序指令时实现如第一方面所述的软件检测方法。
16、第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如第一方面所述的软件检测方法。
17、第五方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如第一方面所述的软件检测方法。
1.一种软件检测方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,基于所述超图进行卷积运算,得到所述api的局部特征向量和全局特征向量,包括:
3.根据权利要求2所述的方法,其特征在于,基于所述超图进行卷积运算,得到所述超图的每个节点的第一特征向量和api的全局特征向量,包括:
4.根据权利要求3所述的方法,其特征在于,基于所述超图进行第一卷积运算,得到所述超图的每个节点的第一特征向量,包括:
5.根据权利要求3所述的方法,其特征在于,基于所述线图进行第二卷积运算,得到所述api的全局特征向量,包括:
6.根据权利要求1所述的方法,其特征在于,基于所述局部特征向量和全局特征向量,得到api的目标特征向量,包括:
7.一种软件检测装置,其特征在于,所述装置包括:
8.一种电子设备,其特征在于,包括:处理器以及存储有计算机程序指令的存储器;
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-6中任意一项所述的方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如权利要求1-6中任意一项所述的方法。