1.一种软件行为分析方法,其特征在于,包括如下步骤:
静态分析软件文件的结构;
基于软件文件的结构分析结果采用轮询的方式捕获软件应用程序在运行过程中与预设敏感行为对应的函数调用序列;
将与预设敏感行为对应的函数调用序列和与预设恶意行为对应的函数调用序列进行对比,识别出软件的恶意行为,所述恶意行为包括至少两个特定敏感行为的组合,根据预设的安全等级列表确定软件恶意行为的安全等级,并依据所述安全等级下发安全等级预警。
2.根据权利要求1所述的方法,其特征在于,所述静态分析软件文件的结构具体为:
静态分析软件文件的格式;
基于软件文件的格式分析结果对软件文件的源代码进行静态分析,得出软件应用程序的子元素,以及子元素之间的调用关系;
静态分析软件应用程序的应用逻辑和内容。
3.根据权利要求2所述的方法,其特征在于,所述软件应用程序的子元素包括函数、对象和字符串,所述子元素之间的调用关系包括函数之间的调用关系。
4.根据权利要求1所述的方法,其特征在于,所述采用轮询的方式捕获软件应用程序在运行过程中与预设敏感行为对应的函数调用序列的步骤具体为:
加载自定义动态库,其中包括与预设敏感行为对应的函数调用序列;
遍历进程池中软件应用程序的执行逻辑,并捕获软件应用程序在运行过程中符合自定义动态库的函数调用序列。
5.根据权利要求4所述的方法,其特征在于,还包括:运用自动化脚本技术完成软件应用程序的安装、开启和关闭操作。
6.一种软件行为分析装置,其特征在于,所述装置包括:
静态分析模块,用于静态分析软件文件的结构;
动态分析模块,用于基于软件文件的结构分析结果采用轮询的方式捕获软件应用程序在运行过程中与预设敏感行为对应的函数调用序列;
行为分析模块,用于将与预设敏感行为对应的函数调用序列和与预设恶意行为对应的函数调用序列进行对比,识别出软件的恶意行为,所述恶意行为包括至少两个特定敏感行为的组合,根据预设的安全等级列表确定软件恶意行为的安全等级,并依据所述安全等级下发安全等级预警。
7.根据权利要求6所述的装置,其特征在于,所述静态分析模块具体包括:
软件文件格式分析子模块,用于静态分析软件文件的格式;
函数调用序列分析子模块,用于基于软件文件的格式分析结果对软件文件的源代码进行静态分析,得出软件应用程序的子元素,以及子元素之间的调用关系;
逻辑分析子模块,用于静态分析软件应用程序的应用逻辑和内容。
8.根据权利要求7所述的装置,其特征在于,所述函数调用序列分析子模块分析得出的软件应用程序的子元素包括函数、对象和字符串,分析得出的子元素之间的调用关系包括函数之间的调用关系。
9.根据权利要求6所述的装置,其特征在于,所述动态分析\t模块具体包括:
动态库加载子模块,用于加载自定义动态库,其中包括与预设敏感行为对应的函数调用序列;
捕捉子模块,用于遍历进程池中软件应用程序的执行逻辑,并捕获软件应用程序在运行过程中符合自定义动态库的函数调用序列。
10.根据权利要求9所述的装置,其特征在于,所述动态分析模块还包括:
指令触发引擎,用于运用自动化脚本技术完成软件应用程序的安装、开启和关闭操作。