第一章 绪论
随着互联网技术的快速发展,互联网技术已经对人们的生活产生了巨大的影响。移动 wifi也随着无线网的普及在很多公共场合进行了接入点的布置,方便了人们的使用。但是人们在享受互联网科技带来的便利的同时,信息安全的问题也渐渐变成了一项很严重的问题。当人们在使用网络等服务时将许多个人信息,银行账户和用户密码等这些大量私人数据存储或被传送到网络之中云存储中,这使得人们或多或少对网络产生了强烈的依赖性。将一些重要的数据和相关文件存储在网络中也产生了许多安全隐患。同时,黑客也因为所能使用的信息增多而更容易对网络进行攻击。
如今面向云计算大数据平台的服务越来愈多,在网络安全检测中也存在几个急迫需要解决的问题,一是被检测的系统之间存在的数据量极其庞大,对于数量如此庞大的数据量传统的信息安全检测工具和平台已经到了很难应付的地步。二是怎样使用好我们的云计算和大数据平台,为我们检测安全与异常攻击事件提供良好的计算基础。三是存储和保留大量的数据会花费大量资金。
黑客攻击行为从以前的高难度攻击行为,如今已经转变为门槛很低的技术,互联网中的攻击已经越来越泛滥,假如黑客掌握了网络中的云服务节点,将会产生很严重的后果。
所以就目前而言当云计算或者互联网技术给人们的日常生活带来很大便利的同时,互联网当中的黑客攻击和入侵行为,毫无疑问也为互联网技术的蓬勃发展蒙上了一层阴影。
1.1 研究意义。
随着网络基础设施和网络带宽的大幅度升级,为大量数据的传送提供了技术基础,大规模数据处理也随着云计算和大数据技术平台的出现成为了可能。由于网络数据源也为安全事件的分析提供了可能性。
大数据分析指的是分析和挖掘大数据的过程,它能够以前所未有的规模和特异性产生运营和商业知识。大数据技术在存储,处理和分析等方面都有很大进步包括:(a)近年来存储设备的费用迅速下降和 cpu 性能提高。(b)新的分布式计算框架的迅速发展,如 spark,hadoop等通过灵活的并行处理计算和存储数据。
随着网络安全事件的数目越来越多,人们逐渐开始认识到了网络攻击或者黑客入侵对人们的日常生活造成了严重的威胁。因此,安全监测的意义也变得越来越重要。
1.2 国内外发展现状。
1.2.1 信息安全事件检测研究现状。
目前,大量的研究着手于利用网络中流量数据和日志数据对安全事件进行检测,通过对流量数据做统计分析、关联分析等方法找出网络中的异常流量。
2007 年金爽应用 NetFlow 数据源对网络中的安全事件进行检测[1],系统强调时效性,用于实时的安全检测。2009 年李润恒、贾焰等人提出了频繁密度的概念,通过计算网络异常事件发生的时间间隔、发生频度,对安全事件进行检测[2].2011 年臧天宁提出了僵尸网络相似度的度量方法[3],通过分析僵尸网络内部通讯的数据流数量、流中数据包数量、主机通讯量和数据包负载等特征,定义特征相似度统计函数,并计算相应函数值,从而发现网络中的僵尸主机。2012 年卢强等采用深度包检测方法[4],对检测数据包应用载荷与已知特征进行模式匹配,并将系统做成模块插件的形式,方便对于新发生的异常进行分析。同年,张淑英[5]等采用关联分析的方法,结合模糊综合评价来遍历模糊矩阵,并分析不同属性对于安全检测结果的影响。2013 年姚东等人以研究网络中多源日志为主的态势信息[6],提出了通过网络数据流,针对面向主机的服务请求流和应答流建立 TreeNet 树检测异常并获得态势信息的方法。
1.2.2 传统的信息安全检测方法。
传统的入侵检测方法分为两种:基于误用检测(misused-based)方法和基于异常检测[7].
基于误用检测方法需要攻击样本,通过描述每一种攻击的特殊模式来检测。该方法的查准率很高,并且可提供详细的攻击类型和说明,是目前入侵检测商业产品中使用的主要方法。
然而经过长时间的研究和应用,该方法也暴露出一定的弱点,由于基于特征的入侵检测系统是依靠人为的预先设定报警规则来实现,所以在面对不断变化的网络攻击时有其本身固有的缺陷,比如,利用这种方法时需要维护一个昂贵的攻击模式库、只能检测已知的攻击等。另一方面,攻击者可以通过修改自己的攻击特征模式来隐藏自己的行为,而且有些攻击方法根本没有特定的攻击模式[8].
基于异常检测方法主要针对解决误用检测方法所面临的问题。
这两类方法都存在如下问题:
(a)可扩展性较差由于现有的异常检测系统大多采用一种或几种单一的网络特征向量作为学习和判断的依据,对网络流量的异常描述较为单薄;(b)在入侵检测系统协同运行中网络特征向量选取得较少就可能会影响检测系统的可扩展性,基于会话的保存状态信息的异常检测方法由于现有网络流量的不断变大将逐步受到限制。因而在 DARPA1998 年总结出的判断每一个正常与异常 TCP/IP 连接的 41 个特征向量的实时使用就变得越来越难以实现目前的研究主要是利用网络中异常流量数据和日志的数据对安全事件进行检测,通过对流量数据使用统计,关联分析这些方法分离出网络中的异常流量[9].
异常检测是基于将网络流量特征向量分层划分的思想实现的。将流量特征分为两个层次:基本特征集合和组合特征集合。其中基本特征集合是实时从网络流量中提取的一些网络流量的基本特征数据,比如流量的大小、包长的信息、协议的信息、端口流量的信息、TCP 标志位的信息等。这些基本特征比较详细地描述了网络流量的运行状态组合特征集合是可以根据实际需要实时改变设置的[10].
针对某种特定的攻击行为,将涉及该攻击行为的基本特征的子集作为描述该种攻击行为的特征。比如对于 SYN FLOOD 攻击,组合特征就可以选取 sessions、平均包长、SYN 包的个数等信息。利用以往基本特征集合的数据对该种攻击行为的特征进行学习和训练,就可以实时得到该攻击行为组合特征的正常和异常模型[8].用此模型就可以实时地对网络上该种攻击行为进行检测。
1.2.3 大数据挖掘技术在网络安全领域的发展应用。
国内外的研究主要借助大数据平台的强大计算能力,配合云计算编程对安全事件进行分析。
网络安全分析主要是集中于安全日志和流量的分析,还会辅助一些资产,漏洞,用户行为,业务行为等信息做关联分析。基于流量的分析应用范围包括僵尸木马蠕虫病毒的监测,还有异常流量的监测等等。大数据分析技术的引入的目的是在安全分析基础之上通过采集,存储和计算等框架将分散的日志和数据整合起来进行处理分析。同时通过关联分析对大量安全信息数据进行关联,组合分析[11].
为了高速采集海量数据本文使用 flume 框架,通过分布式采集来实现百兆流量的镜像方式。用来实现流量数据的数据采集。
在存储方面,由于安全数据的数量和种类的繁多,所以对于不用类型和用途的数据我们采用不同的存储方式。主要包括为:
(1)可以采用 hbase,gbase 列式存储来检索和查询原始日志,这种快速索引的特点,可以快速响应安全数据的查询。
(2)用 hadoop 等分布式计算框架可以分散在各个节点的流量数据进行定制化 mapreduce规则对安全数据进行分析。
(3)对于实时的分析数据,我们采用 spark,storm 等框架,对实时事件进行关联分析,最后将分析结果存储到 hdfs 中去[12].在安全数据检索方面我们采用 mapreduce 的计算框架,对分布在不同计算节点请求数据查询。
对于安全数据实时分析方面,我们可以使用 storm 或者 spark 等流式计算框架,通 hdfs分布式存储结合数据抽取,数据挖掘技术进行离线分析。
2011 年,杨锋提出云计算大数据平台作为基础的深度包探测技术[13],研究如何在云计算大数据平台引入深度包检测技术,提出了在云计算与深度包检测系统结合的系统框架。2013年乔鸿欣等使用 SVM、KNN、朴素贝叶斯等算法,应用在 Hadoop 平台上用来检测 DDoS 攻击[14].2013 年陈吉荣等人提出使用 Hadoop 生态圈中的大数据分析方法解决方案[15],在大数据平台上架设传统的信息安全监测部件,增强了异常检测的计算能力,为深层次的数据包分析提供了技术基础。
1.3 本文主要工作。
本文主要工作:
(1)设计了基于云平台的网络安全分析平台。
(2)在 spark 平台上实现了基于贝叶斯分类器的 DDoS 检测方法。
(3)在 spark 平台上实现了基于 cart 决策树的 DDoS 检测方法。
(4)对上述网络安全检测方法进行实验测试,验证其有效性。
1.4 论文的组织结构。
本文总共有五个章节,具体的组织结构如下:
第一章节绪论,主要阐述了信息安全事件检测国内外研究现状,指出了传统信息安全检测技术存在的一定的缺陷,提出了大数据技术在信息安全领域的发展与可行性。
第二章节相关技术,主要详细阐述了 DDoS 攻击原理以及常见的 DDoS 攻击,大数据相关技术,如 hadoop 生态圈,spark 集群以及 sparkmllib 机器学习库技术,数据挖掘分类算法,大数据技术在异常流量检测的应用与优势。
第三章节主要讲述了大数据安全分析平台的架构设计,从数据采集层,数据存储层,数据计算层三层进行详细阐述,将三个层所需要的大数据技术详细的进行了描述。
第四章节在 spark 平台上实现基于 cart 和 naivebayes 算法对 darknet 数据集进行检测,并且与传统的网络入侵检测系统进行检测异常攻击的性能对比,最后分别采用 darknet 数据集和kdd99 的 10%数据集进行试验。观察并且分析试验结果。
第五章节进行总结与展望。