学术服务内容

在线编辑 学术顾问

咨询率高的期刊

电子论文

基于SparkStreaming的网络安全流式大数据态势感知研究及发展趋势分析

时间:2020年06月10日 所属分类:电子论文 点击次数:

摘要:随着信息技术的飞速发展和企业信息化建设的不断完善,网络和信息系统已经全面覆盖企业经营、客户服务等业务领域和各层级应用,网络和信息安全已经成为一个不容忽视的问题。随着电力企业网络安全态势感知应用实践的不断深入,以及泛在电力物联网的不断

  摘要:随着信息技术的飞速发展和企业信息化建设的不断完善,网络和信息系统已经全面覆盖企业经营、客户服务等业务领域和各层级应用,网络和信息安全已经成为一个不容忽视的问题。随着电力企业网络安全态势感知应用实践的不断深入,以及泛在电力物联网的不断建设,网络安全态势感知系统面临着数据吞吐量增大、工作记忆存在局限性的问题。本文研究了网络安全现状及网络安全流式大数据态势感知关键技术,设计了一种基于SparkStreaming的网络安全流式大数据态势感知平台,为高吞吐量、实时数据与历史数据联合分析的网络安全态势感知系统提供技术思路和解决方法,最后通过分析目前网络安全态势分析发展的不足,预测了未来可能的发展趋势。

  关键词:网络安全;态势感知;SparkStreaming;大数据

