一种面向大数据主动防御的低损耗数据采集方法*

2021-05-08 06:10张锋军李庆华牛作元
通信技术 2021年4期
关键词:主动防御内省代码

许 杰,张锋军,陈 捷,李庆华,牛作元,石 凯

(中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引言

随着大数据技术的日益成熟,围绕大数据的应用呈现出了多种多样的特点,使得大数据的流转更加错综复杂,导致了数据暴露出更大的受攻击面。同时,大数据在全生命周期过程中呈现出了类型动态化、等级多样化、权属复杂化、使用实时化等特点,这些特点都导致了大数据环境下的安全威胁攻击手段多样化,攻击程序不断更新迭代,使得大数据在全生命周期过程中被窃取、被滥用、被篡改的风险不断增大。传统的安全手段及体系呈现出的单点、静态、被动防护的特点已不能有效应对大数据环境下的安全威胁。在这种趋势的推动下,安全防御思想正在从“以网络为中心”向“以数据为中心”转变,安全防御体系正在从单点、静态、被动防护向全面、动态、主动防护转变。

在围绕大数据全生命周期安全的主动防御体系中,主动防御所需采集数据的种类多、数据量大,应尽量减少对采集系统资源的占用率,不影响被防御对象系统的正常运行,因此,数据采集效率对整个防御体系的准确性、实时性和高效性至关重要[1]。

针对上述问题,特别是面向大数据分析应用场景,本文提出了一种面向大数据主动防御的低损耗数据采集方法。该方法采用无代理带外采集方式,结合虚拟机内省机制,从大数据分析节点中的虚拟机外部对虚拟机内部的数据进行采集,仅采集安全防御所需数据,不仅提高了数据采集的效率,而且有效降低了大数据分析节点网络资源和虚拟机计算资源的占用率,从而实现低损高效的数据采集目的。

1 主动防御系统数据采集架构

大数据主动防御系统数据采集架构如图1所示。

图1 大数据主动防御系统数据采集架构

在一个典型的面向大数据环境下的主动安全防御系统中的采集系统主要包括3类数据:网络、终端、大数据分析节点。目前,针对大数据环境下的网络和终端的数据采集技术相对成熟。网络流量主要以探针的方式进行数据采集,采集技术主要有:基于SNMP的采集技术、基于流的采集技术和基于数据包抓取的采集技术;终端主要以代理或探针方式进行数据采集,终端采集代理或探针主要通过轻量化软件容器实现;大数据分析节点由于部署在虚拟机上,数据采集方式以带内采集方式为主,该方式的典型做法是基于主机的入侵检测系统,由中心采集程序和植入虚拟机的代理程序组成,是一种松耦合的方法。带内采集方式由于使用了采集程序和代理,会占用一定的虚拟机资源,占用量高时会严重影响到虚拟机的正常运行,而且更易于被攻击和被绕过而导致数据采集失败,这些问题都会严重影响主动防御系统的响应效率和防御效能,甚至导致防御失败。针对这些问题,本文提出了一种高效低损的数据采集方法,该方法基于虚拟机内省技术[2-3],通过虚拟机监控层从外部对虚拟机内部进行选择性的数据采集和监控,实现了高效低损的采集效果。同时,由于带外采集对虚拟机内部是透明的,虚拟机内部无法感知到带外监控程序,因此本方法还具有更高的安全性。

2 基于虚拟化的数据采集技术

在大数据系统部署的过程中,为了实现高效的计算和存储能力,一般大数据计算集群和存储集群分开部署,将计算集群部署在云计算平台上,在这种部署情况下,为了实现大数据环境下的主动防御能力,需要对计算集群进行高效的数据采集和分析。在虚拟化环境下,从数据采集实现技术的角度看,采集方法主要有两种[4]:带内采集(In-band)和带外采集(Out-of-band)。

带内采集是指从虚拟机内部进行数据采集。如图2所示,该方法主要通过在虚拟机中加载代理模块拦截虚拟机内部事件来实现。该方法的优点在于事件拦截是在虚拟机内部,可以直接获取操作系统语义,获取的语义精准且不需要进行语义重构,因此减少了性能开销;缺点是容易遭受恶意软件的攻击和控制,容易成为新的安全隐患点,而且代理模块采用加载的方式容易被用户终止而轻松绕过。

图2 带内采集(In-band)

带外采集是指从虚拟机外部,在虚拟机管理器中对虚拟机中的事件进行拦截,从而实现对虚拟机数据的采集。由于带外采集是在虚拟机管理器中执行,位于目标虚拟机的底层,可将数据采集单元与目标虚拟机隔离开来,数据采集对目标虚拟机是不可感知的,因此增强了数据采集单元的安全性。与带内采集相比,带外采集具有更高的安全性,但其存在虚拟机内部的真实状态与虚拟机外部抽取信息之间的语义鸿沟问题[5],也就是如何将从外部抽取的低层信息(寄存器值、系统调用、I/O请求等)转译成高层信息(进程、文件等)。如图3所示,这种从虚拟机外部监控虚拟机内部的方法称为虚拟机内省(Virtual Machine Introspection,VMI)。

图3 带外采集(Out-of-band)

3 低损耗数据采集方法

通过结合带内和带外数据采集方法的优点,本文提出了一种基于虚拟机内省机制,面向大数据主动防御的低损耗数据采集方法。

3.1 基于虚拟机内省的数据采集框架

本方法的主要思路是采用虚拟机内省技术在虚拟机监控器中设计数据采集监控模块,通过监控模块从虚拟机外部对虚拟机内部信息进行采集,为了避免语义鸿沟问题,设计一个采集注入模块,在虚拟机启动时,通过将采集代码注入目标虚拟机内存中,按照采集策略对所需数据安全信息进行采集,因此无须进行语义转换。低损耗数据采集方法的整体技术框架如图4所示。

图4 基于虚拟机内省的数据采集框架

低损耗数据采集方法主要包括4个部分:策略设置模块、数据采集模块、采集注入模块和采集注入代码。其工作流程说明如下:

步骤1:虚拟机启动时,虚拟机监控器通过采集注入模块将采集代码以无感方式注入目标虚拟机的非换页内存中,保证代码不会被换出;

步骤2:在虚拟机运行过程中,数据采集监控服务平台管理员设置目标虚拟机的数据采集策略,采集策略管理模块将制定好的策略下发至虚拟机监控器的策略设置模块;

步骤3:策略管理模块通过采集注入模块将策略下发至目标虚拟机的采集注入代码中;

步骤4:采集注入代码根据策略,采集进程、文件操作、磁盘访问等信息;

步骤5:采集注入代码将采集的信息定时或按照一定的数据量发送给数据采集模块;

步骤6:数据采集模块将采集数据进行清洗后,按照标准格式发送给数据采集监控服务平台。

数据采集监控服务平台将接收到的采集数据进行数据处理和数据分析,将发现的数据和进程异常行为及时上报主动防御系统,主动防御系统根据接收到的威胁信息调整防御策略并进行相应的协同防御。

3.2 数据采集优化

数据采集模块位于虚拟机监控器,利用虚拟机内省机制(LibVMI)[6]实现虚拟机内部数据的外部采集。LibVMI是美国佐治亚理工学院的Payne等设计的一套开源内省工具库,如图5所示。该工具不需要对虚拟机监视器进行修改,而是直接利用虚拟机监视器提供的接口对虚拟机底层信息(进程页表、内存映射等)进行重构,获取虚拟机高层信息(进程信息、内核数据),从而实现监控虚拟机的行为和状态。这种方法对虚拟机影响最小。

图5 数据采集模块

基于虚拟机内省机制的LibVMI也存在语义鸿沟问题,为了避免该问题,本方法设计了采集注入代码模块,该模块在虚拟机启动时以无感的方式通过采集注入模块注入虚拟机非换页内存区域中,通过注入代码直接采集虚拟机的高级信息,因此不需要进行语义转换,从而解决了资源消耗问题。同时,为了提高数据采集效率,并进一步减小对目标虚拟机内存的占用率,对采集注入代码进行了优化,设计了一种阈值综合判定规则,该规则综合考虑了采集时间C和资源占用率S两个因素,资源占用率的阈值T一般为目标虚拟机内存的1%,该阈值可根据用户需要进行设定,采集时间间隔I由管理员设定,按照资源优先原则,判断资源占用率,如果S>T,则数据输出,否则如果C>I,则数据输出。

通过上述的优化过程,从系统层面到采集实施层面均对整体数据采集进行了优化,保障了采集效率和效果的有效权衡。

4 效果分析

实验采用服务器配置如表1所示。

表1 服务器配置

采集数据如表2所示。

表2 采集数据表

4.1 采集效率

本文设计的数据采集优化方法采用了内存注入代码方式,可直接从目标虚拟机内部采集数据,经过测试,通过对数据采集1 000次并取平均值计算,数据采集时间为0.002 s,而采用代理程序方式的采集时间为0.6 s,采集效率提升了100倍,实现了高效的数据采集能力。

4.2 采集效果

通过测试,在目标虚拟机内存占用率方面,本文方法内存占用量为56 kB,采集代理程序内存占用量为1.2 MB,在内存占用量上减少了95%;测试采集9 MB数据,目标虚拟机内存为1 GB,本文方法内存占用量为9.056 MB,内存占用率小于1%,而采集代理程序内存占用量为10.2 MB,内存占用率大于1%,说明在采集相同数据量的情况下,本文方法具有更低的资源占用量,保障了目标虚拟机的高效运行。同时,采集的数据可根据采集策略进行采集,故可根据防御的需求随时更改采集的数据内容,保障采集内容的完备性,并可根据需要设定采集时间间隔,可动态满足主动防御需求。

通过实验分析,本方法从采集效率和效果上均达到了一种高效、低损的数据采集能力。

5 结语

本文围绕大数据全生命周期安全的主动防御体系对数据采集的准确性、实时性和高效性的需求,设计了一种基于虚拟机内省机制的高效低损的数据采集方法。该方法结合了带内采集和带外采集的优点,从主动防御系统的整体出发,从采集效果和采集效率上对采集模块进行了优化,保证了数据采集的完备性和高效性,通过虚拟机内省机制和资源占用阈值的设定,保障了对虚拟机本身资源占用率的最小化。本文设计的方法为大数据主动防御系统的构建提供了良好的支撑。

猜你喜欢
主动防御内省代码
以色列BIRD航空系统公司推出新型主动防御系统
“一三七”内省法助力学生高质量学习
变电站动静互联式的主动防御小动物入侵系统开发
主动防御飞行器的范数型微分对策制导律
商务英语课程体系下学生肢体语言智能、内省智能及探索智能的培养
神秘的代码
浅谈高校教师职业道德修养的提升
一周机构净增(减)仓股前20名
一行代码玩完19亿元卫星
社会主义核心价值观的“内省”与“外化”