基于大数据的校园网络安全日志分析平台研究

2020-04-10 06:46刘中原
世界家苑 2020年1期

刘中原

摘要:本课题分别从大数据信息分析平台、数据收集、数据存储以及数据分析的架构着手分析;其次,通过实现K-means的MapReduce方法,采用Hadoop分布式计算平台,同时分别从聚类功能结果测试和单机分析平台性能对比测试,通过实验测试,基于Hadoop的校园网络日志分析系统在收集、处理、存储、挖掘方面相比传统单机处理有很大改进,不仅减少了开发人员工作量同时还提高了效率。

关键词:大数据处理;Hadoop分布式;K-means

1 引言

如今,移动互联网技术的发、大数据等新兴技术的普及,整个社会的网络信息技术发生了巨大的变化,信息化环境己进入了一个新的阶段,这对学校网络中心在对校园网络的维护和管理上也提出了新的要求和挑战。在当今时代,互联网技术己经被十分深入地应用到高校的学习、工作和校园生活中,我国各大高校的校园网建设也越来越受到高校的重视,通过连接校园网络上网,产生的日志数据具有实时、海量、动态、无规则等特点,但这些数据同时具有重要的价值。如何从这些复杂数据中找出我们需要的内容,这就需要对这些原始的日志数据内容进行一些处理,通过数据的处理,挖掘出对学校管理有用途的信息,这些信息对学校校园网络建设以及学校对学生的管理都十分重要。现有的一些日志分析工具,如:Awstats、Webalizer等,都可以用来对网络日志进行分析统计,但由于这些工具基本是属于单机运行,在计算能力和存储能力上,满足不了如今校园网络中海量的网络日志的分析和处理,所以,通过使用Hadoop为框架,利用MapReduce编程模式和HDFS实现并行化处理,解决传统日志分析在海量数据面前遇到的瓶颈,对校园网络建设和管理有重要的意义。

2 大数据安全日志系统架构

2.1 智能信息分析平台

智能信息分析平台由数据的收集,保存,分析和优化功能模块组成,每个模块构造不同的数据格式和处理方法。从各种数据源中稳定地收集数据,并通过多个并行结构平均地保存数据,提供能够基于高速搜索进行智能分析的系统结构。

2.2 数据收集算法

在考虑所有数据收集技术,海量数据传输,管理稳定性以及收集和使用数据的高可用性的基础上,开发数据收集框架。安全设备中产生的所有信息都通过数据发送器实时保存在收集器中,例如源,格式数据,结构化/非结构化原始日志和原始日志。当前的数据收集过程显示了在处理主要主页中的Web日志,提出使用两种方法,即agent/lessagent来收集信息,并通过考虑实时性和稳定性来增加选择收集方法的灵活性。数据发送器自动分散错误和数据负载,并通过使用自动负载分配,检测错误/重复和日志转发技术来防止数据丢失。

通过应用大量的UDP数据包处理技术和数据转发技术,可从由互锁适配器Syslog/SNMP,具有UNIX/Windows性能的系统性能适配器,UNIX Syslog和Windows WMI构造的系统日志适配器传输大量信息。要将收集的信息通过适配器传输到传输队列,可以通过验证数据一致性并根据设备的性能调整数据传输量来完成。当发生数据溢出时,数据将无法传输并重复到保留的收集器。如果在此过程中发生诸如网络遣散之类的错误,请临时保存数据,然后通过具有SSL认证,SSL解码器,SSL捕获和LOG过滤器功能的数据接合适配器重复该数据。

2.3 数据存储

