APP下载

集成电力大数据日志分析模块的信息系统研究*

2020-06-09查志勇

计算机与数字工程 2020年3期
关键词:数据源基线日志

余 铮 冯 浩 查志勇

(国网湖北省电力有限公司信息通信公司 武汉 430077)

1 引言

随着信息系统在国家电网中的广泛运用,信息系统安全平稳地运行支撑压力越来越大,导致信息系统以及大量支撑服务器的运维难度也逐渐加大。这些设备不断产生出海量日志,通过对日志进行分析,其结果对于网络安全起着重要的作用[1~2]。

在大数据情况下,传统的日志分析方法容易导致网络安全人员工作强度大。此外,新的攻击方法层出不穷。这些情况的出现,使得传统的日志分析不再有效,缺乏对网络信息安全的全局认识,从而不能帮助信息系统做到提前防御、预测攻击[3~6]。

如何帮助网络信息安全人员高效地进行海量日志分析,就成为信息安全领域中一个急需解决的问题。

张骁[7]等利用分布式收集策略,对信息系统日志进行收集,并向用户提供日志数据查询服务。倪震[8]等人提出了面向电力大数据基于时间序列的日志分析算法,以及基于该算法的评价体系。王建民[9]则提出了结合特定领域需求开发的一体化平台,该平台在大数据生命周期内,提供给用户实时分析的功能。

本文基于K-最近邻算法(K-Nearest Neighbor,KNN),提出了未知攻击识别算法。该算法能够实时收集物理蜜罐系统的日志信息。这些日志信息可以用于判断是否存在增删账号,关键文件是否被修改以及异常外联等行为,从而判断出信息系统的端口、进程、服务是否启动或者异常。

2 系统架构设计

2.1 项目背景

目前,国家电网公司内部各领域及各专业在信息系统的支撑下高效运转,信息系统运行支撑压力越来越大,面对多套信息系统以及多台服务器的运行维护工作量,运维人员少,工作任务艰巨。为此,本文拟开展信息系统运行态势感知和全息智能预警技术的研究,通过总结经验,利用信息化工具拓展基础信息收集及分析方式,丰富运维管理手段,建立智慧运维体系雏形。

本文研究国家电网中的信息系统在多个场景中出现故障,在技术骨干人数有限,网络和业务更新变化快的情况下,快速发现、定位和处理故障的难题,初步实现信息系统运行态势感知[10]及智慧处理。为了实现信息系统的异常快速检测和定位,本文首要研究目标是在电力大数据[8,11~15]情况下信息系统的日志快速分析。

2.2 信息系统架构设计

在信息系统的总体架构设计过程中,规划设计遵循“功能驱动”的原则,采用由应用架构到技术架构逐层驱动的方法,采用由应用架构到技术架构逐层驱动的方法。应用架构是从全息智能处置(业务应急保障)平台系统功能需求的角度去清晰准确定义应用范围、功能及模块等;技术架构是基于应用架构,根据信息技术发展趋势以及相应的实践经验,从系统具体实现角度提出系统总体的技术实现方案和软硬件物理部署方式;各架构域在设计过程中是多次迭代。通过对应用架构和技术架构的规划设计,为全息智能处置(业务应急保障)平台系统的建设提供了有形、科学的方法,为技术方案的编制提供了依据和指导。

2.3 日志分析模块设计

本文首要研究目标是在电力大数据[8,11~15]情况下,信息系统的日志快速分析。其日志分析模块包括集中的管理中心、可支持分布式部署的日志采集引擎和代理程序三个部件。日志采集引擎和代理程序实现对数据源(操作系统、网络设备、中间件、数据库和信息系统等)的日志信息统一收集、格式化、过滤、聚合,然后上传给管理中心进行集中化存储[16]、分析、审计和展示。

1)管理中心

管理中心是日志分析模块的核心部件,实现了对日志信息的集中化存储、分析、审计、查询、关联、告警,以及出具报表报告。管理中心支持三权分立,不同权限人员可通过浏览器登录管理中心,进行相关操作。

2)采集引擎

日志采集引擎可以和管理中心部署在同一台硬件设备上,也可以探针模式独立运行,实现对异构数据源的日志采集,且具有分布式采集能力。

日志采集引擎可通过syslog、SNMP、ssh、telnet、WMI、jdbc 等方式远程收集各类数据源的原始日志信息,经过格式化、过滤、聚合后转发给管理中心。

3)代理程序

代理程序用于安装并运行在审计对象上,实现对审计对象的日志信息源采集和转发。代理程序可支持Windows、Linux 操作系统,可用于采集操作系统日志以及特殊应用系统的纯文本型日志。同时代理程序还可实现文件完整性检查、Windows 注册表监控、rootkit检测等功能。

2.4 日志分析模块技术架构

日志分析模块采用B/S 架构,管理员通过HTTPS 方式对系统进行管理。系统架构包括审计数据源层、日志采集引擎、核心层和应用层。如图1所示。

