基于云计算的虚拟机防病毒架构分析

2019-01-18 05:21王海新罗圣美
信息通信技术 2018年6期
关键词:防病毒引擎内存

王海新 罗圣美 佟 伟

中兴通讯股份有限公司 南京 210012

引 言

随着云计算的大力发展,基于虚拟化防病毒技术的安全性和高效性越来越重要。

虚拟化技术顾名思义就是将系统的底层硬件资源进行统一管理和抽象,能够根据需求动态地调配资源,以提升资源的利用率[1],因此虚拟化技术在性能上会带来很大的提升和改善,但同时也产生了较多的安全问题,例如资源占用率过高,易引起杀毒风暴等。因此如何保障云计算场景下的业务安全已经成为关注的焦点[2]。

传统上病毒防治始终是信息安全的重要课题[3],病毒会非法修改其程序或有关信息,将拷贝放入或链入其他程序,达到感染其他程序的目的[4]。基于云计算的防病毒就是保护虚拟机在虚拟化场景下不受病毒入侵,从而防备用户数据泄露、程序毁坏等情况。目前虚拟机病毒传播主要有三种方式。

1)感染:病毒通过特定的途径进行传播。

2)触发:在特定的时间段进行病毒操作的触发。

3)载荷:除了自我复制以外的一切操作,例如增大资源的占用造成操作系统卡顿甚至蓝屏[5]。

常用的防病毒软件由病毒库(特征信息库)、杀毒引擎两个主要部件组成。

其中病毒库主要存放的是防病毒软件防护者经过对病毒详细剖析后所得到的该病毒最具有代表性的特征串信息。而杀毒引擎主要由扫描器和消毒器两部分组成,其中扫描器是相关开发者事先编制好的一段程序,是以特征行为检测为核心,通过从病毒中提取的特定特征来检测出有相似行为的病毒程序[6]。

消毒器的消毒过程是按事先约定好的流程及措施将相关信息恢复到原有状态。

在传统的PC时代,病毒库和杀毒引擎均是部署在物理机上,不存在杀毒风暴等问题。但在云化环境下,依托传统的模式,病毒库和杀毒引擎分布在每台虚拟机上,在进行查杀操作时必将会占用大量宝贵的硬件资源,高峰时期甚至会占用50%以上。

本文主要从降低资源使用率,降低扫描时间的角度,在架构上对传统防病毒软件、轻代理防病毒软件和无代理防病毒软件的安全架构进行对比分析,且进行了严格的实验测试并得出结论。

1 传统防病毒软件的安全架构

在云化环境下,基于传统的防病毒软件(核心组件为杀毒引擎和病毒库)主要运行在虚拟机里面(如图1所示)。

图1 传统防病毒软件架构

该架构主要有如下问题。

1)每台虚拟机的防病毒软件在初次启动或者扫描时要占用主机大量的CPU、内存和磁盘IO等资源,尤其在杀毒高峰时段对资源的并发占用,会造成资源的瞬时瓶颈,进而极大地影响虚拟机业务的正常运行。

2)每台虚拟机在进行病毒库升级时,缺乏统一的策略管理且网络流量进出口单一,因此在并发升级时会抢占大量的网络带宽资源,造成网络拥堵,严重时甚至会导致网络中断。

3)每台虚拟机防病毒软件安全策略各自为政,缺乏有效的统一管理。且在对虚拟机防病毒软件的升级维护方面,由于缺乏统一管理,因此需要投入大量的人力,维护成本高,另外虚拟机的安全策略复杂,存在严重的安全隐患。

因此,为了解决云计算环境杀毒场景下资源占用较高的问题,需要对传统的架构做一定的改造和优化,目前主要有两种途径,分别是针对病毒库的优化和针对杀毒引擎的优化。其中针对病毒库的优化,主要将病毒库独立出来,而杀毒引擎仍然保留在各个虚拟机内,这样的架构通常被定义为轻代理防病毒安全架构。另外,将病毒库和杀毒引擎分别独立配置,主机和虚拟机之间只保留轻量级的通道,此种架构通常被定义为无代理防病毒安全架构。

2 轻代理的防病毒安全架构

基于轻代理的防病毒安全架构,与传统防病毒架构相比,将病毒库独立出来,用单独的虚拟机承载,原虚拟机里只保留杀毒引擎,另外增加管理中心,可以对所有虚拟机查杀策略进行统一配置和统一管理,且管理中心可以对接公有云,可以进行病毒库的实时或定时更新,如图2所示。

图2 轻代理防病毒软件架构

基于轻代理的架构主要有如下特点。

(1)虚拟机提供轻量级的杀毒引擎,与传统防病毒架构相比,病毒库部署方式由分布式改造成单一式,部署数量的降低在一定程度上减少了病毒库对物理资源的占用。

(2)通过管理中心连接公有云,根据需要实时或定时更新病毒库,同时也可以上传病毒库特征文件和黑白名单。与传统防病毒架构相比,轻代理防护架构的病毒库仅部署一份,在通过网络进行病毒库更新时会大大降低对带宽资源的占用。

3)管理中心独立部署在物理机或虚拟机之上,可以从全局层面对虚拟机的杀毒策略进行统一管控,例如分时段对虚拟机进行扫描,避免杀毒风暴,降低资源的竞争性使用。

