大数据环境下的安全审计系统框架*

2016-11-30 01:03丁文超严丽娜
通信技术 2016年7期
关键词:日志数据挖掘组件

丁文超,冷 冰,许 杰,严丽娜

(1.中国电子科技集团公司第三十研究所,四川 成都 610041;2.西安通信学院 信息安全系,陕西 西安 710106)

大数据环境下的安全审计系统框架*

丁文超1,冷 冰1,许 杰1,严丽娜2

(1.中国电子科技集团公司第三十研究所,四川 成都 610041;2.西安通信学院 信息安全系,陕西 西安 710106)

安全审计技术在现代安全防护系统中占有重要地位,但面对现代大数据环境,传统的安全审计技术对数据的有效管理、快速检索以及数据分析都会面临诸多较难克服的问题。简要介绍现有的Hadoop、Spark等主要大数据平台,针对传统安全审计技术无法处理大数据的问题,运用现有的大数据技术,给出大数据安全审计系统的设计思想,最终设计出大数据环境下的安全审计系统框架,并介绍框架中每一部分的作用与处理步骤,以满足大数据环境下的安全审计需求。

安全审计;大数据;数据挖掘;Spark

0 引 言

安全审计技术是记录用户的访问过程和各种行为以形成审计数据并加以分析的过程。它的主要目的是实时地、不间断地监视整个系统以及应用程序的运行状态,及时发现系统中可疑的、违规的或危险的行为,进行警报和采取阻断措施,并对这些行为留下记录。在CC和TCSEC等安全认证体系中,安全审计的功能都放在首位,是评判一个系统是否真正安全的重要尺度。

随着信息化程度的不断提高,信息系统需要安全审计的对象和审计内容愈加多而复杂,致使单位时间内需要审计的信息增长巨大。重要行业中,需要审计的重要节点常常会超过数千个,包括服务器、网络设备、安全设备、数据库、应用系统等不同节点类型,每天的访问、操作日志可达到数亿甚至几百亿条。这对于传统的安全审计系统的数据采集和分析能力都构成了极大挑战。而大数据相关技术以及分析处理平台的出现,为安全审计技术带来了曙光。

大数据分析技术的目的是从海量的数据中提取出有用信息,非常适合当前安全审计系统的大数据量分析要求。本文将大数据分析技术运用到安全审计系统,以满足安全审计系统对大数据量的分析需求。

1 大数据相关技术

2011年,麦肯锡在《大数据:创新、竞争和生产力的下一个前沿领域》报告中首次提出“大数据”的概念。近几年,大数据已成为产业界与信息技术学术界热论的焦点,更成为信息科学技术领域的重要前沿课题之一[1]。大数据是指无法在一定时间内用传统数据库软件工具对其内容进行采集、存储、管理和分析的数据集合。具有5V1C的特征,即数据量巨大(Volume)、生成速度快(Velocity)、数据类型繁多(Variety)、数据易变化(Variability)、数据真实性(Veracity)、数据复杂性(Complexity)[2]。

根据国际数据资讯公司(IDC)预计,到2020年,全球将拥有35 ZB以上的数据量,近年及未来几年的预测结果如图1所示。可见,大数据时代已经悄然来临。

图1 IDC全球数据使用量统计及预测

现有的大数据技术形成了以存储、计算以及分析为核心的较为完整的生态系统。存储层面主要包括NoSQL数据库和分布式文件系统,代表性的有GFS、HDFS、HBase、Hive、MongoDB、Cassandra等;计算和分析层面主要包括计算框架、分析工具和挖掘算法,代表性的有Hadoop、Spark、Storm、MapReduce、Mesos、YARN、Impala、Mahout、Pig、Solr等[3]。由于大数据技术较多,因此仅对本文中使用的相关大数据技术进行介绍,相应的大数据生态圈如图2所示。

图2 大数据生态圈

(1)Hadoop被认为是大数据必不可少的,是一个能够对大量数据进行分布式存储和并行化计算的软件框架。最新版本的Hadoop主要包含Common、HDFS、YARN、MapReduce等四大组件[4]。其中,Common为其他的Hadoop组件提供共用的基础环境支撑。四大组件中,HDFS和MapReduce是最核心技术,分别为Hadoop提供海量数据的存储和计算能力。

