[发明专利]一种虚拟机进程异常行为检测方法与系统有效

专利信息
申请号: 201711405828.5 申请日: 2017-12-22
公开(公告)号: CN108121593B 公开(公告)日: 2019-06-25
发明(设计)人: 陈兴蜀;陈佳昕;金鑫;陈蒙蒙;王伟;金逸灵;蔡梦娟 申请(专利权)人: 四川大学
主分类号: G06F9/455 分类号: G06F9/455
代理公司: 成都禾创知家知识产权代理有限公司 51284 代理人: 裴娟
地址: 610065 四川*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 虚拟机进程 系统调用 虚拟机 数据日志文件 异常行为检测 语义信息 捕获 虚拟机运行 调度事件 非法地址 检测结果 检测算法 日志文件 入口函数 数据构造 行为特征 虚拟CPU 寄存器 云平台 检测 建模 重构 指向 输出 恢复 安全 发现
【权利要求书】:

1.一种虚拟机进程异常行为检测方法,其特征在于,包括以下步骤:

步骤1:采用无代理监控方式,捕获虚拟机进程调度事件,在Hypervisor中重构Linux操作系统与Windows操作系统虚拟机进程语义信息;

步骤2:在Hypervisor中设置虚拟机的虚拟CPU寄存器SYSENTER_EIP_MSR指向的系统调用入口函数地址为非法地址,捕获虚拟机进程系统调用事件,获取虚拟机进程系统调用数据,重新恢复虚拟机运行;

步骤3:将虚拟机进程语义信息与虚拟机进程系统调用数据存入虚拟机数据日志文件;

步骤4:在未受到任何攻击的系统环境下,对采集得到的虚拟机数据日志文件进行行为特征建模,生成特征模式库;

步骤5:对待测情况下得到的虚拟机进程系统调用数据构造待测模型,根据检测算法,将检测结果输出到虚拟机检测日志文件;

所述步骤4具体为:

步骤4.1:计算权值系数Weighti=N/Ni,其中N为训练集合中的进程总数,Ni为训练集合中出现系统调用si的进程数;

步骤4.2:计算进程P的系统调用频率向量Fre=(fre0,fre1,…,frei,…,fren),其中n为系统调用总数,0≤i≤n,frei为系统调用si在进程P中的频率;

步骤4.3:计算系统调用si在进程P的行为权值

步骤4.4:对每个进程的系统调用序列,采用滑动窗口技术分割为若干定长为M的系统调用短序列;对任意一个系统调用短序列s<s0,s1,…,si,…sM-1>,0≤si≤n-1,表示为:

其中,在Vs中,其他均为0;将矩阵Vs转化为一维行向量,构造系统调用短序列向量空间;对于所有互异的系统调用短序列,都由一个系统调用短序列向量空间唯一表示;

步骤4.5:对虚拟机进程在运行过程中产生的系统调用序列,任意系统调用短序列s<s0,s1,…si,…sM-1>定义为向量空间:

步骤4.6:对所有系统调用短序列向量空间,建立基于KD树的特征模式库;

所述步骤5具体为:

规则定义:

1)特征模式库中的系统调用短序列NSeq=<ns0,ns1,…,nsi,…,nsM-1>与系统调用短序列向量空间N,待测系统调用短序列TSeq=<ts0,ts1,…,tsj,…,tsM-1>与系统调用短序列向量空间T;

2)对于不存在特征模式库中的待测系统调用,权值系数为一个极大值max;

3)系统调用短序列向量空间二进制相似度:

其中,k代表求和的次数,M代表系统调用短序列的长度;

4)系统调用短序列向量空间余弦相似度:

5)系统调用短序列向量空间相似度:

Sim(N,T)=μ(N,T)*ω(N,T)

6)系统调用短序列向量空间差异系数:

Dif(N,T)=1-Sim(N,T)

设定行为权重阈值为ε,对连续3M长度小于阈值ε的系统调用短序列进行告警;所述检测算法具体为:

①当前待测进程是否存在待测系统调用短序列;若是,跳转至步骤②;否则,跳转至步骤⑥;

②对当前待测进程的系统调用短序列向量空间T与特征模式库中进程的系统调用短序列向量空间N,若T=N,跳转至步骤①;若T≠N,计算相似度:Sim(N,T),计算差异系数:Dif(N,T),跳转至步骤③;

