电力监控网大数据分析平台研究与设计*

2018-09-03 09:53砚,谷
通信技术 2018年8期
关键词:海量日志结构化

徐 砚,谷 鹏

(中国电子科技网络信息安全有限公司,四川 成都 610041)

0 引 言

随着中国制造2025全面推进,工业数字化、网络化、智能化加快发展,新形势下工控安全工作的重要性和紧迫性更加凸显。党中央、国务院高度重视信息安全问题。《国务院关于深化制造业与互联网融合发展的指导意见》将“提高工业信息系统安全水平”作为主要任务之一。2017年6月1日实施的《中华人民共和国网络安全法》也要求对包括工业控制系统在内的“可能严重危害国家安全、国计民生、公共利益的关键信息基础设施”实行重点保护[1]。

电力监控网作为保证电力系统安全、稳定运行的关键信息基础设施,其网络安全威胁态势日趋严峻。近年来,曝光的几起因黑客攻击导致的大规模断电事件也佐证了这一点[2]。目前,网络安全保护措施在面对海量电力监控网多源异构数据时缺乏关联分析、大数据处理以及未知威胁防范能力,不能完全确保系统网络的安全。电力监控网需要更全面的安全监控、分析、响应系统,实现全系统的事件管理与流程处理,处理或预警已知与未知风险[3]。

1 电力监控网现状

电力监控网是用于监视和控制电网及电厂生产运行过程的、基于计算机及网络技术的业务处理系统及智能设备网络[4],包括电力数据采集与监控系统、能量管理系统、变电站自动化系统、换流站计算机监控系统、发电厂计算机监控系统、配电自动化系统、微机继电保护和安全自动装置、广域相量测量系统、负荷控制系统、电能量计量计费系统、水调自动化系统和水电梯级调度自动化系统和实时电力市场的辅助控制系统等[5],如图1所示。

图1 电力监控系统网络

电力监控网根据国网定制系统要求,需要对网络流量信息和报文进行采集,支持IEC60870-5-104规约、IEC61850规约(含MMS、GOOSE、SV等协议)等工业控制系统通信协议。这意味着需要支持包括智能变电站和配电网等电力生产运行大区环境的全面监控。

目前,电网生产控制监控装置主要有以下几类技术产品。

第一类是由电力系统原来做电力录波装置的设备厂商升级相关设备。

第二类是借鉴类似信息系统安全设备的研制思路,主要对二次安全防护设备的日志进行采集分析。

第三类是利用信息系统网络分析技术延伸过来,代表设备包括流量分析系统和工业控制协议分析系统。

这三类技术产品虽然一定程度上对电力监控网起到了安全防护作用,但由于存在“信息孤岛”且不支持海量数据的存储与处理,无法应对全球能源互联网的动态实时监控和时空大数据挑战[6]。

2 电力监控网大数据分析平台需求分析

当前,电力监控网信息安全设备能力不足,传统的SOC、SIEM等通用集中化安全分析平台往往只收集了高速海量安全数据,缺乏分析能力,更缺乏根据电力行业工业控制特点控制场景进行深度分析的安全手段[7]。

将大数据分析技术应用于电力行业安全领域,采集电力监控网二次安全防护设备和网络流量中的多源异构数据进行大数据关联分析、告警分析、行为分析等,可以有效提升对行业网络安全的支撑能力。

根据电力监控网大数据分析平台的功能定位,平台需要为电力监控网提供海量数据采集、存储、计算、分析等基础性支撑功能。

(1)数据采集方面。提供强大的数据抽取、转换和加载能力。适配多种数据源(数据库、文件、日志、网络流量),适配多种数据抽取方式(离线、实时),可配置采集策略,支持集群方式运行,可对采集过程进行监控和详细的日志记录。

(2)数据存储方面。提供低成本、高扩展性的数据存储,支持多源异构数据的存储和低延迟即时查询,可以以大吞吐量高效批量加载、处理非结构化数据,支持原始流量数据和安全事件的长时间存储。

(3)数据计算方面。提供海量多源异构数据实时、批量处理分析,构建在线监测、在线分析和在线计算等实时数据处理平台。利用大数据的批量计算、内存计算等技术,结合各类业务逻辑和算法,实现海量数据的离线分析与处理能力。

(4)数据分析方面。可提供跨业务的分析模型和数据挖掘算法,设计大数据关联分析模型和算法库,实现数据分析模型和算法的灵活配置和扩展。对于常用的数据分析算法可实现并行化,提升数据分析性能。