(2)HBase是运行于HDFS顶层的面向列的非关系型数据库系统,具备随机实时读写功能。Hbase主要依靠横向扩展,通过不断增加廉价服务器来增加计算和存储能力。

(3)ZooKeeper是一个开放源码的分布式应用程序协调器,是一个为分布式应用提供一致性服务的软件。它提供的功能主要包括配置维护、统一命名服务、组服务、状态同步服务等,是Hadoop和HBase集群管理必不可少的模块。

(4)Spark是Apache软件基金会的顶级开源项目,是由Scala语言实现的高效分布式计算框架。Spark的核心设计是弹性分布式数据集(Resilient Distributed Dataset,RDD)。利用RDD可以设计出能够在Spark下高效执行的程序,利用其他分区的RDD数据计算出指定分区的RDD相关信息,以用于有向无环图(DAG)数据流的应用,并通过联合分区的控制减少机器之间的数据混合。

(5)Hive是建立在Hadoop集群上的数据仓库框架。它可以将以文件形式存放的结构化数据映射成为数据库中的一张表,也可以把类SQL语句(在Hive中称为HiveQL)转换为MapReduce任务,从而大大减少MapReduce函数设计和开发的工作量。

(6)Kafka是LinkedIn公司开发并开源出来的一个高吞吐的分布式流处理系统。在结构上可分为producer、broker和consumer,分别代表信息的发布者、代理者和消费者。相比传统消息收集平台,Kafka具有易扩展、高吞吐量、自动平衡,支持消息持久化等优点。

(7)Flume是一个分布式、高可用、可靠的海量日志聚合系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

2 设计思想

目前,国内外多家研究机构已推出许多安全审计工具,如Purdue大学的HASHIS系统、德国的Inspect分布式网络安全审计系统、启明星辰公司推出的“天玥网络安全审计系统”。然而,随着大数据时代的到来,这些安全审计系统存在一个共同问题:无法对大数据量系统日志进行有效处理或者处理速度非常慢,日志的存储也基本仅限于传统的关系型数据库。

由于在传统的安全审计系统中不能对海量数据进行有效处理,因此我们将大数据相关技术运用到安全审计技术中,以满足审计系统对大数据量日志的分析需求。基本思想:充分利用Hadoop2.0、Spark等大数据生态系统的集群特征,将大数据安全审计系统中需要巨大计算能力的各个模块的存储要求以及计算和分析扩展到集群中的各个节点上。运用Kafka与Flume收集数据,同时充分利用Hadoop2.0集群的存储能力以及YARN的资源调度能力,借助Spark进行相关数据挖掘工作。其中,MLbase、Spark Streaming是Spark软件生态中的一部分。通过MLbase可进行审计日志挖掘,Spark Streaming则将流式计算分解成一系列短小的批处理作业,以提供快速可靠的计算服务能力,是一个对实时数据流进行高通量、容错处理的流式处理系统。各个大数据组件的部署如图3所示,审计数据将会从上至下、从左至右流动。

图3 大数据组件部署

Spark启用了内存分布式数据集,充分利用分布式内存技术。Spark可直接运行在YARN上,而YARN同时支持多种分布式文件系统存放数据。Spark搭建在Hadoop环境上,可以利用Hadoop生态系统HDFS、HBase、Hive、Flume等组件。

Spark在大数据挖掘方面具有得天独厚的优势。根据对Spark平台的分析与学习,总结出以下几点原因:

(1)数据挖掘算法一般都有很多个步骤迭代计算的过程,进行数据挖掘的计算需要在多次迭代后获得足够小的误差或者足够收敛才会停止。迭代时如果使用Hadoop的MapReduce计算框架,每次计算都要读/写磁盘以及任务的启动等工作[5],导致非常大的I/O和CPU消耗。而Spark基于内存的计算模型,天生擅长迭代计算,多个步骤计算直接在内存中完成,只有必要时才会操作磁盘和网络。所以,Spark正是机器学习与数据挖掘的理想平台。