1)数据源层

数据源层包括各类型的网络设备、数据库、应用系统、主机等,本模块从以上数据源获取原始日志信息。

2)采集引擎

该层利用syslog、SNMP、ssh、telnet、WMI、jdbc、文件等多种协议方式,从数据源获取日志信息,并对原始日志信息进行范式化、分类、过滤、归并,统一推送到核心层进行分析、存储。

3)核心层

通过日志流聚合引擎实现日志抽取;利用基于CMDB(配置管理数据库)的关联分析引擎对采集的安全信息进行分析、触发规则、生成告警记录;通过高性能海量数据存储代理将异常事件或告警信息进行快速存储;通过分布式查询引擎实现日志查询。

4)应用层

面向系统的使用者,提供一个图形化的显示界面,展现本系统的各功能模块,提供综合展示、资产管理、日志审计、基线监控、拓扑展示、规则管理、告警管理、报表管理、态势展示、系统管理等功能。

图1 日志分析模块技术架构

3 关键技术

3.1 基于KNN算法的未知攻击识别算法

K-最近邻算法(KNN 算法)是一种机器学习(Machine Learning,ML)算法,其原理是用一组预先定义的已知模式,来分类识别未知模式。

在日志分析模块中,首先从日志中实时收集、分析的结果中提取未知攻击的模式,然后与所有预定义的攻击模式(已知模式)进行距离(Distance)进行计算,并将未知攻击归类为距离最近的已知攻击。

3.2 已知攻击模式及其特征定义

在日志分析模块中,对已知攻击模式[13,17]及其特征预定义如表1 所示(只给出部分攻击模式示例)。

表1 部分攻击模式示例

3.3 基于基线的攻击特征阀值定义

要实现最近邻距离计算,除了要预定义各种攻击模式及其特征外,还要为各特征定义基线阈值,才能为距离计算提供一组标准度量。

下面以过多的出站流量(EOT)为例进行说明。日志分析模块通过一段时间(4 周~6 周)的基线学习,来采集数据信息。一旦采集到足够的数据信息后,就可以确定EOT 这个攻击特征的基线阈值。其计算基线阈值的步骤如下:

1)获取平均值

首先使用均值法,找出各数据信息采集点的平均值μ:

2)获取标准偏差

使用标准差公式,该方法用于测量数据中的变异量。具体公式如下:

3)计算标准误差

标准误差S用于确定置信区间。在日志分析模块中,用标准误差S来表示未来可能落入的区间。其具体公式如下:

4)95 %的置信区间

按照统计学原理,将标准误差S乘以1.96(基于95%的置信区间)

5)求基线阈值范围,该范围X为

在日志分析模块中,使用公式来比较未来的数据点。如果未来的数值落入这个范围,那么和基线不一定有太大的差异;如果未来的数值落入这个区间外,则与基线有差异,触动阈值。

3.4 最近邻距离计算

在获得了每个已知攻击模式的特征,以及特征的基线阈值后,可基于KNN 算法进行最近邻距离计算。一般使用欧几里德距离D公式:

其中:p和q是两个数据向量。p为一段时间内(5 分钟、10 分钟、1小时、甚至一个月)针对某一IP 地址(源或目的IP 地址)的未知攻击模式的特征集合;q为已知攻击模式的特征集合;i为未知攻击模式的特征数量。

当i在每组向量和每个攻击模式的特征中循环时,计算未知攻击模式特征集合与每个已知攻击模式的特征集合之间的距离。其中最近邻,就是该未知攻击所属的已知攻击分类。

下面以基于日志分析提取的攻击特征,通过KNN算法,来实现对未知攻击的识别。如表2所示(只给出部分未知攻击模式示例):

表2 部分未知攻击模式示例

4 结语

本文主要研究了电力大数据在日志分析中的应用。设计了基于KNN 算法的未知攻击识别算法,并将该算法应用于电力大数据的信息系统中。经实验表明,该信息系统中的日志分析模块,通过合理的架构,优化了计算效率,在运行效率和运行时间上都优于传统的日志分析平台。

该日志分析模块,可以实时收集物理蜜罐系统的日志信息;能够准确判断是否存在增删帐号;端口、进程、服务启动或者异常;关键文件是否修改以及异常外联等行为。同时,该日志分析模块,可以通过sebek 收集非授权用户的键盘操作日志;还可以收集网络边界安全防护设备(如:防火墙、IDS、IPS、WAP、流量清洗设备等)的告警日志。

猜你喜欢

数据源基线日志
高度角对GNSS多系统组合短基线RTK影响
一名老党员的工作日志
GNSS 静态相对定位精度分析与比较
扶贫日志
新版GAMIT10.70解算GPS/BDS基线精度对比分析
一种面向传感云的数据源质量评估框架
基于虚拟基线的相位干涉仪阵列优化设计
雅皮的心情日志
雅皮的心情日志
图表中的交互 数据钻取还能这么用