一种基于KNN的虚拟平台威胁行为分析方法及系统与流程

文档序号:18160771发布日期:2019-07-13 09:19阅读:262来源:国知局
一种基于KNN的虚拟平台威胁行为分析方法及系统与流程

本发明涉及网络安全领域,具体涉及一种基于knn的虚拟平台威胁行为分析方法及系统。



背景技术:

现有的虚拟平台威胁分析主要基于两种虚拟平台,一种是vmwareworkstation版本,该平台针对个人pc机企业应用数量有限,2011年,文献“虚拟计算取证技术研究”提出基于虚拟机vmwareworkstation的内存文件信息抽取的方法;另一种是bochs等这类在国内企业服务器不常用的虚拟平台,2011,文献“基于虚拟机的关键信息提取与分析”利用bochs虚拟机仿真技术完成虚拟机证据数据的提取和分析,研究过程中对开源虚拟机bochs进行二次开发,通过对虚拟机运行过程中的指令与数据进行捕获、识别,分析系统模块的调用关系、内存读写关系等信息。国内目前企业、政府等虚拟机平台多构建于服务器上,而与此相适应的vmwarevshpere等服务器虚拟平台还没有较多的研究。

现有的威胁行为分析技术主要采用在虚拟平台内部安装软件,并由分析技术人员进行手动分析的方法,该方法首先会因为软件的安装造成部分线索数据的覆盖和被部分具有反取证技术软件的欺骗,同时手动分析效率较低。



技术实现要素:

本发明的目的在于:提供一种基于knn的虚拟平台威胁行为分析方法及系统,解决了目前的威胁行为分析技术由于在虚拟平台内部进行软件安装,造成部分线索数据被覆盖和被部分具有反证技术软件欺骗的技术问题。

本发明采用的技术方案如下:

一种基于knn的虚拟平台威胁行为分析方法,包括以下步骤:

步骤1:提取虚拟平台中的内存数据;

步骤2:对所述内存数据进行分析,得到威胁源数据;

步骤3:利用k-邻近算法对所述威胁源数据的威胁软件进行识别,若不存在威胁软件,则结束算法;若存在威胁软件,则利用线索数据库完成所述威胁软件的行为还原后,结束算法。

进一步的,所述步骤1具体为:

步骤101:利用vcenter组件登陆虚拟平台的管理服务器;

步骤102:vcenter组件通过所述管理服务器暂停虚拟机,并下载扩展名为vsmm的虚拟机文件,即内存数据。

进一步的,所述步骤2具体为:

步骤201:遍历所述内存数据,确定所述内存数据中线索数据的类型;

步骤202:根据所述线索数据的类型在内存中的储存结构获取线索结构体数据;

步骤203:利用所述线索结构体数据,获取威胁源数据。

进一步的,所述步骤3中,利用k-邻近算法对威胁软件进行识别包括训练过程和识别过程;

训练过程具体为:

步骤301:将已有的威胁软件和正常软件分别运行于虚拟平台上;

步骤302:利用步骤1-2的方法分别提取所述威胁软件和正常软件的威胁源数据,从所述威胁软件的威胁源数据中提取威胁行为特征向量作为训练集a,从所述正常软件的威胁源数据中提取威胁行为特征向量作为训练集b,将所述训练集a和训练集b输入k-邻近算法进行训练;

步骤303:经过所述k-邻近算法识别后,输出识别结果,所述识别结果中威胁软件所在类别为a,正常软件所在类别为b;

识别过程具体为:

步骤311:将待识别软件运行于虚拟平台上;

步骤312:利用步骤1-2的方法提取所述待识别软件的威胁源数据,从所述威胁源数据中提取威胁行为特征向量将所述威胁行为特征向量输入训练后的k-邻近算法中进行识别,得出识别结果。

进一步的,所述步骤312中,利用训练后的k-邻近算法对威胁软件进行识别包括:

步骤3121:计算待识别软件中威胁行为特征向量与训练集a中威胁行为特征向量及训练集b中的威胁行为特征向量之间的欧式距离di;

步骤3122:对所述欧式距离di按从小到大进行排名;

步骤3123:获取排名前k个欧式距离di对应的威胁行为特征向量;

步骤3124:确定前k个威胁行为特征向量在类别a或b中的频率;

步骤3125:出现频率最高的类别为待识别软件的最终类别。

进一步的,威胁行为特征向量威胁行为特征向量威胁行为特征向量中均包含:隐藏威胁行为、注册表篡改行为、启动行为、网络连接行为、遍历行为、反追踪行为。

进一步的,利用线索数据库还原所述威胁行为具体为:

步骤321:获取威胁软件的行为特征,并将所述行为特征储存至线索数据库;

步骤322:将威胁软件的行为特征与线索数据库中的行为特征进行比对,完成威胁软件的行为还原。

一种基于knn的虚拟平台威胁行为分析系统,包括