(2)从通信角度讲,如果使用Hadoop的MapReduce计算框架,JobTracker和TaskTracker之间由于是通过heartbeat的方式进行通信和传递数据,将会导致执行速度非常慢。而Spark具有出色而高效的Akka和Netty通信系统,通信效率极高。

(3)Spark的设计初衷是为了支持一些迭代的Job,正好符合很多数据挖掘算法的特点。

3 基于大数据技术的审计系统框架

根据大数据分析过程以及上面的基本设计思想,采用分层的设计思路,即在底层使用Spark,结合Hadoop相关组件来存储、处理和分析海量数据,而在高层通过接口透明地调用底层的存储和计算能力。系统各部分结构如图4所示。

图4 大数据审计系统整体架构

3.1 大数据量的审计数据采集与存储

(1)对于审计数据的采集,在采集层主要可以使用Flume、Kafka两种技术。Kafka更应该定位为中间件系统,可以理解为一个cache系统。Kafka设计使用硬盘append方式,获得了非常好的效果。不同系统之间融合往往数据生产/消费速率不同,这时可以在这些系统之间加上kafka。因为对于大量实时数据,数据生产快且具有突发性,如果直接写入HDFS或者HBase,则可能会致使高峰时间数据读失败。因此,对于快速实时数据,先把数据写到Kafka,然后从Kafka导入到大数据存储系统中。对于离线计算处理,实时性要求不高,可以使用Flume直接收集系统日志导入大数据存储系统[6]。两种方式的日志采集如图5所示。

图5 日志采集工作流程

一个Flume Agent进程包含三个组件:Source组件、Channel组件、Sink组件。Source组件负责收集日志文件并发送给Channel组件,Channel组件形成一个管道,再由Sink组件读取Channel组件中的日志文件并发送给其他目标或者文件系统。

通过Flume的Agent代理收集日志,然后汇总到Flume集群,再由Flume的Sink将日志输送到Kafka集群(供实时计算处理)和HDFS(离线计算处理),从而完成审计数据的采集和生产流程。

(2)系统中可以使用HDFS和HBase来存储文件和数据。HDFS具有很高的数据吞吐量,且很好地实现了容错机制,即便出现硬件故障,也可以通过容错策略来保证数据的高可用性。使用HDFS,可以为原始的大数据提供存储空间,将数据存放于各个数据节点上,为数据预处理、数据挖掘过程提供输入数据,且输出数据也保存在HDFS中。利用HBase技术可以在廉价PC Server上搭建可伸缩的分布式存储集群。HBase提供了CRUD操作,可以很方便地处理HBase中存储的数据。在HBase之上还可以使用Spark的计算模型,以RDD形式来并行处理大规模数据,可将数据存储与并行计算完美结合在一起[7]。

3.2 数据预处理

数据预处理是将数据挖掘技术应用到大数据环境不同数据结构中的重要步骤和技术。随着网络技术的不断发展,半结构化数据、Web数据、来自云的数据等各种数据形式层出不穷。由于原始大量数据不可避免存在噪声或者不一致的数据,因此为了提高数据挖掘质量,必须进行数据预处理。

数据预处理的方法诸多,如数据清理、数据集成、数据归约、数据变换等。运用这些数据处理技术,可大大提高数据挖掘模式的质量,使数据挖掘算法发挥最佳效果,降低实际对大数据进行挖掘所需要的时间。数据预处理阶段根据收集到的审计日志的特点,可利用weka等数据预处理工具或结合审计日志的特点,自行编写程序完成。

3.3 查询所需分析日志

HBase的表按主键RowKey进行字典排序,其快速查找也建立在RowKey基础上,但RowKey实际上是数据表的一级索引(Primary Index)。由于HBase本身没有二级索引(Secondary Index)机制,基于索引检索数据只能单纯依靠RowKey。然而,单一RowKey固有的局限性决定它不可能像关系型数据库建立多个索引从而有效支持多条件查询。Solr是一款基于Lucene的高性能全文搜索引擎,可提供丰富的查询语言,同时实现可配置、可扩展,并优化查询性能,实现高效检索。因此,可使用Solr解决HBase二级索引的问题,以快速检索需要分析的数据。文献[8]提出了一种使用Solr建立二级索引的方法,大大提高了检索效率,满足了审计系统存储和处理大数据的需求。