总的来看,基于轻代理的防病毒架构在一定程度上继承了传统防病毒架构的特点,但将病毒库独立部署并增加了管理中心。虽然病毒库的独立部署在一定程度上减少了对资源的占用,但是由于杀毒引擎工作时仍然会分布式地部署在各个虚拟机里面,在进行查杀操作时仍然会占用巨大的资源。因此,在高并发强资源竞争情况下,还是难以满足高性能要求。

3 无代理的防病毒安全架构

新一代的基于无代理方式的防病毒安全架构,将病毒库、日志中心、升级中心和策略系统独立出来,用独立的虚拟机或物理机承载,如图3所示。

图3 无代理防病毒软件架构

基于无代理的防病毒架构主要有如下特点。

1)将病毒库和杀毒引擎独立部署[7],其中杀毒引擎作为独立组件运行在服务器的特权虚拟机中[8],而虚拟机只保留轻量级的组件,杀毒引擎和虚拟机组件通过专用管道通讯。

2)管理中心面向终端用户,分别由升级中心、日志中心、策略系统和病毒库构成。其中升级中心可以提供升级服务,例如提供与公有云对接,实时或定时升级病毒库等。日志中心为日志收集系统,可以收集被病毒感染的日志文件,并且记录针对性的安全措施。策略系统是针对安全策略的集中式管理系统,主要包括生成、管理和下发虚拟机的安全策略,跟踪虚拟机的安全威胁和防御措施。

3)查杀协作是指主机和虚拟机之间通过专用的通道通讯,在进行安全扫描时,杀毒引擎可以根据安全策略,利用专用通道直接扫描虚拟机里面的文件,通过病毒库进行特征串比对,实施对虚拟机的安全防护和病毒查杀。

基于无代理防病毒架构,将病毒库和杀毒引擎均独立部署,同时设置专用的查杀通道,并辅之以策略系统和升级中心等管理系统,各个模块各司其职,统一管理,在满足对虚拟机安全防护的同时,还可以进一步降低对资源的占用,提高资源的使用效率。下面将结合具体的实验进行验证和研究。

4 防病毒软件实验对比

实验过程中使用EICAR组织和全球反病毒公司共同制定的一组标准防病毒测试文件,病毒文件大小为1.1G左右。

虚拟化环境采用中兴云平台IROS V5.O。实验环境与服务器配置如表1所示。

表1 实验环境与配置

测试用例设计:在同一台主机上同时并发创建8台虚拟机并发杀毒,分别采用三种杀毒方式进行对比。

1)耗时对比。

如图4所示,扫描所需时间,传统杀毒需要69分钟,轻代理杀毒需要58分钟,而无代理杀毒只需要47分钟,在杀毒效率上,无代理杀毒优于以上传统和轻代理方式。

图4 扫描时间对比

2)主机侧CPU使用率对比。

如图5所示,扫描所需主机计算资源,传统杀毒对CPU使用率的峰值和均值分别是50%和23%,轻代理杀毒对CPU使用率的峰值和均值分别是23%和11%,无代理杀毒对CPU使用率的均值和峰值分别是18%和8%。从实验效果来看,无代理杀毒方式对CPU的资源占用更少。

图5 主机CPU使用率对比

3)主机侧内存使用率对比。

如图6所示,扫描所需主机内存资源,传统杀毒对内存使用的峰值和均值分别是902兆和790兆,轻代理杀毒对内存使用的峰值和均值分别是892兆和702兆,无代理杀毒对内存使用的峰值和均值分别是544兆和480兆。从实验效果来看,无代理杀毒方式对主机内存的资源占用更少。

图6 主机内存使用对比

4)虚机CPU内存使用对比。

如图7所示,扫描所需虚拟机内存资源,传统杀毒对CPU和内存使用的均值分别是8%和20兆,轻代理杀毒对CPU和内存使用的均值分别是5%和15兆,无代理杀毒对CPU和内存使用的均值分别是2%和10兆。从实验效果来看,无代理杀毒方式对虚拟机CPU和虚拟机内存的资源占用更少。

图7 虚拟机资源使用对比

从上面三种杀毒方式在同等实验环境下的结果对比可知,无代理杀毒由于在架构上的优势,病毒扫描时间、主机侧和虚机侧对资源的占用都明显比传统杀毒和轻代理杀毒的要少,明显优化了资源使用效率。

5 结论

综上所述,随着云计算的大力发展,基于传统和轻代理的方式存在占用资源过高、容易产生杀毒风暴和流量风暴等问题。而基于无代理的杀毒方式,将病毒库、日志中心和杀毒引擎等独立出来,有效地解决了以上问题。且无代理防病毒软件具有广泛的操作系统及服务支持,支持大规模的虚拟化环境部署,可以提供多层面的安全防护,并能够连接公有云实时或定时更新病毒库。另外通过统一的管理中心,消除了软件客户端所产生的成本,降低管理复杂度,并可以通过安全事件自动管理机制,使管理更加简化,通过策略的统一管控,可以错峰杀毒,避免杀毒风暴,同时,无代理防病架构还有效提升了虚拟机密度,进而提高投资回报。因此,基于无代理防病毒安全架构在云计算模式将有更好的发展前景。

猜你喜欢
防病毒引擎内存
新海珠,新引擎,新活力!
防病毒肺炎
笔记本内存已经在涨价了,但幅度不大,升级扩容无须等待
“春夏秋冬”的内存
高速公路信息安全系统防病毒和终端管理技术应用
三生 三大引擎齐发力
浅谈计算机防病毒软件的作用机制
蓝谷: “涉蓝”新引擎
一种一次性防病毒输液装置
内存搭配DDR4、DDR3L还是DDR3?