APP下载

大数据环境下的入侵检测系统框架*

2015-03-25华铭轩张峰军

通信技术 2015年11期
关键词:局域网日志集群

华铭轩,张峰军

(中国电子科技集团公司第三十研究所,四川 成都 610041)

大数据环境下的入侵检测系统框架*

华铭轩,张峰军

(中国电子科技集团公司第三十研究所,四川 成都 610041)

入侵检测技术在现代网络安全防护技术中占有重要地位,但面对现代大数据环境,传统的入侵检测技术面对瓶颈,很难在大数据量的情况下,做出及时准确的判断分析。简要介绍了现有的Hadoop、Spark等主要大数据软件,并在传统的入侵检测技术的基础上,结合现有的大数据技术,给出了在大数据环境下的入侵检测技术框架。从网络拓扑图的角度,描述了整个网络环境,然后以模块化、流程化的方式,分别详细的描述了流量采集模块、检测分析流程、入侵检测软件栈、报警模块等大数据环境下入侵检测系统的构成部分。最终以此构建了大数据环境下的入侵检测系统。

大数据;入侵检测;Hadoop;Spark

0 引 言

入侵检测技术(Intrusion Detection System)简称IDS ,是一种对网络或者主机中的数据和日志进行主动检测,用以提早发现网络中的恶意活动和违规行为的技术。入侵检测技术起始于1980年,经过近40年的发展,现在的入侵检测技术按照分析方法可以分为:①异常检测(Anomaly Detection);②误用检测(Misuse Detection)[1]。按照检测环境不同可以分为:①网络入侵检测系统(Network Intrusion Detection System)简称NIDS;②主机入侵检测系统(Host Intrusion Detection System)简称HIDS;③分布式入侵检测系统(Distribute Intrusion Detection Network)简称DIDS[2]。基于网络的入侵检测系统其数据源来源于网络中信息流,而基于主机的入侵检测系统,其数据源来自系统的审计日志,一般只能检测单个主机上发现的日志。分布式入侵检测系统主要是将主机入侵检测系统和网络入侵检测系统结合,使系统可以对异构,多点环境进行检测,是现在入侵检测系统发展的方向。

随着世界经济技术的发展,全世界网络规模不断扩大,全球网络中的网络流量以及各种主机产生的日志信息都在呈指数级别上升。2013年全球一共产生了1000EB的流量[3],而据思科估计2018年全球的IP网络流量将达到8.6ZB[4]。面对如此庞大的数据规模传统的入侵检测技术在处理数据速度和能力上都很难胜任。

本文基于异常检测方法(Anomaly Detection)检测网络中任意一个节点元素的流量特征行为,通过模式匹配和相似度分析,利用现有的大数据相关技术以及开源软件,从庞大流量和日志中分析各个节点日志信息,寻找可能的攻击行为,最终构建在大数据环境下的入侵检测系统框架,解决传统入侵检测系统在大数据时代,存储数据、分析数据所面对的瓶颈,并且由于大数据开源相关软件自身特点,使入侵检测框架具有高扩展性,高性价比,容错能力强的特点。

1 传统入侵检测系统

传统的入侵检测系统从模块的角度可以分成:数据源,探测器单元,分析单元,管理单元,响应单元,行为,6个部分。其中数据源指的是IDS监视的原始数据;探测器单元指的是从数据源中收集数据的部分;分析单元是指对探测器收集到的数据进行处理的模块;管理单元一般是用于分析单元配置、事件告知管理、数据综合等管理任务、响应单元是对告警进行管理的部分。在此基础上国际上已经开发了一些比较成熟的框架比如Denning的入侵检测系统模型,开源软件snort入侵检测模型。

1.1 Denning入侵检测系统模型

Dorothy Denning在1984年到1986年间研究并开发了第一代实时IDS模型,原型在当时被取名为入侵检测专家系统(Intrusion Detection Expert System)简称IDES。

入侵检测专家系统模型如图1所示。

该系统由6个部分组成,主体、对象、审计记录、轮廓特征、异常记录、活动规则。其独立于特定的系统平台、应用环境、系统弱点、以及入侵类型,为构建入侵检测系统提供一个通用的框架[5]。

1.2 Snort入侵检测框架

