崔玉礼 黄丽君
1 引言
网络安全分析的数据随着网络架构的越来越复杂,来源越来越丰富,数量呈指数曲线增长,从TB的数量级迈向PB数量级,内容越来越细致,维度范围越来越大;网络设备的性能越来越强,发送数据的速度越来越快,安全信息的采集速度要求越来越高;网络安全漏洞日益增多,影响范围广泛。除此以外,一些有组织、有预谋的高持续性攻击行为十分猖獗,要求网络安全维护时的分析安全信息的多种类和手段的多样性。
2013年Gartner分析数据显示,未来信息架构的发展趋势以大数据技术为魁首,其最近一段时间在多个领域得到了发展和应用。大数据技术具有数据量大、速度快、种类多、价值密度底等特点,满足于网络安全数据要求的效率高、容量大、成本低等要求。
2 大数据技术在网络安全分析中的应用
日志和流量是当前网络安全分析的主要数据对象,资产、配置、漏洞、访问、应用行为、用户行为、业务行为、外部报告等作为关联的辅助信息。将大数据技术引用进来,原理是将分散的日志与流量数据集中到一起,运用高效的采集、储存、分析和检索技术,提升网络安全分析和处理的成效,缩短分析的时间。在使用信息关联、阶段性组合、场景关联等手段进行分析,发现安全事件之间的关联性,预测安全漏洞、高持续性攻击和数据泄露等安全事件的发生,变被动防御为主动防御。
(1) 信息的采集。数据采集可以使用Chukwa等工具,使用分布采集的手段进行对于日志信息每秒数百找的采集;通过传统的数据镜像的采集方式,可以采集全流量数据。
(2)信息的存储。面对繁杂的数据种类和各种各样的应用方式,想要满足各种分析需求的数据储存,提升检索与分析的速度,应采取不同的储存方式来储存不同类型的数据。
供检索的原始安全数据,如日志信息、流量历史数据等,可使用GBase、Hbase等列式存储,其具有快速索引的特性,能够快速响应数据检索。
进行标准化处理后安全数据,可以根据Hahoop分布式进行其构架计算,把分析的数据置于计算节点上,使用Hive等进行脚本分析,挖掘与分析安全数据,完成统计报告和分析警告,再将结果存放于列式存储,
需要进行实时分析的安全数据,可采取Storm、Spark等流式计算方法,把需要分析的数据置于各个计算节点,当实时数据流流经节点时系统自动进行分析,形成数据统计与安全警告,再把分析结果存放到流式存储中。
(3)信息的检索。安全数据的查询与检索可以使用以MapReduce为基础的检索架构,把数据查询的请求主语各个分析节点进行处理,利用分布式的并行计算方法,将安全数据的检索速度有效提升。
(4)数据的分析。实时数据分析可以利用Storm或者Spark等流式计算架构为基础,联合复杂事件处理技术和定制的电联分析计算方法。采用以上方法对于实时分析数据内存、实时监控与关联安全信息,能够及时捕捉异常行为。非实时数据的分析可采取Hadoop架构,利用HDFS分布式存储和MapReduce分布式计算,联合数据聚合、数据挖掘、数据抽取等技术,离线统计风险、分析事态、寻找攻击源。
(5)多源数据与多阶段组合的关联分析。大数据技术能够有效提升存储与分析的速率,使短时间内挖掘分析多源异构数据,关联挖掘大规模系统的安全隐患、关联不同阶段的攻击行为特征等可能性存在。例如,要分析僵尸网络,不单单能够结合流量同DNS的访问特征,还可以将数据源进一步扩充与分析,将全分组数据集合、对溯源数据和莫管数据进行攻击、深度关联分析外界情报等信息。又例如,发现某个主机被攻击或者存在漏洞,能够关联系统中的其他主机是否受到相同的攻击或者存在相同的漏洞,使隐患及时被发现,提前做好防范准备。
3 基数大数据技术的网络安全平台建设
3.1 基于大数据的网络安全平台架构
此平台由下至上分别为数据采集层、大数据存储层、数据挖掘分析层、数据呈现层。当中数据采集层能够分布式采集基于流、用户身份信息、事件和威胁情报等多源异构信息。大数据存储层能够应用分布式文件系统长期全量存储海量信息,并能实现结构化、半结构化以及非结构化的数据统一存储,使用均衡算法将现实数据均匀分布在分布式文件系统上,为将来的数据检索提高速度。数据挖掘分析层能够实将时数据分析关联、分析情境、提取特征,以此来实现安全事件的挖掘,迅速发现异常网络行为并溯其根源,同时能够对信息数据进行搜索查询以及定位。数据呈现层能够将大数据分析结构进行可视化的呈现,通过多种维度展现网络安全状态。
3.2 平台实现的技术支持
(1)数据采集技术。本平台采取Flume、Kafka、Storm结合的形式进行数据采集。使用Flume进行海量安全数据的采集、整合与传输具有可呈现分布式、可靠性高、可用性高的特点,利用定制的数据,让发送方能够手机到源自不同数据源的数据,把数据简单处理后发送给各个数据的定制方。
面对活跃的流式数据进行处理,是可将Kafka当做数据采集与流式数据处理间的缓存。Kafka包含许多生产者、代理、消费者,整体性的提供逻辑服务,使其成为一个高吞吐量的分布式发布订阅系统。面对分布式中的数据管理,Kafka使用了Zookeeper框架对于集群配置进行管理,实现了负载的均衡。
(2)数据存储技术。使用HDFS进行采集后的数据存储,HDFS分布式文件系统有着高吞吐量和高容错性的特点,命名空间使用的是元数据管理节点文件系统,数据节点被用来存储数据文件,将64兆字节的数据块作为最基本存储单位。元数据节点的数量与数据文件的大小成粉笔,同一时间如果访问过多的文件就会造成系统性能的严重下降。所以,想要保障数据处理和分析的效率,此平台使用的存储单位就是HDFS数据块存储,把采集得来的数据归纳处理之后,保证每个文件的大小满足64兆字节。
(3)数据分析技术。此平台使用Hive完成数据统计与分析,采取类似SQL的HiveQL语言满足HDFS与HBase对于非结构化的数据进行快速检索的。该平台使用Hive对API进行封装,使用定制的插件开发和实现各种数据的处理、分析与统计。
对于数据的挖掘分析,给平台使用Mahout完成基于Hadoop的机械学习,同时完成数据的挖掘与整理。针对事件流的关联与分析,该平台使用了CPE,把系统数据当作是各种类型的事件,对时间之间的关联性进行分析,构建起分门别类的事件关系序列库,完成从简单事件到高级事件的转化,在大量的信息中寻找到网络安全隐患。
4 结束语
大数据技术在网络安全中的应用实现了精准、迅速、价格低廉的目的。现阶段,在网络安全中如何更加有效地运用大数据技术已经成为了业内探讨的热点与焦点。本文以当前针对网络漏洞与攻击的情况的防御需求为出发点,讨论了将大数据技术应用到网络安全领域的收集、存储、检索以及分析的应用手段,有效地提升了网络安全防御的准确度和效率。
参考文献
[1] 孙大为,张广艳,郑讳民.大数据流式计算:关键技术及系列实例.[J]软件学报,2014,25(4):839-862.
[2] 杨巨龙.大数据技术全解——基础、设计、开发与实践[M].北京:电子工业出版社,2014.
[3] 唐宏,罗志强,沈军.僵尸网络DDoS攻击主动防御技术研究与应用[J].电信技术. 2014(11) .
[4] 程学旗,靳小龙,王元卓,郭嘉丰,张铁赢,李国杰.大数据系统和分析技术综述[J].软件学报. 2014(09).