论文部分内容阅读
近年来,云计算、虚拟化技术被广泛应用,在一台主机上搭载多台虚拟机,针对不同用户提供多种服务成为一种趋势。随着技术的推广,各种安全问题逐步暴露。相对于传统的物理主机,虚拟机受到安全威胁后造成的影响范围更大,虚拟机的安全问题更应该受到重视。从虚拟机的特性出发提出的虚拟机自省技术给虚拟机信息采集和安全检测都带来了新的方法和挑战。目前的研究工作在信息采集时,使用无代理方式从外部对虚拟机内部的信息进行语义恢复,存在语义鸿沟的问题,而且获取的信息种类较少。而为了缩小语义鸿沟,采用有代理方式从虚拟机内部获得操作系统级语义,又会导致系统隔离性较差、信息可信度低。同时,由于前期信息采集中存在问题,在后期的安全检测中缺乏充分、可信的依据,各类信息无法得到充分的关联和应用,难以保证全面性的检测要求。针对以上问题,本文研究基于虚拟机自省的信息恢复和基于机器学习的虚拟机安全检测,并实现了一套基于自省技术的虚拟机安全检测原型系统,具体工作包含以下三个方面:1.研究了基于虚拟机自省的信息恢复,在保证系统隔离性的同时提高信息获取的可信度和完整度。在不修改虚拟机操作系统和虚拟机管理器层的前提下,从虚拟机外部获得虚拟机状态、内存、寄存器数据。再通过对系统内核结构和功能的研究,对进程状态、打开文件、打开端口和系统调用进行了语义恢复和有效关联。同时用恢复的信息构建详细的虚拟机外部信息视图。2.研究基于机器学习的虚拟机安全检测,将获取的信息充分关联和应用以提高检测的全面性。从问题分析归纳入手,将虚拟机状态和进程的安全问题归结为二分类问题,并建立分类模型。利用基于增量和时间窗口的方式对虚拟机状态和进程信息进行分析与处理,形成虚拟机状态和进程的特征向量。然后采用局部异常因子方法,完成对虚拟机异常状态的检测。通过多种机器学习算法建立进程分类模型,完成对虚拟机恶意进程的检测。在实验中,利用随机森林实现的检测方法存在3.8%的误报率,但是对恶意软件的检测率达到了99.76%,超过了市场上大多数的杀毒软件。3.整合前两部分的研究,结合外部网络检测工具Snort设计并实现了基于自省技术的虚拟机安全检测原型系统,并对系统进行了功能测试和性能测试,验证了系统的可行性和有效性。综上所述,本论文研究了基于虚拟机自省的信息恢复和基于机器学习的虚拟机的安全检测,并在此基础上实现了一套基于自省技术的虚拟机安全检测系统,能够有效提高虚拟机的安全性。