计算机安全

  国家互联网应急中心发布的《2018年我国互联网网络安全态势报告》中显示,2018年勒索病毒攻击事件频发,变种数量不断攀升,重要行业关键信息基础设施逐渐成为勒索软件的重点攻击目标;网络攻击和风险正向物联网和智能设备蔓延,路由器、网络摄像头等智能设备安全漏洞环比增长8.0%;云平台也成为网络攻击新的重灾区,数据泄露风险增加,预测2019年个人信息和重要数据泄露将更加严重,同时5G、IPv6等新技术广泛应用带来的安全问题也应引起足够重视。企业面临越来越严峻复杂的网络空间安全威胁形势,同时大数据、云计算、物联网、移动互联等新技术给我们带来便利的同时,也带来了新的安全问题。

  一方面,多年来我们一直专注于架构安全(漏洞管理、系统加固、安全域划分等)和被动防御能力(IPS、WAF、AV等)的建设,虽取得了一定的成果,却也遇到发展瓶颈,需要进一步提升安全运营水平的同时,积极开展主动防御能力的建设。另一方面,面对越来越专业的恶意攻击,我们已无法再用传统的边界隔离理念、日渐臃肿的攻击特征库,与对方多变的渗透技术、智能的HaaS服务、隐蔽的信道相抗衡了,因此态势感知成为未来网络安全的关键。

  目前电网企业已经在网络和信息安全态势感知方面进行了一些探索和实践[1],实现了感知脆弱性、感知威胁性、感知全资产的功能,并进一步优化安全态势监控平台[2],采用“开关量”状态监控模式和图像呈现方式,解决了防护体系碎片化、安全设备孤岛化、设备告警数量高、数据价值密度低、人员能力要求高、研判处置拿不准等问题。

  然而,现有的网络安全态势感知系统由于实时网络攻击数据量较大,无法直接进行存储及展示,必须进行预处理,并且随着泛在电力物联网的不断建设,网络安全态势感知系统的数据吞吐量将会越来越大,现有机制无法满足网络安全态势感知的实时性要求;另外现有的网络安全态势感知系统仅仅能阶段性地展示一段时间内的攻击事件,无法将实时数据和历史数据联合关联分析。为了更好地满足高吞吐量下网络安全态势感知的实时性要求并且结合历史数据更精准地关联分析,本文提出了一种基于SparkStreaming的网络安全流式大数据态势感知系统。

  1网络安全流式大数据态势感知关键技术

  1.1网络安全态势感知的内涵

  网络安全态势感知是一种基于环境的动态、整体地洞悉安全风险的能力,是以安全大数据为基础,从全局视角提升对安全威胁的发现识别、理解分析、响应处置能力的一种方式,最终是为决策和行动服务,是安全能力的落地[3]。网络安全态势感知旨在大规模网络环境中对能够引起网络态势发生变化的安全要素进行获取、理解、显示以及最近发展趋势的顺延性预测,实现攻击行为可发现、安全防护可协同、威胁态势可预测、安全状态可度量,进而进行安全态势感知的相关决策与行动。

  网络安全态势感知强调的是环境性、动态性和整体性。环境性是指态势感知的应用环境是在一个较大的范围内具有一定规模的网络;动态性是指态势随时间不断变化,态势信息既包括过去和当前的状态,还包括对未来趋势的预测;整体性是指态势各实体间相互关系的体现,某些网络实体状态发生变化,会影响到其他网络实体的状态,进而影响整个网络的态势[4]。网络安全态势感知包括了时间和检测内容两个维度。

  时间维度上,既需要利用已有实时或准实时的检测技术,同时还需要通过更长时间数据来分析发现异常行为,特别是失陷情况;而内容维度上,则需要覆盖网络流量、终端行为、内容载荷三个方面,并完整提供以下5类检测能力:基于流量特征的实时检测、基于流量日志的异常分析机制、针对内容的静态、动态分析机制、基于终端行为特征的实时检测、基于终端行为日志的异常分析机制[5]。

  1.2SparkStreaming流数据处理技术

  SparkStreaming是构建在Spark上的实时计算框架,它扩展了Spark处理大规模流式数据的能力,具有可扩展、高吞吐量、对于流数据的可容错性等特点。SparkStreaming将流式计算分解成一系列短小的批处理作业,这里的批处理引擎是Spark,它把SparkStreaming的输入数据按照批尺寸分成一段段的数据,称之为DStream(DiscretizedStream),每一段数据都转换成Spark中的RDD(ResilientDistributedDataset),然后将SparkStreaming中对DStream的Transformation操作转换为Spark中针对RDD的Transformation操作,并将操作结果保存在内存中。

  根据业务需要,整个流式计算可对中间结果进行叠加,或存储到外部设备。Spark中的RDD具有良好的容错机制,每个RDD都是一个不可变的分布式、可重算的数据集,记录着确定性的操作继承关系,即使某处输入数据出错,仍能通过计算重新恢复。在实时性上,SparkStreaming将流式计算分解成多个SparkJob,每段数据的处理都会经过SparkDAG图分解以及任务集的调度[6],最小延迟在0.5~2s之间,能满足大多数实时计算任务。

  Spark已经能线性扩展到100个节点,可以以数秒的延迟处理6GB/s的数据量,其吞吐量也比Storm高3倍以上。与Storm相比,SparkStreaming有几个明显的优势,一是它的吞吐量比Storm等专门的流式数据处理软件要优秀;二是相比基于Record的其他处理框架,一部分窄依赖的RDD数据集可以从源数据重新计算,达到容错处理目的。

  三是小批量处理的方式使得它可以同时兼容批量和实时数据处理的逻辑和算法,方便了一些需要历史数据和实时数据联合分析的特定应用场合[7];四是它位于Spark生态技术栈中,可以和SparkCore、SparkSQL无缝整合,也就意味着我们可以对实时处理出来的中间数据,立即在程序中无缝进行延迟批处理、交互式查询等操作[8]。以上四个特点能够满足网络安全态势感知过程中高吞吐量的数据处理,并且在需要历史数据和实时数据联合分析的场景下可以很好地兼容其批量和实时数据处理框架。

  1.3分布式消息队列系统

  在大规模分布式系统中常使用消息队列,它是在消息传输过程中保存消息的容器或中间件,主要目的是提供消息路由、数据分发并保障消息可靠传递,为分布式系统的各个构件之间传递消息并提供承载。目前常见的分布式消息队列中间件产品有Kafka、ActiveMQ、ZeroMQ和RabbitMQ等。从性能和可扩展性上看,ZeroMQ、Kafka、RabbitMQ、ActiveMQ依次递减。

  从功能种类和应用广度上看RabbitMQ和ActiveMQ强于Kafka和ZeroMQ。综合比较的话,与RabbitMQ和ActiveMQ相比较Kafka算是轻量级系统,同时相较于ZeroMQ又能提供消息持久化保证,性能、高可用和可扩展方面表现也很优异,平均表现最好,目前应用场景较多,也非常适合用于网络安全态势感知大数据平台,因此我们选择将Kafka消息队列中间件应用于网络安全流式大数据态势感知系统。Kafka是LinkedIn开源的分布式消息队列系统,诞生于2010年,具有极高的吞吐量和较强的扩展性和高可用性,主要用于处理活跃的流式数据。Kafka是显式的分布式架构,主要涉及三个角色:消息生产者、代理服务器、消息消费者。

  消息生产者产生特定主题的消息并传入代理服务器集群,代理服务器也称缓存代理,是Kafka集群中的一台或多台服务器,消息消费者订阅主题并处理其发布的消息,其工作机制如图2所示。流计算系统的数据源是Kafka的一个典型应用场景,流数据产生系统作为Kafka消息数据的生产者,将数据流分发给Kafka消息主题,流数据计算系统实时消费并计算数据。Kafka有以下几个主要特点,一是同时为发布和订阅提供高吞吐量,Kafka每秒可以生产约25万条消息(50MB),每秒处理55万条消息(110MB)。

  二是可进行持久化操作,通过将数据持久化到硬盘以及实现多副本,从而防止数据丢失。三是支持在线应用和离线应用的场景。Kafka的这些特点能使它与SparkStreaming配合,支持网络安全流式大数据态势感知系统的数据处理工作。

  2基于SparkStreaming的网络安全态势感知平台

  利用Kafka和SparkStreaming关键技术,结合批处理和流计算,构建出基于SparkStreaming的网络安全流式大数据态势分析平台架构,该平台分为数据源、数据采集、数据存储与管理、数据处理分析、态势感知场景展示五个层。

  2.1数据源层

  平台数据源分为四类数据,一是环境业务类数据,主要包括被感知环境中的各类资产和属性;二是网络层面数据,主要包括包捕获数据、会话或流数据、包字符串数据;三是主机层面日志数据,包括各种系统、应用所产生的日志数据等;四是告警数据,来自IDS、防火墙等安全设备或软件的报警信息。

  2.2数据采集层

  平台数据采集层针对不同类型和来源的数据,采用不同工具进行数据采集。传感器部署在网络设备中直接采集网络流量数据,网页爬虫用于自动抓取特定的互联网网页信息,日志收集系统用于将分布在各个设备、系统和应用中的日志数据收集起来进行高效的汇总,数据抽取工具用于将关系型数据库所存储的结构化数据抽取到Hadoop大数据平台中以用于进一步的分析处理,分布式消息队列用于提供消息路由、数据分发并保障消息可靠传递,为分布式系统的各个构件之间传递消息并提供承载。

  2.3数据存储与管理层

  平台使用分布式文件系统HDFS、分布式数据库HBase、非关系型数据库NoSQL等,用于静态采集数据和分析处理后数据的存储与管理。

  2.4数据处理分析层

  数据处理分析层结合流计算和批处理,SparkStreaming接收Kafka采集的安全、网络等设备的日志、告警等实时流数据,进行关联分析、模糊识别、数据挖掘、机器学习、规则匹配等复杂计算,将结果保存到数据库或通过网页进行可视化展示。对于一些分析场合,SparkStreaming还可以兼容批处理算法和实时流数据处理算法,对历史数据和实时数据进行联合分析以及交互查询等操作。通过流计算和批处理的结合,以及用户的交互查询,平台能更出色地对网络安全态势进行深度动态感知和整体把握。

  2.5态势感知场景展示层

  本平台设计的安全态势感知场景有五个,分别为网络攻击态势感知、网络威胁态势感知、系统脆弱性态势感知、异常流量态势感知和用户行为态势感知。网络攻击态势感知通过对IDS/IPS、WAF、抗DDOS设备等安全设备、网络设备采集的数据在时间和空间维度进行分析,并与历史攻击进行关联,通过识别攻击类型、源IP地址、目标IP地址,为攻击路径分析、溯源提供帮助,动态生成安全策略,并实时展示全网安全攻击情况和趋势预测。网络威胁态势感知通过对防病毒系统、防毒墙、WEB应用防火墙、特种木马检测系统、恶意行为检测系统等安全设备数据进行多维度分析,评估病毒、木马、恶意代码等威胁的风险等级并进行预警。

  系统脆弱性态势感知通过对系统漏洞、安全基线、系统弱口令、安全事件等进行关联分析,动态感知系统脆弱性并进行预警。异常流量态势感知,围绕用户、业务、关键链路和互联网访问等多个维度的流量分析,通过与丢包率、流量地址范围、端口范围、协议类型、流量时间周期分布、流量总值、流量峰值、流量均值范围等进行对比,识别异常流量并告警。用户行为态势感知通过分析用户终端行为,通过机器学习等算法对用户行为进行分析,发现偏离基线的用户安全威胁行为,对潜在的用户异常行为进行挖掘和判断。

  3网络安全态势感知发展趋势分析

  目前网络安全态势感知已取得了一定成效,但仍存在很多不足。信息过载。在网络系统中我们能获取到海量的安全信息并展示,但展示信息大部分是无用信息,态势感知过程中如果仅仅是加大提供和共享的数据,未能相应的通过快速处理提高数据的质量,会导致超越人类认知局限性的阈值,压倒相关人员及时进行分析处理的能力,而且片面强调数据采集和可视化,还可能导致网络安全人员产生“我可以看到一切”的虚假安全感。支持决策能力不足。态势感知的目的是支持决策和行动执行,目前的态势感知系统偏重于观察和理解阶段的感知过程,则仅能达到“感而不为”或“知而不为”的残缺效果。

  如果将观察阶段实现为单纯的数据采集和处理,将理解阶段实现为可视化展示呈现和按需交互分析,并在预测阶段将问题丢给网空安全分析人员,让他们各自猜测可能的未来发展情况,并让网空安全防御人员自行琢磨应当采取哪些响应行动措施,就有可能导致低水平态势感知,而且在海量网络流量面前,这种完全依赖分析人员处理能力的模式不具有可持续性。

  网络安全度量指标不统一。现有的信息融合工具和可视化工具,都是针对具体网络以及网络的具体任务或运营需求而定制的,各自使用不同的输入和输出,因此,需要对工具的输入与输出进行标准化,并形成通用的度量指标。针对以上不足,网络安全态势感知下一步将向更有效的数据展示、加强系统自动决策能力、统一网络安全度量指标的方向进一步发展。

  4结语

  本文针对网络安全采集数据吞吐量大、实时数据需要和历史数据联合分析的特点,提出了一种基于SparkStreaming的网络安全态势感知平台。本文研究了网络安全流式大数据态势感知的关键技术和系统架构,为网络安全态势感知技术的发展提供了技术思路和解决方法,并通过分析目前网络安全态势分析发展的不足,阐述了网络安全态势感知技术的下一步发展趋势。

  参考文献:

  [1]陈春霖,屠正伟,郭靓.国家电网公司网络与信息安全态势感知的实践[J].电力信息与通信技术,2017,15(6):3-8.

  [2]张相依,胡威,张书林,等.网络安全态势实时监控平台的设计与实现[J].电力信息与通信技术,2019,17(3):28-34.

  [3]张敏.在治安防控场景下大数据应用方法分析[J].中国安全防范技术与应用,2018,17(6):46-50.

  [4]王旭.网络安全态势感知刍议[J].计算机安全,2014,14(1):71-75.

  [5]李雁,高永龙,席新,等.新一代移动警务泛态势感知安全监测研究探析[J].软件,2019,40(9):18-22.

  [6]陈丽,王锐.基于SparkStreaming流技术的机动车缉查布控系统设计[J].顺德职业技术学院学报,2016,14(4):10-15

  作者:◆靳琳1赵任方2董钟3

  计算机论文投稿刊物:《计算机安全》杂志是由中华人民共和国信息产业部主管,信息产业部基础产品发展研究中心主办,面向国内外公开发行的全面介绍网络与计算机信息系统安全技术与应用的大型科技类月刊。