3.4 运用Spark进行大数据挖掘

根据挖掘任务的不同,数据挖掘阶段可以使用不同的技术和处理方法。常见的数据挖掘任务包括特征化、区分、关联分析、分类、聚类等。这里,我们主要运用Spark运行数据挖掘算法。Spark的核心设计是弹性分布式数据集(Resilient Distributed Dataset,RDD)。RDD是一种精心设计的数据结构,它是只读的分区记录的集合。利用RDD可以设计出能够在Spark下高效执行的数据挖掘程序,可以利用其他分区的RDD数据计算出指定分区的RDD相关信息,可以用于有向无环图(DAG)数据流的应用,可通过联合分区的控制减少机器之间的数据混合。在这里,我们可以自己编写代码,利用IntelliJ IEDA打成jar包,提交至Spark平台运行。Spark程序运行如图6所示。

图6中,Spark作业由客户端启动,包括两个阶段。第一阶段记录变换算子序列、增量构建DAG图;第二阶段由行动算子Action触发,这类算子会触发SparkContext提交Job作业,DAGScheduler把DAG图转化为作业及其任务集。Spark支持本地单节点运行(开发调试有用)或集群运行。对于后者,客户端运行于master节点上,通过Cluster manager把划分好分区的任务集发送到集群的worker/slave节点上执行,执行结果存到HFDS或HBase等分布式存储系统中。

图6 Spark程序运行流程

此外,Spark的基本组件MLlib(Machine Learning lib)是常用的机器学习算法的实现库,包括训练模块与预测模块两部分。Spark的设计初衷是为了支持一些迭代的Job,这正好符合很多机器学习算法的特点。MLlib目前支持4种常见的机器学习问题:分类、回归、聚类和协同过滤。因此,我们做安全审计日志的数据挖掘时,也可以直接调用MLlib内置的算法。下面以K-Means算法为例,说明MLlib的具体使用。

语句1:

val clusters = KMeans.train(parsedData, numClusters, numIterations);

语句2:

val result = clusters.predict (Vectors.dense ("1.0 2.1 3.8".split(' ') .map(_.toDouble)));

语句3:

val cost = model.computeCost (parsedData)

其中,parsedData为用户数据,numClusters为类簇个数,numIterations为迭代次数。语句1运用MLlib提供的KMeans.train进行模型训练形成数据模型,语句2预测相应数据所属的类,使用误差平方和来评估数据模型,并可根据使cost值较小的K作为KMeans算法的K值,见语句3。通过此实例的分析可以看出,运用MLlib实现大数据挖掘可以大大简化代码量,省去自己编写数据挖掘算法的麻烦,且对照Spark官网的解释与例子[9],可以很快掌握MLlib库中常用数据挖掘算法的使用。

3.5 模式评估与高效便捷的海量事件追溯

当数据挖掘一旦完成,就会生成挖掘的结果——模式。但对于给定的用户,在可能产生的模式中,只存在一小部分模式是此用户感兴趣的。对于模式的期望和兴趣衡量,存在一些客观度量,如规则的支持度、兴趣因子、置信度等。我们在模式评估阶段去发现感兴趣的各种模式。追溯系统是安全审计系统中非常重要的一环,目的是为了在海量数据分析的基础上最终定位并解决用户实际问题,可对平台分析出来的各种结果进行事件源定位。

3.6 可视化与知识表示

对于用户感兴趣的模式,可以在大数据安全审计系统中使用可视化和知识表示技术,以更直观、更易理解的方式向用户展示有意义的模式。这是数据挖掘系统与用户的直接交互,可使用户对挖掘结果有更直观准确的认识,从而更好地得到有意义模式的全部内涵。

4 结 语

安全审计是现代安全防护系统中非常重要的环节,可以帮助我们发现系统中可疑的、违规的或危险的行为。本文分析传统安全审计系统无法处理大数据的缺点,从大数据角度出发,借助大数据分析技术以及Hadoop、Spark等相关大数据分析平台,构建了一种大数据环境下的安全审计系统框架。借助该框架,通过对审计日志的采集与存储,利用大数据挖掘算法,可以从大量的日志行为记录数据中抽象出有利于进行判断和比较的特征模型,从而对当前系统中的操作做出较合理的推理与判断,实现对安全审计系统的管理。本文提出的安全审计系统框架为部署在大数据环境下的安全审计系统提供了一种技术思路。

