基于实时关联分析算法及CEP的大数据安全分析模块研究与实现
0 引言
在信息爆炸的互联网社会,大数据渗透在生活的方方面面。大数据时代的企业网络环境安全数据分析也呈现海量化、多样化、异构化等特点。自“棱镜门”事件的爆发[1],层出不穷的安全问题凸显,从传统病毒进化到蠕虫、拒绝服务攻击(Denial of Service,DoS)等恶意攻击,乃至复杂程度更高的网络攻击手段——木马、间谍软件、僵尸网络、网络诈骗、网络钓鱼等,攻击者已不仅仅满足于使用单一的手段进行攻击,而是使用关联的、复杂的攻击手段、模型及算法针对企业网络环境中的薄弱部分进行攻击[2]。面对企业内安全告警信息的特点及愈发复杂的攻击手段,安全告警监控平台的相关监控、分析及使用人员无所适从。因此,对企业网络环境中接入的海量数据关联分析生成告警的实时性、准确性及个性化等方面提出更严格的要求。
在传统的大数据安全告警监控平台中,安全告警是以数据为驱动[3-4],从经验丰富的安全分析人员获得。对海量安全数据的分析实际上是对安全事件的分析[5],但仅从数据入手,靠人工途径获得安全数据的关联知识过程繁琐[6-8],在不同的应用环境可能存在差异,更无法满足实时性,从而无法满足大数据安全分析告警监控的整体需要。因此,采用新技术相结合的自动化数据关联分析生成告警显得尤为
迫切。
在大数据环境下,本文基于上述海量安全事件分析的新要求,设计并实现了基于复杂事件处理(Complex Event Processing,CEP)的大数据安全关联分析模型,使用Storm和Esper结合的事件处理框架,结合前置的数据采集模块、后置的告警生成模块,进行海量数据关联分析与告警生成。此思路经过设计、研发并投入生产环境应用、验证,自动化地进行海量数据分析,提取关键信息,生成告警,为安全分析相关人员提供了实时、准确、个性化的安全信息分析服务。
1 模型设计
大数据安全关联分析及告警生成的实现通过完整平台实现,设计重点是基于CEP的大数据安全关联分析模型,故安全数据关联分析的前置及后置模块仅简单介绍。复杂事件处理的数据关联分析模型架构如
1.1 数据采集模块
数据采集是海量数据关联分析的前置,在实现安全关联分析之前,需确保系统中有数据采集前置。数据采集模块主要包括多源异构数据的采集、存储及转发。企业网络环境中部署各类设备,数据采集模块分布式统一采集从不同设备发送的日志数据,对数据进行初步抽取与处理,处理后的数据本地存储一份,并推送至消息队列中,推送的数据称为安全事件流,是安全设备、网络设备、应用服务器等采集到的一组数据、一个数据包、一类描述文件,这些事件按照设备报出来的形式,被视为一个安全原子事件[9],记为
其中:start_time和end_time分别表示事件的开始时间与结束时间,data表示日志其他的重要
属性。
在企业网络环境下,数据采集层随时从不同设备、系统中接收并生成安全事件流,安全事件流可以看作是无间断地主被动采集,类型相互关联的数个原子事件
1.2 安全数据关联分析模块
数据采集完毕后,通过安全数据分析模块对推送至消息队列的安全复杂事件即安全数据进行数据关联分析,安全数据关联分析模块按照安全数据处理事件选择、事件聚合、事件处理[11]3个步骤的执行顺序分为标准化引擎、事件语义分析引擎及复杂事件处理引擎(见
1.2.1 标准化引擎
标准化引擎是对安全数据的过滤、分类、加强及范式化等数据分析工作,实现事件流的主题去重去噪分析、加强分析及范式化分析。该引擎是事件流的标准化分析环节的引擎,业务逻辑是依据不同数据的特性预置的,不需要人工自定义规则,不必结合Esper技术使用EPL语句进行处理,利用Storm框架的高吞吐率,采用Storm的技术架构[12],加快事件流的处理速度。Storm采用实时计算的图状结构,图在Storm中成为拓扑。每个拓扑提交给集群,由集群中的主控节点分发代码,将任务分配给工作节点执行。一个拓扑中包括spout和bolt 2种角色,其中spout发送消息,负责将数据流以tuple元组的形式发送出去;bolt则负责转换这些数据流,在bolt中可以完成计算、过滤等操作,bolt自身也可以随机将数据发送给其他bolt。由spout发射出的tuple是不可变数组,对应着固定的键值对。Storm框架如
所示。
1)分类去重去噪分析
分类去重去噪是对事件流的第一重选择。
①数据主题分类:根据与数据采集层约定的自定义数据类型主题关键词,将数据分为网络设备数据、安全设备数据、主机设备数据、终端设备数据、应用设备数据、网络流数据及情报类数据七大类,并解析数据的分隔符号,将事件流中的data进一步拆分具体属性特征。
②去重:去重是对分完类且具有具体属性特征的安全事件流的去重,依据每条日志的MD5值进行计算后,MD5值一致的即为重复数据,仅保留一条有效的,否则会造成数据的冗余。
③去噪:去噪是对已经过去重后的事件流中的“噪点”数据进行修饰,由于事件流中数据类型各异,且来自不同厂商、设备和系统,故数据中包含不符合规范的数据项在所难免,去噪就是对这类数据包括标点符号、特殊符号等噪声的“消噪”处理,并最大程度还原有意义属性,不能还原的“脏数据”剔除。
2)加强分析
加强分析是依据业务的要求,将已经过去重去噪的事件流关联离线的知识库数据,加强每条事件流的关联信息,包括IP所在地域、经纬度、资产名称、责任人等属性信息。
3)范式化分析
范式化将经过以上2步分析处理的事件流再标准化,只保留符合预定义的格式规范的数据,用于后续事件的语义分析及复杂事件处理。
1.2.2 事件语义分析引擎
事件语义分析引擎即将前一步的标准化后的分析字段进行字段映射。这里的语义是指需要分析的行为模式关联语义,即按照规范化事件流之间的关联模式进行分析的语义。事件流语义分析引擎仅进行事件字段映射。
事件字段映射用于提取需要分析的事件流中的关键语义,关键语义以<Key,Value>键值对形式存在,为事件流生成告警的重要属性字段的集合。
1.2.3 复杂事件处理引擎
复杂事件处理引擎参考CEP的通用处理框架[13](见
CEP处理框架反映的是原子事件进入事件处理引擎后通过一系列的操作,生成复杂事件直至最终事件的流程。复杂事件处理主要负责实时事件流的处理及不同事件流实时关联分析。
事件输入来源包括前一步事件流语义分析后的结果,数据覆盖全面、实时;在事件处理部分,事件建模器中的模型分为预定义场景分析及可视化交互用户模型自定义分析。在自定义业务规则上使用热切换实现新建规则。在用户GUI配置完规则后,实现快速重启Esper引擎,该引擎依据自定义与否分为预定义场景分析和可视化交互分析。
1.2.4 实时关联分析算法
在传统技术架构下,关联分析算法往往需要从离线的非结构化数据集上执行分析,难以对大量、嘈杂的数据进行融合关联分析,形成实时全局可视化安全态势,因此本平台在Storm等流式计算框架基础上,结合CEP以及Apriori算法[14],通过数据内存实时分析、海量安全信息实时监控与关联分析,及时发现安全异常行为。
Apriori算法主要分为2个步骤:第一步对基础数据进行迭代,检索出数据中频繁的项集,其中频繁的阈值预先设定。第二步首先找出频繁项集-1,记为L1;然后利用L1来生成候选项集C2,对C2中的项进行判断挖掘出L2,即频繁项集-2,其中候选频繁项集不断如此循环直到无法发现更多的频繁项集-
在基础的Apriori算法中,每一步产生候选项集时循环产生的组合较多,没有排除冗余元素,其次在数据增多的情况下,对计算机的I/O开销成几何倍数增加,因此做出一些改进,将每个项集生成hash值,通过和最小支持计数相比,先淘汰一部分项集。
1.3 告警生成模块
在事件流经过基于复杂事件处理的数据关联分析后,将生成的告警存储在告警生成模块的关系型MySQL数据库中[15],并通过数据总线为应用层的使用人员提供统一服务,供不同角色人员进行监控、处置等操作。
1.4 应用场景算例分析与设计
依照基于复杂事件处理的大数据安全关联分析模型的设计,选取“邮件账号异常登录场景”进行算例分析。该场景为:依据采集的海量日志,对企业内部邮件账号异常登录的行为进行识别,满
责任编辑:售电衡衡
-
权威发布 | 新能源汽车产业顶层设计落地:鼓励“光储充放”,有序推进氢燃料供给体系建设
2020-11-03新能源,汽车,产业,设计 -
中国自主研制的“人造太阳”重力支撑设备正式启运
2020-09-14核聚变,ITER,核电 -
探索 | 既耗能又可供能的数据中心 打造融合型综合能源系统
2020-06-16综合能源服务,新能源消纳,能源互联网
-
新基建助推 数据中心建设将迎爆发期
2020-06-16数据中心,能源互联网,电力新基建 -
泛在电力物联网建设下看电网企业数据变现之路
2019-11-12泛在电力物联网 -
泛在电力物联网建设典型实践案例
2019-10-15泛在电力物联网案例
-
权威发布 | 新能源汽车产业顶层设计落地:鼓励“光储充放”,有序推进氢燃料供给体系建设
2020-11-03新能源,汽车,产业,设计 -
中国自主研制的“人造太阳”重力支撑设备正式启运
2020-09-14核聚变,ITER,核电 -
能源革命和电改政策红利将长期助力储能行业发展
-
探索 | 既耗能又可供能的数据中心 打造融合型综合能源系统
2020-06-16综合能源服务,新能源消纳,能源互联网 -
5G新基建助力智能电网发展
2020-06-125G,智能电网,配电网 -
从智能电网到智能城市