[发明专利]基于深度学习与内存镜像分析的虚机行为分析系统有效
申请号: | 201910772362.5 | 申请日: | 2019-08-21 |
公开(公告)号: | CN110618854B | 公开(公告)日: | 2022-04-26 |
发明(设计)人: | 吴春明;陈双喜;王婉飞;姜鑫悦;吴安邦 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F21/56 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 深度 学习 内存 分析 行为 系统 | ||
1.一种基于深度学习与内存镜像分析的虚机行为分析系统,其特征在于,包括以下步骤:
(1)获取内存镜像数据,包括以下子步骤:
(1.1)在初始时刻t0,使用内存取证工具获取初始内存镜像数据,得到初始内存;
(1.2)在任意时刻t0+Δt,在VirtualBox,VMware虚拟化平台上,根据不同操作系统的内存管理机制,分别自动采样当前时刻各异构体不受攻击与受攻击情况下的内存镜像数据,得到当前内存,即正常样本与恶意样本;
(2)进行delta编码,包括以下子步骤:
(2.1)运行内存取证工具,对步骤(1.1)获取的初始内存使用pslist以及dlllist命令,分别确定初始内存中的EXE类型的可执行文件与DLL类型的动态链接库列表;
(2.2)对步骤(1.2)得到的当前内存运行内存取证工具中的pslist以及dlllist命令,分别确定当前内存中的EXE类型的可执行文件与DLL类型的动态链接库列表;
(2.3)分析步骤(2.1)和(2.2)得到的EXE类型的可执行文件与DLL类型的动态链接库列表,确定在当前内存中而不在初始内存中的可执行文件,称为新可执行文件;
(2.4)根据初始内存,为每一个新可执行文件生成一个预测内存,包括以下子步骤:
(2.4.1)确定每一个新可执行文件的进程ID,同时确定该进程在虚拟内存地址空间中的基地址;
(2.4.2)对于每一个新可执行文件的所属进程,根据步骤(2.4.1)中的进程基地址,在当前内存中运行内存取证工具中的memmap命令提取进程虚拟内存与物理内存的映射关系;
(2.4.3)将新可执行文件从虚拟磁盘上复制到初始内存中,对于新可执行文件的每个虚拟内存页,执行以下两步:首先,使用步骤(2.4.2)中提取的虚拟内存与物理内存的映射关系,将新可执行文件复制到初始内存中;然后,记录页面复制信息,包括虚拟内存页的源页面位置、物理内存中目标页面位置、页面长度;最终生成预测内存;
(2.5)输出头信息,包括需要加载的新可执行文件的路径信息以及步骤(2.4.3)中提取的所有新可执行文件的页面复制信息;
(2.6)将步骤(2.4)生成的预测内存作为源,当前内存作为比较对象,使用xdelta3编码,得到当前内存镜像数据编码后的内存图谱;用M、N分别表示内存图谱的行数和列数,用I(i,j)=[a,b,c]表示内存图谱第i行第j列的元素;其中,0≤i<M,0≤j<N,a、b、c均为32位的浮点数,I(i,j)是一个三维向量;
(3)提取步骤(2.6)得到的内存图谱特征点信息,包括特征点位置、特征点大小、特征点的特征强度,包括以下子步骤:
(3.1)构建海森矩阵,具体为:计算内存图谱中每一个元素对应的海森矩阵H(i,j)的行列式,作为该元素的特征值,计算公式为:
det(H(i,j))=Dii·Djj-0.9Dij·Dij
其中,Dii=I(i+1,j)+I(i-1,j)-2I(i,j),Djj=I(i,j+1)+I(i,j-1)-2I(i,j),Dij=I(i+1,j)+I(i,j-1)-2I(i,j);
(3.2)采用SURF的方式构建尺度空间:首先采用9×9的盒子滤波器对内存图谱原图像进行滤波处理,作为最底层的图像;然后逐渐增大盒子滤波器的尺寸,对内存图谱原图像继续进行滤波处理;最终得到不同尺度的滤波响应图,构造尺度空间;所述尺度空间有4层,层与层之间的缩放比率为2;
(3.3)精确定位特征点,具体为:在每一个3×3×3的局部区域中,对步骤(3.2)构建的尺度空间进行非最大值抑制;将尺度空间中每一个元素与其三维邻域的26个元素的特征值进行比较,其中特征值比周围26个元素都大或者都小的元素为特征点,记录特征点位置(i,j)及尺度s;
(3.4)根据阈值确定图谱特征点及特征向量,具体为:比较步骤(3.3)得到的每个特征点在相应尺度下的特征值与预设的阈值,如果对应的特征值小于预设的阈值,则该特征点不作为最终特征点;如果对应的特征值大于等于预设的阈值,则将该特征点作为最终特征点,特征向量表示为[i,j,s,det(H(i,j,s))];其中,i、j是最终特征点在内存图谱中的行号与列号,s是最终特征点对应的滤波器尺度,det(H(i,j,s))是最终特征点在尺度s下的特征值;
(3.5)统计特征向量,具体为:判断步骤(3.4)得到的特征向量的来源,所述来源包括步骤(1.2)中不受攻击情况下的内存镜像数据和受攻击情况下的内存镜像数据;确定每个特征向量对应的标签z,用z=0表示该特征向量来源于不受攻击情况下的内存镜像数据,用z=1表示该特征向量来源于受攻击情况下的内存镜像数据;最终得到特征向量序列[i,j,s,det(H(i,j,s)),z];
(4)训练神经网络,具体为:将步骤(3.5)得到的特征向量序列作为深度神经网络的输入样本,以虚拟机行为是否正常为输出,训练深度神经网络得到一个虚拟机行为分类器;
(5)运行神经网络,分析未知的虚拟机行为,具体为:用步骤(4)得到的虚拟机行为分类器对运行状态未知的虚拟机进行分析,判断未知的虚拟机行为是否正常。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910772362.5/1.html,转载请声明来源钻瓜专利网。