收集器由基于分发的日志服务器构造,有收集器服务器的保存方法,通过收集系统获得的数据供客户通过接收和规范化过程初始查找信息,然后与规范化数据进行比较,并获得与DB交互的索引值。接收安全日志,系统日志和应用程序日志的数据,并通过规范化对其进行规范化引擎,规范化文件和数据标记,使用分布式体系结构保存大量的安全日志文件,分散的体系结构在并行处理中进行处理以存储海量数据,并通过基于分发的多索引器运行保存和实时索引工作。因此,每天的Tera字节(TB)数据可以通过分布式体系结构进行处理,每个收集器显示出200000EPS的处理性能。特别是每个收集器在保存数据时自动检查完整性,并将数据保存在压缩和编码的文件夹中。收集器通过构造数据备份/热备用收集器来自动备份和还原,以自动保护原始数据免受多系统可能出现的故障的影响。从理论上讲,这种管理结构可以存储无限的数据,并且具有可扩展性和稳定性。与并行处理方式相比,通过以并行形式排列收集器也可以得到更快的结果,从而导致收集器数量和处理性能成比例。当数据大小较小时,该技术可以对处理大量安全日志大数据产生巨大的影响。

2.4 大数据分析系统

不能通过实时检查来保证海量数据的速度,但是,可以通过输入关键字或保存在收集器中的索引数据的条件来查找索引数据来进行操作。搜索到的大量安全日志数据分析通过数据细化(将问题细分成小块的数据进行分析),使多重扫描变得更加容易。此外,通过两种基于分布的多次扫描,还可以确保来自安全设备的数据的实时分析性能。其中之一是根据基线和阈值检测数据的快速变化。另一个正在使用趋势分析,该趋势分析是基于统计数据来预测数据。

通过对设备/日志类型的实时监控,分析所有事件的相关性并以图表的形式直观地显示出来。在实时监控过程中发现错误时,打开警报以可视化形式显示威胁。单次扫描最多运行20亿例,在每天200G~400G的簡单扫描条件下,在一分钟内进行扫描。

2.4.1 数据分析日志系统。数据收集结构的构建应考虑所有数据收集技术,海量数据传输,管理稳定性以及数据收集和参与的高可用性。因此,所有源,格式数据,结构化/非结构化原始日志以及来自安全设备的原始日志都将实时收集,并通过数据发送器存储在收集器中。

2.4.2 日志分析算法。课题提出使用PCRE(Perl兼容正则表达式)技术的方法,该技术支持非结构化数据规范化技术,该库支持特殊的Separator技术和正则表达式。该算法用于分析日志,这些日志分为日志收集服务器,日志解析器和日志转换。日志收集服务器使用FireWall事件,IDS事件,流量事件和WebFw事件等收集设备,通过数据过滤器将收集的数据传递到日志解析器。日志解析器负责解析收集到的设备对已过滤数据的转换,并将数据标准化为常规数据。转换后的数据保存在文件或内存中,并发送日志。同时,通过检查原始数据,正则表达式和日志转换,删除以及选择字段值以保存XML文件来完成规范化。

3 基于Hadoop日志分析系统的实现

3.1 Hadoop分布式平台搭建

本课题采用Hadoop分布式开源框架,构建多机集群,其中Master主机开启JobTracker,负责其他执行TaskTracker任务的Slave主机节点的任务调度,资源分配。Slave节点将Master节点分发的MapReduce任务,并将处理结果返回给主节点。

3.2 日志存储模块

日志安全分析平台后端存储主要由MySQL和HDFS实现,其中MySQL主要存储业务处理结果数据,然HDFS存储大量WEB日志文件数据以及清洗后的文件;其中HDFS开源工具sqoop可以实现从HDFS数据转化为MYSQL关系型数据。

首先,在机器上安装MySQL软件并创建数据库以及附属表,当WEB日志经过日志挖掘模块处理后,得到的数据信息是保存在HDFS布式文件系统中,这时可以使用sqoop工具将获取到的数据信息转存到MySQL数据库上面。导出成功后,可以在MySQL数据库里查询数据信息,WEB日志数据以64M大小分块存储在HDFS平台上,在不同DataNode节点都有数据副本,以保证数据安全,同时由于HDFS以下特性:

(1)HSDF可以处理TB级别的数据量,面对海量的WEB日志,HDFS是最适合不过的。

(2)支持流式的数据访问方法,HDFS多节点数据备份,由于一次写入,多点读取,可以支持高并发数据请求目的。

