将想法与焦点和您一起共享

基于云安全的主动防御系统多引擎检测设计发布者:本站     时间:2020-05-02 16:05:51

互联网为恶意软件提供了多样化的传播途径.为了防范恶意软件威胁,反病毒软件是最常用的解决方案.然而反病毒软件广泛使用的基于特征码的恶意软件检测技术无法应对病毒呈现爆炸式增长背景下的安全威胁.

当前,安全防御研究的趋势是利用云计算技术的强大数据处理与存储能力,提升安全服务.

例如,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).



选择我们,优质服务,不容错过
1. 优秀的网络资源,强大的网站优化技术,稳定的网站和速度保证
2. 15年上海网站建设经验,优秀的技术和设计水平,更放心
3. 全程省心服务,不必担心自己不懂网络,更省心。
------------------------------------------------------------
24小时联系电话:021-58370032