[1] 陈建昌.大数据环境下的网络安全分析[J].中国新通信,2013,15(17):13-16. CHEN Jian-chang.Analysis of Network Security in Big Data Environment[J].China New Telecommunicatio ns,2013,15(17):13-16.

[2] 孟小峰,慈祥.大数据管理:概念、技术与挑战[J].计算机研究与发展,2013,50(01):146-169. M E N G X i a o-f e n g,C I X i a n g.B i g D a t a Management:Concepts,Techniques and Challenges [J].Journal of Computer Research and Development,2013,50(01):146-169.

[3] 张锋军.大数据技术研究综述[J].通信技术,2014, 47(11):1240-1248. ZHANG Feng-jun.Overview on Big Data Technology [J]. Communications Technology,2014,47(11):1240-1248.

[4] Apache Hadoop.Home Page[EB/OL].(2016-02-13) [2016-04-26].https:// hadoop.apache.org/.

[5] DEAN J,GHEMAWAT S.MapReduce:Simplified Data Processing on Large Clusters[J].Communications of the ACM,2008,51(01):107-113.

[6] LOGANATHAN A,SINHA A,MUTHURAMAKRISHNAN V,et al.A Systematic Approach to Big Data[J]. International Journal of Information & Computation Technology,2014,4(09):869-878.

[7] 李明桂,肖毅,陈剑锋等.基于大数据的安全事件挖掘框架[J].通信技术,2015,48(03):346-350. LI Ming-gui,XIAO Yi,CHEN Jian-feng,et al.Big Data-based Framework for Security Event Mining [J]. Communications Technology,2015,48(03):346-350.

[8] 许杰,冷冰,李明桂等.大数据处理技术在安全审计系统中的应用[J].通信技术,2016,49(03):346-351. XU Jie,LENG Bing,LI Ming-gui,et al.Application of Big Data Processing Technology in Audit System [J]. Communications Technology,2016,49(03):346-351.

[9] Spark.Spark Website[EB/OL].(2016-03-09)[2016-05-02].http://spark.apache.org/.

丁文超(1991—),男,硕士研究生,主要研究方向为信息安全与大数据;

冷 冰(1976—),男,硕士,高级工程师,主要研究方向为通信网络与信息安全;

许 杰(1978—),男,博士,工程师,主要研究方向为信息安全与大数据;

严丽娜(1973—),女,硕士,讲师,主要研究方向为网络安全。

Security Audit System Framework in Big Data Environment

DING Wen-chao1, LENG Bing1, XU Jie1, YAN Li-na2
(No.30 Institute of CETC, Chengdu Sichuan 610041, China; 2.Department of Information Security, Xi'an Communication Institute,Xi'an Shaanxi 710106, China)

Security audit technology plays an important role in modern security protection system. However, traditional security audit technology and effective management of data, fast retrieval and data analysis would be faced with many difficult problems in modern big data environment. Major data platforms are briefly described, such as Hadoop and Spark, and aiming at the problem that traditional security auditing technology cannot handle big data, the existing big data technology is applied to proposing the design idea of big data security audit system. Finally, the framework of security audit system in big data environment is designed, the role and process in each part of the framework also given. The framework can meet the needs of security audit in big data environment.

security audit; big data; data mining; Spark

F239.2

A

1002-0802(2016)-07-0909-06

10.3969/j.issn.1002-0802.2016.07.022

2016-03-20;

2016-06-13 Received date:2016-03-20;Revised date:2016-06-13

猜你喜欢
日志数据挖掘组件
无人机智能巡检在光伏电站组件诊断中的应用
一名老党员的工作日志
探讨人工智能与数据挖掘发展趋势
扶贫日志
数据挖掘技术在打击倒卖OBU逃费中的应用浅析
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
雅皮的心情日志
雅皮的心情日志
风起新一代光伏组件膜层:SSG纳米自清洁膜层