引言
互联网为恶意软件提供了多样化的传播途径.为了防范恶意软件威胁,反病毒软件是最常用的解决方案.然而反病毒软件广泛使用的基于特征码的恶意软件检测技术无法应对病毒呈现爆炸式增长背景下的安全威胁.
当前,安全防御研究的趋势是利用云计算技术的强大数据处理与存储能力,提升安全服务.
例如,CloudAV通过在云端部署多个反病毒引擎为客户端上传的文件进行扫描,将传统的反病毒转变成对客户端的云安全服务,但CloudAV对10个反病毒引擎独立检测的结果采用了最严格的决策,使得系统的误报率较高.Ether实现了以透明及外部的方式进行恶意代码分析的平台.Ether系统的透明性使它具有很强的脱壳分析能力,此外,它还能有效抵御绝大部分反虚拟机 (anti-VM)检测攻击.
但Ether的 细 粒 度 检 测 方 式 使 其 性 能 开 销 较 高.CWSandbox构造了一个自动化的基于行为的恶意代码分 析 工 具,提 供 细 粒 度 且 较 完 整 的 监 控.Lorenzo等人提出了一种基于行为的恶意代码云端分析框架.它允许云端分析与用户端相配合共同完成恶意代码的行为分析工作.然而,这种方式的分析对用户使用干扰较多,不适于恶意软件实时防御,且恶意软件可能会逃避这种行为分析.
本文所提出基于云安全的主动防御系统主要包括在云端使用多个杀毒引擎独立对上传的文件进行检测,并对各杀毒引擎产生的结果进行综合决策.
同时,结合硬件虚拟化技术,在云端构建基于系统调用序列的恶意代码分析平台.
1 云防御系统的多引擎检测设计
1.1 常用病毒检测技术
特征码扫描首先由反病毒厂商获取病毒样本,再提取样本PE文件的关键特征,一般是程序的关键性指令集合即一串二进制位信息作为特征码.将特征码保存到特征库发布后,反病毒软件扫描文件时用特征码比对被扫描的程序来辨别该文件是否存在恶意代码.启发式扫描技术利用病毒的一般行为特征和结构特征判断文件是否包含恶意代码.
例如,病毒典型行为包括访问系统引导扇区、对EXE文件执行写操作或未提醒删除硬盘上数据等。主动防御技术使用基于主机的入侵防御系统(host-based intrusion prevention system,HIPS)完成程 序 行 为 的 拦 截 和 记 录.用 户 通 过 制 定 规 则(rule)控制操作系统中本地程序的执行、对注册表的访问和对文件系统的访问.
如果未知程序执行时触发了既定的规则,HIPS会根据规则库释放并清除病毒,当规则库无法识别病毒时会采用联机检测或人工鉴定,同时将新病毒添加到病毒库.
1.2 云防御系统多引擎检测设计思想
云防御系统包括客户端和云服务两个组成部分,如图1所示.云防御系统客户端是轻量级的主机防御程序,负责获取本机文件及报警信息并上传给云端检测.云端则包括云端管理、反病毒引擎(Avg,Avast,Duba和ESET 4种)、分析引擎和黑白名单库4个模块.其中,云端管理作为云服务的前端模块与客户端直接通信并调用和管理其他模块,反病毒引擎和分析引擎对客户端上传的文件进行扫描和行为分析,黑白名单库存储已被检测过的文件的MD5值及其安全性.云防御系统可以处理常规文件扫描,文件恶意代码分析和网络报警信息.
其研究内容主要包括以下两个方面.
1)由于单个引擎对可疑文件进行检测的检出率不高,云防御系统采用多个不同类型检测引擎进行独立检测.但是,当多种检测引擎对单个可疑文件进行检测时,相互之间得到的结果可能不一致,因此在这种情况下需要对各个检测结果进行综合决策.云防御系统利用D-S证据理论(D-S evidential theo-ry)对4个独立的检测结果进行综合决策,当综合决策的结果超过预定阈值时认定为恶意程序,而低于该阈值时则认为是正常文件.
2)云端对反病毒引擎不能检出的可疑文件进行基于行为的动态分析.很多恶意程序能够检测是否在虚拟环境或调试状态下被执行,从而具备对抗动态分析的能力.为了能充分检测程序的行为,云防御系统结合硬件虚拟化技术,在全虚拟化环境下透明监控可疑程序的执行,根据程序执行的系统调用序列判断程序的安全性.
1.3 云防御系统总体设计
云防御系统的客户端采用轻量级主机防御设计,其功能模块如图2所示,客户端程序分为内核层(Ring 0)和应用层(Ring 3)两个部分.
内核层有进程监控、注册表监控和文件系统监控3个驱动模块分别完成进程活动、注册表访问和文件访问的监控功能.云防御系统的云端管理程序采用了多线程异步通信的网络框架.
系统架构使得云防御系统能够实现高并发能力,并具有很强的可扩展性.
如图3所示,I/O服务用来执行实际的I/O操作,即用TCP/IP读写网络流与客户端直接交互,客户端发送的服务器请求由I/O服务接收.I/O服务接收字节流后转交给I/O过滤器处理,I/O过滤器根据网络通信协议将字节流编码成消息并把消息发送给I/O控制器处理.I/O控制器根据消息类型调用不同的处理模块,比如消息类型是文件请求时,控制器会调用扫描引擎扫描文件.
处理程序处理完毕后则经过与此前过程相反的过程,I/O控制器将处理程序的结果以消息的形式发给I/O过滤器,I/O过滤器则将消息解码 为 字 节 流 并 转 发 给I/O服务,I/O服务最后将字节流通过网络返回给客户端(如图3).
2 云防御系统的多引擎检测实现
2.1 多引擎检测的综合决策
证据理论也被称为D-S证据理论,是一种不确定推理方法,用集合来表示命题 ,将对命题的不确定性描述转化为对集合的不确定性描述,它的主要特点是在证据中引入不确定性,具有直接表达“不确定”和“不知道”的能力.
当各杀毒引擎检测结果不一致时,云防御系统将利用D-S证据理论进行决策,主要描述为:将在由算法计算得到的可信区间中选取一个数值作为对命题的最终信度,所有候选命题中信度最高者即为决策结果.
D-S证据理论的Dempster合成规则如下:【公式】
2.2 报警信息聚类与关联
当客户端向服务器端请求报警信息时,服务端从数据库中读取最近一段时间内的报警信息并从中筛选出具有相同源IP地址或目的IP地址的报警信息集合,以此为数据集使用Apriori算法进行关联运算.
利用Apriori算法,挖掘规则集分为两步:
1)找出报警信息数据集中所有的频繁项集.把支持度大于最小支持度的minSupport的项集(Itemset)称为频繁项集(frequent itemset).可以以迭代的方式找出频繁集.算法伪代码如图4所示.
2)挖掘频繁关联规则置信度大于给定最小置信度minConf的关联规则称为频繁关联规则,利用上一步得到的频繁项集,挖掘出全部的关联规则,如果该关联规则的置信度大于或等于最小置信度,则该规则属于频繁关联规则.
通过Apriori算法处理后的报警信息剔除了误报警,更能反映实际攻击的内部逻辑关联.将这些频繁关联规则返回到客户端,同时在服务端由系统管理员分析关联后的报警信息并做出相应决策.
2.3 基于行为的恶意代码分析
恶意软件要广泛传播必然要调用Windows系统API,因而其恶意行为可以表现为各种API调用,最后归结为系统调用.
为了保证上述监控系统调用判断程序的安全性,需要预先生成威胁规则库,对程序进行动态分析时将程序的系统调用序列与规则库中的规则匹配以达到自动化分析的目的.
以一个病毒的典型感染过程为例,病毒为了实现感染要实现以下两个功能:
1)病毒要隐藏自己.
病毒在运行时常常将它真正的程序释放到系统文件夹中,并且与系统文件名称类似以避免被删除,此时使用 的 系 统API可 能 为CreateFileA或Move-FileA;
2)自动运行.病毒为了使自己在开机时随系统启动,会篡改注册表相应的表项,对应的系统API分别为RegCreateKey,RegSetValue等等.将一个系统调用或系统调用序列定义为一条基本规则,一条或多条规则定义为程序的行为.将一条规则定义为下面的4元组(威胁规则):{ID,Threat,Syscall_length,Syscall_squence}
其中每个字段的解释如表1所示.【表1】
恶意代码可以使用变形技术轻易逃避系统规则的匹配检测,例如恶意软件只需将自身的系统调用顺序变换或在原有系统调用序列中插入无意义的系统调用就可以改变自己的系统调用序列.
为此,本系统只关注程序与安全相关的特定系统调用,如表2所示,具体包括读写文件,读写注册表,网络活动以及开启或结束进程和服务的系统调用,而且在检测的时候,将程序的系统调用序列也划分为关于文件,注册表,网络及进程的相关系统调用序列,同一类型的系统调用序列只在规则库中匹配相同类型的规则.【表2】
监控程序在可疑程序在虚拟机中执行完毕后,利用其记录的系统调用序列完成判定识别恶意程序的过程,包括以下几步:
1)将样本的威胁度赋初值为0;2)从威胁规则库中读取规则,如果读取成功进入步骤3),否则进入步骤6);3)将程序的系统调用序列与规则库中的规则相匹配,只匹配系统调用,如果匹配成功转到步骤4),否则转到步骤2);4)将系统调用的参数与规则库中系统调用参数进行匹配,如果匹配成功进入步骤5),否则进入步骤6);5)进入本步骤表明程序的系统调用与规则库中恶意行为在调用序列和调用参数上都匹配,可以判定该程序为恶意程序;6)如果只存在系统调用序列的匹配,而系统调用参数不能匹配,则将每次匹配的威胁规则的威胁度累加,若超过阈值则判定为恶意程序,否则判定该程序为正常程序.
3 系统测试及结果与分析
3.1 功能测试
客户端及服务器端的软硬件环境分别如下:
1)云防御系统客户机的软件环境:操作系统Windows XP SP3,集成开发环境VS2010并安装云防御系统的客户端程序;硬件环境:CPU为奔腾双核E5300,主频2.6GHz,内存2GB,硬盘500GB.
2)云防御系统服务器端的软件环境:操作系统为Fedora 8,虚拟机管理器(VMM)Xen 3.1,Java运行环境JDK1.6,Tomcat 6 Web服务器及MySql5数 据 库;硬 件 环 境:CPU为 至 强 (Xeon)8核E5405,主频2.0GHz,内存8GB,硬盘1TB;虚拟机软件环境:操作系统为Windows XP SP3,内存512MB,JAVA运行环境JDK1.6,并分别安装A-vast、AVG、金山毒霸和ESET杀毒软件.
在测试云防御系统的病毒检测率时,使用1 789个恶意软件样本让云防御系统的客户端程序进行扫描,耗时约3h.
测试结果如表3所示.4种杀毒引擎的单独 检测率分 别 为88.9%,36.6%,48.9%和76.2%,但是云防御系统的综合决策算法利用这4种引擎的的检测结果取得了95.6%的检测率.
云防御系统的病毒平均检测时间达到11s,这是由于综合决策等待所有引擎检测完毕后才开始运算.
可利用改进的策略进行决策,如系统可以先接受Avast的检测结果作为临时的检测结果,然后等待其他引擎检测完毕再进行综合决策,由于Avast的检测率较高,这样使平均检测时间可以大大缩短而对检测结果没有太大影响.【表3】
3.2 性能测试
对网络延时进行的测试结果如表4所示.
其中,首次提交响应时间是指云端没有现成的病毒样本,从本地上传文件并检测出结果所需的时间.传输时间是指客户端与云端通信传输病毒样本所需的时间.首次提交响应时间包括传输时间和云端扫描响应时间.命中时间是指云端有现成的样本时,通过上传文件MD5值来判断可疑文件所需的时间,由于在云端数据库中已有保存,查询时间很短.
在大规模应用的环境下,由于云端数据库中保存有大量的样本MD5值及其扫描结果,而各个系统的常用软件基本类似,因而在实际使用中,扫描命中的概率可高达90%以上,不会影响用户正常使用程序.【表4】
为了测试云防御系统整体性能(见表5),本文使用标准测试集PCMark05,并选取与CPU和内存相关的10项测试作为基准,以原生操作系统作为对比参考,运行了云防御系统的PCMark05,测试结果如表5所示,相比于原生操作系统,云防御系统系统在其中8项 测 试 中 的 性 能 损 耗 都 低 于1%,PC-Mark05测试结果显示云防御系统客户端整体性能表现较好.
4 结论
本文在基于云的主动安全防御上做了初步的探索和尝试,将客户端的主动防御技术与云端安全检测相结合,为用户提供了更全面的安全防御.在服务器端使用多个反病毒引擎独立检测上传的文件,并采用D-S证据理论决策算法进行综合决策,提高了云防御中多引擎的综合检测率.
引言随着IT技术的飞速发展,人们对于高性能计算和大数据存储的需求日益彰显,云计算作为共享IT资源的一种方式,能够满足人们日益增长的需求.根据NIST的定义,云计算包含IaaS,PaaS和SaaS3层服务模式.在3层服务模式中,IaaS层通过虚拟化抽象整合硬件资源,对外提...
虽然说网络是一把双刃剑,但是网络信息时代也是人类文明进步的标志,总归是利远大于弊,只要运用得当,不仅能给人们的日常生活带来极大的便利,也能够为社会经济文明的发展带来动力。...
一、金融信息安全概述及现状金融信息安全是根据金融信息系统在计算机网络环境下的实际应用需求,将密码学、密钥管理、身份认证、访问控制、应用安全协议和事务处理等信息安全技术运用系统安全工程中,并能在系统运行过程中发现、纠正系统暴露的安全问题,它...
日常生活中个人对计算机的使用尚且会偶尔出现安全问题,企业因其具有一定的私密性,更加容易在计算机网络安全方面产生不可预知的隐患。在当今的大数据时代,要善于结合大数据技术加强企业计算机网络安全防护,确保信息不被偷窃泄露。...
随着医院信息网络化逐渐发展,医院信息系统的安全问题也日益受到广泛的关注,维护医院信息系统的安全就显得尤为重要。因为医院信息系统全天24小时都在持续工作中,系统一旦产生故障就会对医院的所有工作产生一定的影响,严重情况下,可导致医院工作出现瘫痪...
计算机用户可以通过提升计算机系统防火墙应用、安装必要的杀毒软件、设置计算机互联网访问权限、制定完善的安全防范预案等方式来开展计算机安全管理工作,为计算机设备安全奠定坚实而稳固的基础。...
一、档案开放(一)档案开放的必要性进入现代社会,互联网科技十分发达,人们了解获得信息的渠道,方式多种多样。无论国家政府的档案,还是企业公司的档案,都可以通过合法或者非法的方式进入互联网,为公众所知。对于各种档案,进行严密的保管是很难做到...
一、计算机网络安全的主要隐患(一)计算机网络软硬件技术不够完善。由于人类认识能力和技术发展的局限性,在设计硬件和软件的过程中难免留下种种技术缺陷,由此造成信息安全隐患。如Internet自身协议的开放性虽极大地方便了各种计算机入网,拓宽了共享资源...
引言电力系统要想在激烈的市场竞争中获得长久的发展,就必须加强其创新体制的改革以及网络信息安全的使用,随着经济社会的不断变化与发展,人们对于信息化的认识也有了一定程度上的提高,就电力系统而言,网络信息化的广泛使用不仅仅可以保证供电信息的安全...
为了确保工业控制网络稳定健康发展,相关单位和机构需要重视安全防护问题,使用科学完善的网络结构,重视网络安全设施的使用,利用具有科技性和完善性的网络措施,保障工业控制网络具有保密性和独立性,为工业生产和发展提供稳定基础。...