威胁信息提取模块:用于查找和提取虚拟平台的内存数据,并对所述内存数据进行固化;

威胁数据处理模块:用于提取所述内存数据中的威胁源数据,并获取软件的行为特征;

威胁行为分析模块:用于对所述威胁源数据中的威胁软件进行识别和还原;

威胁行为呈现模块:用于对整个威胁行为分析过程进行呈现。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

本发明提供的方法,可以基于vmwarevshpere虚拟平台外部进行线索数据的收集,不会在虚拟平台内部产生线索覆盖,也不会被威胁软件欺骗;同时通过k-邻近算法对威胁线索进行全自动化分析,使得虚拟平台威胁行为分析由人工转为自动化分析,极大的提高了威胁行为的分析效率;同时分析的正确率较高,经200个训练数据对模型进行训练,100个未知软件测试,得出的正确率为86.56%。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明的整体架构图;

图2为本发明中内存数据提取的示意图;

图3为本发明中威胁源数据提取示意图;

图4为本发明中威胁软件识别与行为还原流程图;

图5为本发明中基于knn算法的威胁行为分析流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

一种基于knn的虚拟平台威胁行为分析方法,包括以下步骤:

步骤1:提取虚拟平台中的内存数据;

步骤101:利用vcenter组件登陆虚拟平台的管理服务器;

步骤102:vcenter组件通过所述管理服务器暂停虚拟机,并下载扩展名为vsmm的虚拟机文件,即内存数据。

步骤2:对所述内存数据进行分析,得到威胁源数据;

步骤201:遍历所述内存数据,确定所述内存数据中线索数据的类型;

步骤202:根据所述线索数据的类型在内存中的储存结构获取线索结构体数据;

步骤203:利用所述线索结构体数据,获取威胁源数据。

步骤3:利用k-邻近算法(knn)对所述威胁源数据的威胁软件进行识别,若不存在威胁软件,则结束算法;若存在威胁软件,则利用线索数据库完成所述威胁软件的行为还原后,结束算法。

利用k-邻近算法对威胁软件进行识别包括训练过程和识别过程;

训练过程具体为:

步骤301:将已有的威胁软件和正常软件分别运行于虚拟平台上;

步骤302:利用步骤1-2的方法分别提取所述威胁软件和正常软件的威胁源数据,从所述威胁软件的威胁源数据中提取威胁行为特征向量作为训练集a,从所述正常软件的威胁源数据中提取威胁行为特征向量作为训练集b,将所述训练集a和训练集b输入k-邻近算法进行训练;

步骤303:经过所述k-邻近算法识别后,输出识别结果,所述识别结果中威胁软件所在类别为a,正常软件所在类别为b;

识别过程具体为:

步骤311:将待识别软件运行于虚拟平台上;

步骤312:利用步骤1-2的方法提取所述待识别软件的威胁源数据,从所述威胁源数据中提取威胁行为特征向量将所述威胁行为特征向量输入训练后的k-邻近算法中进行识别,得出识别结果。

利用训练后的k-邻近算法对威胁软件进行识别包括:

步骤3121:计算待识别软件中威胁行为特征向量与训练集a中威胁行为特征向量及训练集b中的威胁行为特征向量之间的欧式距离di;

步骤3122:对所述欧式距离di按从小到大进行排名;

步骤3123:获取排名前k个欧式距离di对应的威胁行为特征向量;

步骤3124:确定前k个威胁行为特征向量在类别a或b中的频率;

步骤3125:出现频率最高的类别为待识别软件的最终类别。

威胁行为特征向量威胁行为特征向量威胁行为特征向量中均包含:隐藏威胁行为、注册表篡改行为、启动行为、网络连接行为、遍历行为、反追踪行为。

利用线索数据库还原所述威胁行为具体为:

步骤321:获取威胁软件的行为特征,并将所述行为特征储存至线索数据库;

步骤322:将威胁软件的行为特征与线索数据库中的行为特征进行比对,完成威胁软件的行为还原。

一种基于knn的虚拟平台威胁行为分析系统,包括

威胁信息提取模块:用于查找和提取虚拟平台的内存数据,并对所述内存数据进行固化;

威胁数据处理模块:用于提取所述内存数据中的威胁源数据,并获取软件的行为特征;

威胁行为分析模块:用于对所述威胁源数据中的威胁软件进行识别和还原;

威胁行为呈现模块:用于对整个威胁行为分析过程进行呈现。

以下结合实施例对本发明的特征和性能作进一步的详细描述。

实施例1

本实施例用于对本发明的方法进行具体说明。

一种基于knn的虚拟平台威胁行为分析方法,包括以下步骤:

步骤1:提取虚拟平台中的内存数据;

步骤101:利用vcenter组件可远程登陆vmwarevshpere虚拟平台管理服务器的esxi组件;

