利用网络安全流量与日志信息进行系统安全分析在国内外研究中越来越普遍和受到重视。如:文献[5]设计并开发了一套基于日志分析的电力信通网络安全预警系统,该预警系统可对信息通信系统中不同设备的日志进行采集和统一管理,实现对信息通信系统的威胁检测和安全预警。文献[6]指出在网络安全建议使用大数据的新安全日志系统,通过分析主要it基础设施的网络、系统、应用服务所产生的安全与数据事件之间的关系,增强安全智能。文献[7]已经通过对多源、异构网络安全检测日志信息进行采集、利用多种方式进行分析,从而寻找合理可信的网络安全风险整体态势感知。
1电力系统安全流量与日志分析处理
当前,我国现有的电力系统安全防御普遍没有做到立体防御,更多的是线式堆砌模型,就是针对不同的安全风险,购买了大量不同的安全检测设备或软件,每个设备互不相同,且都产生各次的检测日志和数据流信息,设备间或软件间无法直接沟通与协同控制。
1.1流量日志数据来源日志消息,是指在特定的操作系统下引发系统,设备、软件生成的记录。由于电力系统包含多种不同安全设备,不用的数据传输网络,根据流量日志信息来源,可以将电力系统日志大致分为:网络设备日志、安全检测设备日志、主机(服务器)日志、应用系统(数据库)和业务系统日志等。根据日志信息格式大致可以分为:trafficlog,welf和syslog和二进制。其中,trafficlog是设备保存的基于流量的日志,该日志弥补了syslog中没有流量信息的确定。welf(webtrendsenhancedlogformat)是webtrends专有的格式,很多的防火墙都支持的日志格式。syslog是在unix平台下提出的,其格式比较简单,主要由时间戳、日志来源和日志描述三部分构成。
1.2流量日志数据预处理日志信息预处理重在消除“数据孤岛”,建立电力系统安全日志整体协同融合能力,并形成安全监管、控制的全量数据资产。1.2.1数据清洗数据清洗是指对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。当前,电力系统的原始日志数据存在噪声多、缺失数据严重、数据重复率高等缺点,且数据格式不统一,故需要根据需要进行原始数据清洗工作。1.2.2数据标准化电力系统安全日志数据格式众多,不能简单的采用一种数据格式进行标准化,因为单一的数据格式要么包含的属性过多,导致数据可读性差,难以处理;要么属性过少,难以准确呈现网络攻击安全特征,降低检测能力。因此,为了便于将多源、异构的安全设备日志标准化,首先建立安全日志的“元数据”信息,并且将元数据格式标准统一。
2大数据安全流量日志平台构建
参照大数据在其他多源、异构系统的成功应用研究和大数据本身的技术优势,本文提出的基于大数据的电力系统安全多源流量日志分析平台分为多源异构数据层、大数据存储层、大数据分析挖掘层、数据展示层。2.1原始数据层该层主要完成来自原始日志信息的采集。主要包括网络流量设备日志(如交换机、路由器等)、网络安全设备日志(如防火墙、入侵检测设备等)、主机设备日志(linux、windows等)、漏洞信息(网络扫描nessus、x-scan等)。2.2大数据存储层该层主要完成对原始采集的日志信息进行大数据存储,主要通过flume、sqoop、kafka和storm结合使用方法完成。其中,数据流的实时处理,通过sqoop组件导入到hbase中存储,利用kafka的生产、消费者和代理模式,使用flume作为日志收集系统,将收集到的数据输送到kafka中间件,以供storm去实时消费计算。离线数据基于hdfs的海量分布式存储体系,本平台选用默认的64m数据块的存储单位,对采集的小文件进行归并处理,满足每个文件64m的规模大小。hbase是当前非常流行的海量分布式开源数据库系统。hbase采用列式存储。部分经过计算分析整理后的日志或数据流数据存储到hbase中。对于结构化的元数据信息,本平台选用mysql数据库进行存储。关系型数据和非关系型数据之间的关联导入导出操作,我们采用sqoop进行数据转换。2.3大数据分析挖掘层为了能够对电力系统安全日志数据进行基于大数据的分析和处理,选取spark+hadoop结合的方法实现。spark的核心组件包括rdd(resilientdistributeddatasets)、scheduler、storage、shuffle四部分:rdd是spark核心精髓的部分,spark将所有数据都抽象成rdd。scheduler是spark的调度机制,分为dagscheduler和taskscheduler。storage模块主要管理缓存后的rdd、shuffle和broadcast数据。为了实现电力系统安全日志的关联、聚类和异常等分析,本平台选取mahout机器学习相关算法进行日志信息分类、聚类、关联分析等操作。2.4数据展示层为了能够直观、快捷的将电力系统面临的安全威胁展示出来,本平台通过web形式展示。展示内容主要包括:安全态势感知内容、威胁情报与资源共享、攻击扩散关联路径分析、智能检索等。展示平台主要采用html5,javascript,css,j2ee或者nodejs,angularjs,highcharts等技术实现。
3实验及分析
为了验证基于大数据的电力系统安全流量与日志处理框架的有效性,本文收集了防火墙、交换机、堡垒机等设备产生的流量日志,如交换机syslog流量日志原始数据如表1所示,接着基于大数据平台,完成日志分析处理,流程图如图1所示。实验选取cloudera来搭建实验环境,cloudera包括hdfs、mapreduce、hive、pig、hbase、zookeeper、sqoop等,简化了大数据平台的安装、使用难度。实验环境包括:vmware虚拟机、操作系统centos6.5x64、cloudermanager5.14.0、cdh5.14.0。实验采取*分布式配置,包括1个master节点和2个slave节点。实验选取不同大小的syslog日志,比较sql查询与hadoop平台的处理效率。检测结果如表2所示。在2.68m时,mysql查询效率高于hive的查询效率。随着数据量增大,hive的查询效率要好于mysql,数据规模越大,hive查询统计效率越明显。这是因为,当数据量小时,mysql的延时低,而hive查询是利用mapreduce算法,相对延时比较高;而当数据规模增大到10万条以上,mysql需要逐条计算,耗时长,且容易出错;hive采用并行计算,将大规模数据计算切分为多个小规模的分块数据,每个分块单独计算,整体时间少。该实验充分验证了采用hadoop大数据平台并行处理相比传统串行处理有非常明显的效率和存储优势。