3 电力大数据分析平台架构设计

3.1 系统总体架构

根据需求分析,电力监控网大数据分析平台采用四层式的分层架构,包括数据采集层、数据存储层、数据计算层和数据分析层。各层之间通过数据总线和数据库进行衔接,系统总体架构如图2所示。

3.2 数据采集层系统架构

数据采集层通过采集口连接核心交换机镜像口,收集所有以太网数据,解析并格式化后经由数据总线上报大数据集群。同时,数据采集层可作为日志服务器收集转发网络中的welf和syslog日志。

数据采集层基于嵌入式操作系统,其系统架构包含配置框架、配置模块和各个数据采集功能模块。配置框架提供统一的参数配置接口和访问接口,配置模块提供系统管理、网络管理、认证管理和采集与监控管理配置功能,数据采集功能模块提供交换机镜像口网络数据采集、welf和syslog日志采集以及本地日志存储审计功能。图3为数据采集层系统架构。

图2 系统总体架构

图3 数据采集层系统架构

3.3 数据存储层系统架构

数据存储层主要负责存储结构化、非结构化和半结构化数据,如图4所示。

其中,非结构化数据主要指网络流量和安全日志等原始数据。这些数据的特点是数据量大、价值密度低,对存储效率和数据压缩率有较高要求。系统中,通过Parquet格式的HDFS对非结构化数据进行存储,可以在高压缩率(大于20倍)的条件下保证高存储速率[8]。

结构化数据主要指关系型数据,包括系统配置数据、用户认证数据以及最终的数据分析结果数据。这些数据的特点是数据量小、格式固定且需要频繁访问。MYSQL小型关系型数据库由于体积小、速度快、部署成本低等特点,很好地满足了结构化数据存储需求。

半结构化数据,就是介于结构化数据和非结构化数据之间的数据,如XML、HTML、JSON文档都属于半结构化数据。在电力监控网大数据分析平台中,从网络流量原始数据中分析出的电力监控事件和安全日志原始数据中分析出的安全事件,既需要在数据存储层进行存储,又需要在数据计算层进行数据清洗与计算,还需要在数据分析层进行关联审计与查询。采用JSON这种半结构化数据易于传输、转换,同时可读性高。而ElasticSearch分布式文件系统基于Lucene成熟的索引方案,具有横向扩展性、分布性、高可用性等特点,并良好地支持JSON格式文档的存储。所以,系统最终选用ElasticSearch作为半结构化数据库[9]。

图4 数据存储层系统架构

3.4 数据计算层系统架构

数据计算层按照需求分析应当支持流式计算、离线计算、并行计算和机器学习。图5为数据计算层系统架构。Hadoop的Map/Reduce计算框架可以支持离线计算和并行计算,但在处理实时海量数据方面能力较弱;Spark是基于内存计算的大数据分布式计算框架,可以提高在大数据环境下数据处理的实时性,同时保证容错性和高可伸缩性,且内置丰富的机器学习算法库,是电力大数据分析平台比较理想的实时计算框架[10]。

数据计算层通过Yarn对Spark计算任务进行资源管理,通过Spark流式计算模块完成对网络流量原始数据和安全日志原始数据的数据清洗、预处理等工作。处理后的数据批量插入ElasticSearch,供数据分析层进行后续分析统计。Spark机器学习模块可通过历史数据生成机器学习安全分析模型,供Spark流式计算模块调用完成实时告警。MR离线计算模块和并行计算模块可支持对原始数据的统计分析、问题溯源和基线生成等。

图5 数据计算层系统架构

3.5 数据分析层系统架构

数据分析层主要提供安全告警、数据分析和数据挖掘三类服务,系统架构如图6所示。安全告警服务基于灵活的自定义规则库和威胁告警算法库,既可以对原始数据通过威胁告警算法产生安全告警信息,也可以通过自定义规则对各种安全事件和告警信息进行二次分析告警。数据分析服务和数据挖掘服务基于关联分析模型,集成可视化分析挖掘工具、分布式算法和分布式搜索引擎(ElasticSearch),可支持海量多源异构数据的关联审计分析。

图6 数据分析层系统架构

4 电力大数据分析平台关键技术

4.1 多源异构数据融合技术