步骤102:vcenter组件通过所述管理服务器暂停虚拟机,并下载扩展名为vsmm的虚拟机文件,即内存数据,所述扩展名为vsmm的虚拟机文件为虚拟机暂停时保存的内存数据镜像。

步骤2:步骤1获得的镜像文件保存了当时状态下虚拟平台的注册表、进程、线程、文件、网络连接、驱动、导入导出表等信息,这些信息均为威胁行为分析追踪的重要源数据。需要对获取的vmss文件进行处理,获取以上信息。对所述内存数据进行分析,得到威胁源数据;

步骤201:遍历所述内存数据,确定所述内存数据中线索数据的类型;通过遍历内存池头pooltag中的“关键词”确定是哪一类线索数据,关键词包括:proc、thre、file、driv、cm10、muta等,

步骤202:根据所述线索数据的类型在内存中的储存结构获取线索结构体数据,proc对应eprocess结构体,thre对应ethread结构体,file对应file_object结构体,driv对应driver_object结构体,cm10对应cmhive结构体,muta对应kmutant结构体;

步骤203:利用所述线索结构体数据,获取威胁源数据,即获得注册表、进程、线程、文件、网络连接、驱动、导入导出表、互斥量等等信息。

步骤3:利用k-邻近算法对所述威胁源数据的威胁软件进行识别,若不存在威胁软件,则结束算法;若存在威胁软件,则利用线索数据库完成所述威胁软件的行为还原后,结束算法。威胁行为特征向量包含:隐藏威胁行为、注册表篡改行为、启动行为、网络连接行为、遍历行为、反追踪行为;可表示为其中h表示隐藏威胁行为,r表示注册表篡改行为,b表示启动行为,n表示网络连接行为,t表示遍历行为,a表示反追踪行为;例如表示该进程有1种隐藏威胁行为、3种启动行为、1种反追踪行为。

利用k-邻近算法对威胁软件进行识别包括训练过程和识别过程;

训练过程具体为:

步骤301:将已有的威胁软件和正常软件分别运行于虚拟平台上;

步骤302:利用步骤1-2的方法分别提取所述威胁软件和正常软件的威胁源数据,从所述威胁软件的威胁源数据中提取威胁行为特征向量作为训练集a;从所述正常软件的威胁源数据中提取威胁行为特征向量作为训练集b,将所述训练集a和训练集b输入k-邻近算法进行训练;

步骤303:经过所述k-邻近算法识别后,输出识别结果,所述识别结果中威胁软件所在类别为a,正常软件所在类别为b;

识别过程具体为:

步骤311:将待识别软件运行于虚拟平台上;

步骤312:利用步骤1-2的方法提取所述待识别软件的威胁源数据,从所述威胁源数据中提取威胁行为特征向量将所述威胁行为特征向量输入训练后的k-邻近算法中进行识别,得出识别结果。

利用训练后的k-邻近算法对威胁软件进行识别包括:

步骤3121:计算待识别软件中威胁行为特征向量与训练集a中威胁行为特征向量及训练集b中的威胁行为特征向量之间的欧式距离di;

步骤3122:对所述欧式距离di按从小到大进行排名;

步骤3123:获取排名前k个欧式距离di对应的威胁行为特征向量;

步骤3124:确定前k个威胁行为特征向量在类别a或b中的频率;

步骤3125:出现频率最高的类别为待识别软件的最终类别。

利用线索数据库还原所述威胁行为具体为:

步骤321:获取威胁软件的行为特征,并将所述行为特征储存至线索数据库;

步骤322:将威胁软件的行为特征与线索数据库中的行为特征进行比对,完成威胁软件的行为还原。

实施例2

本实施例用于对本发明的系统进行具体说明。

一种基于knn的虚拟平台威胁行为分析系统,包括

威胁信息提取模块:用于查找和提取虚拟平台的内存数据,并对所述内存数据进行固化;

威胁数据处理模块:用于提取所述内存数据中的威胁源数据,并获取软件的行为特征;

威胁行为分析模块:用于对所述威胁源数据中的威胁软件进行识别和还原;

威胁行为呈现模块:用于对整个威胁行为分析过程进行呈现。

具体为:

威胁信息提取模块从虚拟平台中查找和提取内存数据镜像文件,并通过vcenter组件将镜像文件无损下载进行安全固化后储存,并对镜像文件进行hash校验,作为文件内容无篡改检测的安全固化依据;威胁数据处理模块从威胁信息提取模块中将镜像文件提取出来后,通过对文件中的线索结构体进行分析,提取出威胁源数据;威胁行为分析模块对威胁源数据进行分析过程显示及分析引擎过程的管理,并利用包含有行为分析算法和knn分类算法的分析引擎对威胁源数据进行分析,实现威胁软件的识别,将分析得到的线索信息添加至线索信息数据库,并将识别出的威胁软件添加至报警信息数据库,并通过搜索线索数据库实现对威胁软件的行为还原。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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