(3)Hadoop框架对机器性能、资源要求不高,可以使用廉价的商用机器集群,Hadoop通过集群维持系统可靠性,可以保证单个节点故障不会导致系统奔溃。

3.3 WEB日志聚类算法的设计

本课题采用K-means进行相似用户的挖掘,默认的聚类算法都是基于单机实现完成,由于采用Hadoop分布式平台,需要对传统的单机聚类算法进升级改造以适应分布式计算平台。

K-means聚类算法每次迭代分两步走,首先根据样本点与中心点距离确定归属;其次,根据当前最新样本点的分布可重新设定中心点位置。Hadoop的MapReduce的处理过程正好满足K-means的计算步骤,其中Map函数选择离样本最近的中心点,更新该中心点的样本库;Reduce根据中心点的样本库重新计算中心点的位置,继续后续的迭代处理,最终通过多次迭代计算,K-means可以达到收敛状态。在实现分布式聚类每次通过MapReduce进行迭代计算,Reduce计算结果作为下次Map计算的输入。

Map函数的设计中,Mapper函数功能是根据已有中心点的距离对当前样本点进行分类;Mapper函数的输入为每个用户日志轨迹属性向量t,通过Mapper计算得到输出的中间结果是<中心点,t>,即是该用户日志属性向量所属中心点。

通常在处理Map函数和Reduce函数之间增加Combiner函数处理,该函数主要是对Map函数输出值进行合并输出,该输出结果作为Reduce函数输入。Reduce函数对更新Key所对应的中心点位置,Reducer函数利用公式来重新计算中心点位置,其中Ci表示第i个中心点的向量空间位置,N代表该中心点的所有样本的数量,Vi代表属于Ci中心点的第个j样本向量值。

通过并发K-means计算流程,可以保证在Hadoop分布式高效运行。将改进后的K-means距离算法成功应用于大数据校园网络安全日志分析流程中。

3.4 系统运行结果分析

3.4.1 大数据分析功能测试结果分析。本课题分别随机设置3、4、5个中心点进行相关实验,每组实验重复10次,取实验的平均指标,最终实验效果如图1所示,图中横轴着表示了类簇中心的个数,纵轴表示该中心点下面所属用户占比量。

实验结果表明相同数量的中心点得到实验结果不尽相同,不同数量的中心点实验结果也不一致,这是因为使用K-means聚类时,会随机K个向量点作为初始中心参考点,但是随着迭代次数增加,最终的聚类结果大体一致。

3.4.2 分布式分析平台性能测试。在相同数据量下分别对单机和Hadoop集群的消耗时间比较,在数据量并不是很客观的情况下,Hadoop集群并未领先于单机性能,主要是Hadoop集群在每次迭代计算过程中都会开启新MapReduce任务,在数据量很小的情况下,时间占比主要在启动任务资源;随着数据量的增大,计算资源消耗占比时间也随之增大,启动任务消耗的时间占比越小,可以忽略。因此,在数据量非常可观的情况下,Hadoop集群的计算效率明显优越于单机性能。

参考文献:

[1] 王参参,姜青云,李彤.基于大数据的日志分析平臺在银行中的研究与实现[J].网络安全技术与应用,2018(05).

[2] 胡沐创.大数据日志分析平台应用探索与实践[J].金融科技时代,2018.

[3] 应毅,任凯,刘亚军.基于大数据的网络日志分析技术[J].计算机科学,2018(S2).

[4] 杨敏,何海涛,赵琼.流量大数据安全分析平台的设计与实现[J].通信学报,2018(S1).

[5] 王秋红.基于大数据技术的网络教学平台用户行为分析研究[J].电子世界,2019(09).

[6] 单康康,王佶,常晓洁.基于大数据的校园网海量日志分析平台研究[J].信息通信, 2017(03).

基金项目:本文系杭州职业技术学院2020年度校级科研项目“基于大数据的校园网络安全日志分析平台研究”(编号:ky202028)。

(作者单位:杭州职业技术学院 信息工程学院)