[发明专利]一种无代理的虚拟机监控系统和监控方法有效
申请号: | 201810632935.X | 申请日: | 2018-06-20 |
公开(公告)号: | CN108920253B | 公开(公告)日: | 2022-05-17 |
发明(设计)人: | 尹学渊;陶术松 | 申请(专利权)人: | 成都灵跃云创科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F11/30 |
代理公司: | 成都睿道专利代理事务所(普通合伙) 51217 | 代理人: | 薛波 |
地址: | 610000 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代理 虚拟机 监控 系统 方法 | ||
1.一种无代理的虚拟机监控系统,其特征在于,包括:
监控策略设置模块,用于管理用户虚拟机监控策略,所述监控策略包括需被监控的虚拟机标识、监控的相关系统调用和虚拟机系统调用监控的响应动作;
监控注入模块,所述监控注入模块部署于虚拟化层,用于判断当前启动的虚拟机是否满足监控代码注入条件并执行监控代码注入,具体流程如下,当虚拟机刚启动时,KVM检测到虚拟机处于启动状态,此时,加载位于虚拟化平台侧的监控代码文件,然后动态地解析当前虚拟机的符号表,在一块临时的内存中,按照当前的虚拟机符号表,完成监控代码的符号表修复,在虚拟机执行特权指令时,通过插入虚拟机内存分配函数地址到当前的指令寄存器,实现动态地在虚拟机内核中申请一块内存区;然后依据动态申请的虚拟机内核内存基地址,对监控代码的重定位数据进行修复,最后将完成符号表以及重定位表修复的监控代码段写入到前述申请的虚拟机内核内存中;
监控功能防护模块,所述监控功能防护模块部署于虚拟化层,用于对虚拟机系统调用表、监控代码和系统调用入口函数执行流程进行只读保护。
2.一种无代理的虚拟机监控方法,应用权利要求1所述的一种无代理的虚拟机监控系统,其特征在于包括以下步骤:
步骤一:用户通过监控策略设置模块设置监控策略,所述监控策略包括需被监控的虚拟机标识、监控的相关系统调用和虚拟机系统调用监控的响应动作;
步骤二:虚拟机启动时,代码注入模块根据需被监控的虚拟机标识执行监控代码动态注入,具体流程如下,当虚拟机刚启动时,KVM检测到虚拟机处于启动状态,此时,加载位于虚拟化平台侧的监控代码文件,然后动态地解析当前虚拟机的符号表,在一块临时的内存中,按照当前的虚拟机符号表,完成监控代码的符号表修复,在虚拟机执行特权指令时,通过插入虚拟机内存分配函数地址到当前的指令寄存器,实现动态地在虚拟机内核中申请一块内存区;然后依据动态申请的虚拟机内核内存基地址,对监控代码的重定位数据进行修复,最后将完成符号表以及重定位表修复的监控代码段写入到前述申请的虚拟机内核内存中;
步骤三:虚拟化层根据监控代码和监控策略动态修改系统调用函数指针,使系统调用函数指针指向监控代码的函数地址;
步骤四:监控代码拦截到虚拟机内部系统调用后,从虚拟化层获取监控策略,根据监控策略完成虚拟机系统调用拦截的具体响应。
3.根据权利要求2所述的一种无代理的虚拟机监控方法,其特征在于:所述步骤三还包括虚拟化平台层根据虚拟机符号表获取虚拟机系统调用表地址和系统调用入口函数地址,然后对所述虚拟机系统调用表地址、系统调用入口函数地址和注入的监控代码地址的EPT页表设置只读属性。
4.根据权利要求2所述的一种无代理的虚拟机监控方法,其特征在于:所述的监控策略包括监控对象和响应动作,所述的监控对象包括敏感词库、敏感进程、敏感文件和目录,所述的响应动作包括记录、报警、过滤、阻断和混淆。
5.根据权利要求4所述的一种无代理的虚拟机监控方法,其特征在于:所述步骤一至步骤四还包括:用户通过API接口对待监控的虚拟机列表、待监控的系统调用列表、监控对象和响应动作进行动态添加和删除。
6.根据权利要求3所述的一种无代理的虚拟机监控方法,其特征在于:当虚拟机内部恶意代码试图修改其内存,在最终实现内存寻址的过程中,触发只读保护异常,虚拟机捕获恶意代码,然后杀死恶意进程、告警和/或宕机。
7.根据权利要求2所述的一种无代理的虚拟机监控方法,其特征在于:所述步骤一中,用户通过监控策略设置模块设置监控策略之前,还包括预读取虚拟化平台层的监控代码文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都灵跃云创科技有限公司,未经成都灵跃云创科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810632935.X/1.html,转载请声明来源钻瓜专利网。