Snort系统是Martin Roesch在1988年开发的一个活跃于互联网上的小型开源入侵检测系统。目前主要部署在对准确性要求不高的低速网络环境下。由于其整体设计简洁明了,检测规则集明确,在整个互联网环境下有着非常广泛的应用,由其探测得到的许多数据集是许多高校研究机构实验中使用的标准数据集。

图1 Denning入侵检测系统框架

经过多年发展Snort功能日趋完善,现在Snort已经发展成为可以在多平台上运行,进行实时流量分析,记录网络ip数据包的网络入侵检测系统。图2为Snort入侵检测系统框架图。

图2 Snort入侵检测系统框架

1.3 传统入侵检测的局限

入侵检测从20世纪70年代末开始研究,随后慢慢发展,但随着时代的发展,入侵检测技术并没有达到人们的期望。现有的入侵检测系统主要是被动的分析网络流量行为。一般来说在发现了入侵之后,入侵检测系统并不能采取什么实际的行动,只能向主机报告安全警报。其次,入侵检测技术在实际使用中也并不完善,误警率高,漏报率高,正确率平平。

在网络基础设施不断发展的今天,面对海量日志,基于传统数据库的入侵检测系统已经不能对数据进行大样本,有效实时的分析。部署在外部网络和内部网络之间的NIDS在对网络数据报文做深入分析时,资源开销非常大,传统的NIDS非常容易发生过载[1],就算得出报警结果,因为处理延迟,也可能已经失去正确判断的时机。种种情况使传统入侵检测系统的发展步履维艰,研究大数据环境下入侵检测系统框架可以为入侵检测的发展提供新的研究方向。

2 系统软件栈

本文拟运用Hadoop、HBase、Zookeeper、MySQL、Flume、Kafka、Snort构成软件栈,实现对网络流量和主机日志的检测监控和报警,以下将围绕Hadoop软件生态系统和其他开源软件对其进行简要介绍。

2.1 Hadoop软件生态系统

(1)Hadoop是一个开源Java框架,可以通过简单的计算模型,在计算机集群上存储处理大量的数据集。在存储和处理的过程中,每一台计算机服务器都可以提供计算和存储能力。Hadoop主要由:Hadoop 基本组件(Hadoop common)、Hadoop分布式文件系统(HDFS)、Hadoop Yarn、Hadoop MapReduce。其中Hadoop Yarn用于任务计划和集群资源管理,是一个管理框架。Hadoop MapReduce 是一个基于Yarn的并行处理系统[6 ];

(2)HBase是运行在Hadoop平台下的面向列的分布式数据库,一般运用在需要对大数据进行随机实时读取的场景;

(3)Zookeeper是一种留存配置信息、命名、提供分布式同步和对集群的集中服务,这对分布式系统来说非常有用;

(4)Flume是Cloudera提供的一个高可用,高可靠,分布式海量日志采集、聚合和传输系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;

(5)Spark是Apache的顶级开源项目,是由Scala语言实现的迭代计算分布式框架。其可以实现机器学习和图计算等功能。由于Spark RDD (Resilient Distributed Datasets)弹性分布式数据集的特性,与Map Reduce相比节省了大量的磁盘输入、输出操作,提高了运行速度[7];

(6)Kafka是linkedin用于日志处理的分布式消息队列。在结构上其可以分为producer、broker 和consumer。分别代表消息的生产者,代理者和消费者。与传统消息系统相比,Kafka拥有易扩展、高吞吐量,自动平衡,支持消息持久化等优良特性[8]。

2.2 其它开源软件

