预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

面向云平台的多样化恶意软件检测架构摘要:近年来恶意软件对物理机和云平台上虚拟机均构成巨大的安全威胁。在基础设施即服务(IaaS)云平台上部署传统的杀毒软件、防火墙等恶意软件检测工具存在以下问题:1)检测工具可能被破坏或者关闭;2)单一的检测工具效果不理想;3)检测工具可能被加壳等方式绕过;4)需要给每台客户机安装额外软件难以部署实施。为此提出一种面向云平台的多样化恶意软件检测架构。该架构利用虚拟化技术截获客户机的特定行为抓取客户机内软件释放的代码通过多种杀毒软件多样化的扫描确定软件的恶意性。采用的动态内存提取的方式对客户机完全透明。最后在Xen上部署该架构并进行恶意软件检测测试该架构对加壳恶意软件的检测率为85.7%比杀毒软件静态扫描的检测率高14.3个百分点。实验结果表明在云平台上采用多样化恶意软件检测框架能更好地保障客户机的安全。关键词:云平台;恶意软件检测;虚拟化;多样化;动态扫描中图分类号:TP309.5文献标志码:A0引言恶意软件[1]是指带有攻击意图所编写的一段程序用于破坏计算机操作、收集敏感信息或访问专用计算机。现有的恶意软件检测主要方法有2种[2]:一种方法是基于特征匹配。通过提取软件二进制文件特征或者动态的行为特征与恶意代码库的特征进行比对来判断是否是恶意软件。另一种方法是基于异常检测。通过发现软件行为中与正常行为不符的方式来判定是恶意软件。现在恶意软件的检测主要由操作系统上的杀毒软件完成。在基础设施即服务(InfrastructureasaServiceIaaS)云平台客户机中部署传统杀毒软件存在以下问题:1)杀毒软件存在被关闭和破坏风险。杀毒软件处于客户机内部恶意软件通过技术手段检测杀毒软件的存在后进行关闭和破坏操作。2)杀毒软件的静态扫描方式容易被加壳等手段绕过。3)单一杀毒软件的检测效果不理想。市面上主流杀毒软件的检测效果表现出较大差异。同一样本在一部分杀毒软件中报告安全在另一部分中报告存在安全威胁。多种杀毒软件同时进行恶意软件检测表现出更好的效果但是在同一台客户机中安装多种杀毒软件除了普遍存在的兼容性问题还会大量消耗客户机资源严重影响性能。4)IaaS云平台的服务提供商需要在每个客户机中预装杀毒软件这种方式很难被接受并且不利于快速扩展。鉴于上述原因在云平台上客户机外部统一部署恶意软件的检测模块提供客户机多样化的动态内存扫描服务有重大意义既很大程度上降低被关闭和破坏的风险增加了绕过的难度还利用云平台强大的计算能力、技术基础又能减少在每个客户机中部署杀毒软件的资源消耗。作为云平台的基础技术虚拟化技术[3]是通过在物理层和操作系统层之间加入中间层即Hypervisor层。Hypervisor通过内存管理、外设管理、中央处理器(CentralProcessingUnitCPU)调度等模块的重新设计完成内存虚拟化、外设虚拟化和CPU虚拟化在同一套硬件资源上虚拟出多套虚拟硬件资源。多个操作系统可以互不影响地在同一台物理机上同时运行复用物理资源。由于Hypervisor可以直接控制CPU、内存等硬件在云平台上通过Hypervisor实现系统监控、恶意软件的检测在学术界逐渐的发展。针对恶意软件检测在云平台上面临的诸多问题本文提出了一种面向云平台的多样化恶意软件检测架构。该架构采用修改影子页表实现这一新方法在对客户机完全透明的情形下利用虚拟化技术截获客户机的特定行为抓取客户机内软件释放的代码最后综合多种恶意软件检测工具的结果做出软件是否恶意的判断实验表明该架构对加壳恶意软件的检测效果比杀毒软件静态扫描的检测效果更好。1相关研究研究人员对利用虚拟化技术进行监控和恶意软件检测进行了大量的研究取得了一些这方面的成果。基于虚拟化技术的监控技术按照监控软件的部署位置分为外部监控和内部监控。内部监控软件与传统的监控软件有些相似与被监控虚拟机位于同一个操作系统内。外部监控软件位于被监控系统外借助Hypervisor获得被监控虚拟机的二进制信息通过技术手段恢复成操作系统的系统调用或者进程创建等消息。这方面的监控软件很多比如Panorama是Yin等[4]设计的基于QEMU(QuickEmulator)[5]的系统级别监视系统用于分析恶意软件的执行流程和感染路径。VAMPiRE[6]、Cobra[7]是已经提出细粒度的监控软件框架:其中VAMPiRE是通过操作内存的读写运行权限实现在系统的任何地方下断点;Cobra采用将待监控代码分块运行于低权限的环境中通过修改内存属性等完成对待监控代码的行为分析。外部监控系统调用在VMwatcher(VirtualMachinewatcher)[8]和TTA