电力监控系统中的各类数据在时间、空间和角度上都存在巨大差异,反映的是电力网的不同维度属性,需要对各类数据进行融合,将多源异构数据转化为统一的信息模型。数据融合主要体现在两个方面:一方面是不同时间、空间维度的数据要融合形成合理的按时间、空间关联的数据;另一方面是不同业务相关数据之间要形成关联、并使用一致的数据表达。

要解决大数据的统一存储、管理及高效分析处理,需要进行大数据的统一组织和一致性表达,解决多源、分布和异构数据整合和统一管理问题。目前,电力监控网络主要的数据类型有IEC104、GOOSE、SV和MMS等工业协议数据,如各个安全厂商的防火墙、加密机、隔离装置、IDS的安全日志以及各种工控主机操作日志和系统日志等。传统的做法是通过建立统一格式的表格,将所有数据格式的字段都包含进去。这样造成的结果是每一条记录有大部分的字段都是空白字段,浪费了存储空间,访问效率也不高,面对海量数据可能造成数据读写性能的急剧下降。

电力监控网大数据分析平台采用JSON数据格式存储多源异构数据,将所有数据的公共字段(如:时间戳、源地址、目的地址等)统一格式化。非公共字段无需强制格式统一,在ElasticSearch的支持下,既能够基于公共字段进行关联审计,又避免了存储大量的冗余字段,在实际应用中对上百吉的数据查询响应时间在1 s以内。

4.2 海量告警事件分析技术

随着电力监控网的不断演进,全省各安全设备每月产生告警原始日志近亿条,以上告警通过各级安全管理平台收敛。监控人员每月需处理影响业务或网络质量的告警事件约上百条,但大量对网络和业务可能造成隐患的告警信息被过滤。如何从海量告警数据中获取有价值的数据,对于传统的关系型数据库架构而言,似乎是一个不可能完成的任务。

当告警分析量上升到亿级,如果采用传统的数据存储和计算方式,一方面数据量过大,表的管理、维护开销过大,要做到每个字段索引,存储浪费巨大;另一方面计算分析过程耗时过长,无法满足实时和准实时分析需求。因此,必须采用新的技术架构来分析处理海量告警信息。为此,大数据分析平台引入了基于自定义规则的海量告警分析技术。

该技术基于ElasticSearch的海量数据快速统计查询能力,通过灵活的配置自定义规则,支持对各种告警事件的全字段进行数据查询、聚合、统计等操作,并对统计分析结果进行阈值判断,对超出阈值的结果进行告警。

整个流程分为规则解析、数据统计分析和告警三个步骤,下面具体说明。

(1)规则解析:系统通过定时任务,周期性地读取自定义规则库,将规则解析为操作ElasticSearch的具体指令和告警阈值。

(2)数据统计分析:通过解析的指令抽取ElasticSearch中的特定告警信息数据进行查询、聚合、统计等操作,生成统计分析结果。

(3)告警:将数据统计分析的结果与规则解析的告警阈值进行对比,如果超出阈值则进行告警。例如,统计30 min内单台防火墙的重启告警信息数,超过10次则产生一条该防火墙异常的告警。

图7 告警分析工作流

5 结 语

本文在深入分析大数据平台技术的基础上,根据电力监控网大数据应用需求,研究电力监控网大数据平台的架构以及多源异构数据融合和基于规则的海量告警分析等技术,设计了功能涵盖大数据采集、存储、计算、分析全过程的电力监控网大数据分析平台。从实际运行效果来看,电力监控网大数据分析平台基本满足安全运维需求,但仍存在以下不足,需要在后续研究开发中进一步加强:

(1)平台的自定义规则库不够丰富。当前,自定义规则库主要依靠安全运维人员定义,虽然灵活度高,但对运维人员有较高要求。后续版本中需要丰富内置的各种工业安全事件检测规则,方便用户使用。

(2)智能化程度有待验证。虽然平台支持机器学习和人工智能算法,但内置的智能算法库还需要通过长时间实际应用来进一步验证其合理性。

猜你喜欢
海量日志结构化
一种傅里叶域海量数据高速谱聚类方法
一名老党员的工作日志
促进知识结构化的主题式复习初探
改进的非结构化对等网络动态搜索算法
扶贫日志
结构化面试方法在研究生复试中的应用
左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习
海量快递垃圾正在“围城”——“绿色快递”势在必行
雅皮的心情日志
雅皮的心情日志