(1)Snort。Snort有3种工作模式:嗅探模式(Sniffer Mode、数据包记录器(packet logger mode)、网络入侵检测系统也称上线模式(inline mode)。其中嗅探器模式是从网络上读取数据包并作为连续不断的数据流显示在屏幕上。数据包记录器模式把数据包记录在硬盘上,其框架见1.2节。

(2)MySQL。MySQL是一个小型关系数据库管理系统,因为Snort与MySQL结合程度高。所以本文中将使用MySQL作为中间数据存储器。

3 大数据环境下入侵检测系统

3.1 网络拓扑图

本文指出的大数据环境下入侵检测系统,从业务场景看可以将其分为3个部分。如图3所示,分别为Hadoop入侵检测集群,攻击网络和被攻击网络。

图3 入侵检测部署实例

其中Hadoop入侵检测集群的部署,和传统的Hadoop集群部署方式相同,服务器与服务器之间以主从的方式连接,设置一个Master节点,一个备份Master节点,剩下的作为Slave节点,节点与节点之间连接成局域网,通过SSH相互连接。为了保证检测系统内部安全,检测集群与外网之间可以部署接入控制设备,防止检测集群本身被攻击,被获取相应的数据,或者瘫痪失去检测能力。

被攻击网络中的服务器和计算机局域网,将会安装流量采集软件Snort然后再将数据传递给Hadoop入侵检测集群。Hadoop入侵检测集群网络部署示意图,如图4所示。

图4 Hadoop入侵检测集群网络部署示意

3.2 流量采集

在1.1节,1.2中,传统入侵检测系统,由底层向上层运行的第一步是收集检测数据,本文提出的入侵检测系统,在被攻击的服务器或者计算机局域网中将会安装MySQL、Kafka、Snort以及Snort前端软件Base 。Snort将工作在数据包记录器(Packet Logger Mode)模式,用以记录流量信息,MySQL将作为Snort的存储设备,将原始流量信息,记录在局域网本地的MySQL数据库中,此时再通过前端Base平台将原始记录处理成为标准流量记录。

在以太网中数据会以广播的方式传输,所以在一个局域网中,所有的物理设备的网络接口都可以接收到网络中所有的数据包。数据在到达网络接口后,会在数据链路层、网络层、传输层分别判断是否符合本机的MAC地址、IP地址、端口号,如果不符合,数据包就会被丢弃。只有这三项都与本机一致,才会被接收。所以在一个局域网中只需布置一台机器安装Snort、MySQL、Kafka用于流量采集即可。由于Hadoop入侵检测集群可以同时监测多个局域网,这时候就需要Flume将从各个局域网中上传的数据进行信息整合。

如图4所示,流量采集服务处于局域网与监测集群之间,由于局域网流量大,此时如果运用传统的信息传递中间件软件,因为采集数据的速度和处理数据的速度不同,负载过大会导致采集服务器宕机,因此此处采用Kafka作为消息采集中间件。通常一个Kafka集群,会有若干的Producer、Broker、Consumer以及一个Zookeeper集群,其中Producer作为信息来源,来自web前端,服务器日志等,本文中Kafka将与前端BASE软件链接。通过网络,将流量信息定时导入到Hadoop入侵检测集群网络,存储在HBase中,整个流量采集存储的过程如图5所示。

图5 流量采集过程

3.3 检测框架

HBase是大数据环境下的非关系数据库,数据将以key/value值的方式存储在数据库中,因此其查询速度将会比较快,将会有利于检测集群快速得到结果。

异常检测简单来说是一种对数据在时间尺度上进行收集,然后建立行为模式,最后与现有数据进行比对,最后得出是否有异常的方法。在本文中从Snort中采集得到的数据中,我们可以得到源地址,目的地址的IP,访问时间,访问的端口,包的数量以及大小等信息。为此本文将针对特定时间、特定IP、以及流量提出建模方法,最后在Spark中进行实现。检测流程如图6所示。

图6 入侵检测流程

检测分析软件栈如图7所示。从数据流逻辑的角度,在软件中数据将会以从上至下,从左至右进行流动。其中MLbase(machine learning),Spark Streaming (real time)是Spark软件生态中的一部分。Spark作为计算框架,通过MLbase进行学习,对检测模型进行建模,通过Spark Streaming将流式计算分解成一系列的批处理计算,以此提供快速可靠的计算服务能力[9]。

图7 入侵检测软件栈

3.4 报警模块

因为是对多个局域网,进行入侵检测,因此在得到结果后,还需要对结果进行分类。在经过简单的分类后,将异常结构以统计方式呈现在前端,报知安全员网络危险状况。至此完成整个检测流程。

4 结 语

本文提出大数据下的入侵检测系统框架,从传统入侵检测方法入手,总结入侵检测系统组成,分析了其在大流量环境下的劣势。基于现有大数据软件技术,从大数据软件的角度,数据流的角度,业务关系的角度,系统构成的角度,分别进行了细致的描述,最终构建了大数据环境下的入侵检测系统框架。由于入侵检测系统的固有缺陷,入侵检测系统在报警时带有延迟,对一些隐蔽的,新的攻击,一般无法检测出来。因此下一步的研究方向可以在检测的基础上更进一步,实现大数据环境下的态势预测,这将会弥补现有系统的缺陷,使其更具发展潜力。

[1] 何月梅, 王保民, 张青. 网络流量与入侵检测研究[J].通信技术,2009,42(02):303-305.

HE Yue-mei, WANG Bao-min, ZHANG Qing. Research on Network Traffic and Intrusion Detection [J]. Communications Technology,2009,42(02):303-3055.

[2] 蔡志平,刘书昊,王晗. 高性能并行入侵检测算法与框架 [J].计算机科学与探索, 2013,07(04):289-303. CAI Zhi-ping, LIU Shu-hao, WANG Han. High Performance Parallel Intrusion Detection Algorithms and Framework[J]. Journal of Frontiers of Computer Science & Technology,2013,07(04):289-303

[3] Matthew Wall, Big Data: Are You Ready for Blast-off? [EB/OL].(2014-03-04) [2015-9-16] http://www.bbc.com/news/business-26383058.

[4] CISCO. CISCO Global Cloud Index: Forecast and Methodology, 2013-2018 [EB/OL]. (2014-11-11) [2015-9-16] http://www.cisco.com/c/en/us/solutions/collateral/service-provider/global-cloud-index-gci/Cloud_Index_White_Paper.pdf.

[5] 魏宇欣. 网络入侵检测系统关键技术研究[D]. 北京:北京邮电大学,2008. WEI Yu-xin. Key Technology Research on Network Intrusion Detection System[D]. BeiJing: Beijing University of Posts and Telecommunications,2008.

[6] Apache Hadoop. What Is Apache Hadoop? [EB/OL].(2015-08-07) [2015-9-16]http://hadoop.apache.org.

[7] 温馨,罗侃, 陈荣国. 基于Shark/Spark的分布式空间数据分析框架[J]. 地球信息科学学报,2015,17(04):401-407. WEN Xin, LUO Kan, CHEN Rong-guo. Based on Shark / Spark Distributed Spatial Data Analysis Framework[J].Journal of Geo-Information Science ,2015,17(04):401-407.

[8] 张锋军.大数据技术研究综述[J].通信技术,2014,47(11):1240-1248. ZHANG Feng-jun. Overview on Big Data Technology[J]. Communications Technology,2014,47 (11): 1240-1248.

[9] Spark. Spark Website[EB/OL]. (2015-09-09) [2015-9-16]http://spark.apache.org.

华铭轩( 1990—),男,硕士,助理工程师,主要研究方向为信息安全,通信技术与大数据;

张锋军(1967—),男,高级工程师,主要研究方向为网络管理,软件工程。

Intrusion Detection System Frameworkin Big Data Environment

HUA Ming-xuan, ZHANG Feng-jun

(No.30 Institute of CETC, Chengdu Sichuan 610041, China)

Intrusion Detection Technology plays an important role in modern network security protection. However, traditional intrusion detection technology faces a bottleneck that in modern big data environment, it is difficult to make timely and accurate judgment and analysis in the condition of large data volume. Major big data software is briefly discussed, such as Hadoop and Spark, and based on traditional IDS technology and current big data technology, a framework for intrusion detection system in big data environment is proposed. From the perspective of network topology,the picture of whole network atmosphere is portrayed, and then the constituents of intrusion detection system in big data environment, including traffic acquisition module, detection analysis process,IDS software stack,and warning module,are described in detail. Finally, IDS is built up with the above constituents.

big data;IDS(Intrusion Detection System);Hadoop;Spark

10.3969/j.issn.1002-0802.2015.11.019

2015-06-21;

2015-10-09 Received date:2015-06-21;Revised date:2015-10-09

TP309

A

1002-0802(2015)11-1300-05

猜你喜欢

局域网日志集群
一名老党员的工作日志
轨道交通车-地通信无线局域网技术应用
扶贫日志
基于VPN的机房局域网远程控制系统
海上小型无人机集群的反制装备需求与应对之策研究
雅皮的心情日志
雅皮的心情日志
一种无人机集群发射回收装置的控制系统设计
基于802.1Q协议的虚拟局域网技术研究与实现
Python与Spark集群在收费数据分析中的应用