③遍历当前待测进程在特征模式库中进程KD树,在当前节点分割维度下,若待测进程的系统调用行为权值小于节点系统调用行为权值,遍历KD树左子树;若待测进程的系统调用行为权值大于节点系统调用行为权值,遍历KD树右子树,跳转至步骤④;遍历到达叶节点,跳转至步骤⑤;

④计算新的相似度Sim(N,T),并更新为较大值,跳转至步骤③;

⑤逐层回溯,判断是否在Dif(N,T)内存在其他节点,计算新的相似度Sim(N,T),并更新为较大值,跳转至步骤③;不存在,跳转至步骤①;

⑥记录待测进程行为轨迹,检测结束。

2.一种虚拟机进程异常行为检测系统,其特征在于,包括语义重构模块、捕获模块、建模模块和检测模块;

所述语义重构模块:采用无代理监控方式,捕获虚拟机进程调度事件,在Hypervisor中重构Linux操作系统与Windows操作系统虚拟机进程语义信息;

所述捕获模块:在Hypervisor中设置虚拟机的虚拟CPU寄存器SYSENTER_EIP_MSR指向的系统调用入口函数地址为非法地址,捕获虚拟机进程系统调用事件,获取虚拟机进程系统调用数据,重新恢复虚拟机运行;

所述建模模块:在未受到任何攻击的系统环境下,对采集得到的虚拟机数据日志文件进行行为特征建模,生成特征模式库;

具体包括:计算权值系数Weighti=N/Ni,其中N为训练集合中的进程总数,Ni为训练集合中出现系统调用si的进程数;

计算进程P的系统调用频率向量Fre=(fre0,fre1,…,frei,…,fren),其中n为系统调用总数,0≤i≤n,frei为系统调用si在进程P中的频率;

计算系统调用si在进程P的行为权值

对每个进程的系统调用序列,采用滑动窗口技术分割为若干定长为M的系统调用短序列;对任意一个系统调用短序列s<s0,s1,…,si,…sM-1>,0≤si≤n-1,表示为:

其中,在Vs中,其他均为0;将矩阵Vs转化为一维行向量,构造系统调用短序列向量空间;对于所有互异的系统调用短序列,都由一个系统调用短序列向量空间唯一表示;

对虚拟机进程在运行过程中产生的系统调用序列,任意系统调用短序列s<s0,s1,…si,…sM-1>定义为向量空间:

对所有系统调用短序列向量空间,建立基于KD树的特征模式库;

所述检测模块:对待测情况下得到的虚拟机进程系统调用数据构造待测模型,根据检测模型算法,将检测结果输出到虚拟机检测日志文件;

具体包括:

规则定义:

1)特征模式库中的系统调用短序列NSeq=<ns0,ns1,…,nsi,…,nsM-1>与系统调用短序列向量空间N,待测系统调用短序列TSeq=<ts0,ts1,…,tsj,…,tsM-1>与系统调用短序列向量空间T;

2)对于不存在特征模式库中的待测系统调用,权值系数为一个极大值max;

3)系统调用短序列向量空间二进制相似度:

其中,k代表求和的次数,M代表系统调用短序列的长度;

4)系统调用短序列向量空间余弦相似度:

5)系统调用短序列向量空间相似度:

Sim(N,T)=μ(N,T)*ω(N,T)

6)系统调用短序列向量空间差异系数:

Dif(N,T)=1-Sim(N,T)

设定行为权重阈值为ε,对连续3M长度小于阈值ε的系统调用短序列进行告警;所述检测算法具体为:

⑦当前待测进程是否存在待测系统调用短序列;若是,跳转至步骤②;否则,跳转至步骤⑥;

⑧对当前待测进程的系统调用短序列向量空间T与特征模式库中进程的系统调用短序列向量空间N,若T=N,跳转至步骤①;若T≠N,计算相似度:Sim(N,T),计算差异系数:Dif(N,T),跳转至步骤③;

⑨遍历当前待测进程在特征模式库中进程KD树,在当前节点分割维度下,若待测进程的系统调用行为权值小于节点系统调用行为权值,遍历KD树左子树;若待测进程的系统调用行为权值大于节点系统调用行为权值,遍历KD树右子树,跳转至步骤④;遍历到达叶节点,跳转至步骤⑤;

⑩计算新的相似度Sim(N,T),并更新为较大值,跳转至步骤③;

逐层回溯,判断是否在Dif(N,T)内存在其他节点,计算新的相似度Sim(N,T),并更新为较大值,跳转至步骤③;不存在,跳转至步骤①;

记录待测进程行为轨迹,检测结束。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711405828.5/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top