基于机器学习的DDoS攻击检测关键技术研究
2021-03-07方友志谭坤淋
◆方友志 谭坤淋
(重庆对外经贸学院 重庆 401520)
本文以DDoS攻击的检测模型为基础提出一种集成学习分布式检测框架,能够针对DDoS攻击流量特点进行检测方法的研究和分析。这种框架对流量采用了分布式的采集存储技术,同时可以对数据进行实时清洗,能够满足对DDoS攻击检测的精准性与及时性等要求。结合大数据技术框架而建立的DDoS攻击检测系统使用了Gopacket、Libpcap 等工具构建出分布式流量采集传感器,能够对互联网中的流量进行随时的采集,采用Spark Streaming 来构建提取流量特征的模块,提取多维度特征时则采用TCP/IP 的网络编程模式与DDoS攻击流量数据包相结合的方式,检测算法方面采用了分布式森林检测算法来对Spark 所构建出的DDoS攻击检测模型进行检测,这样能够最大限度的满足对大数据流量实时检测的需求。
1 机器学习概述
机器学习属于人工智能中的一个分支,人工智能的脉络是从推理到感知到学习,机器学习是通过让机器进行学习来实现人工智能解决问题的一种方式。机器学习作为一门交叉学科,涉及了多个学科,其中包含统计学、概率论、算法复杂度理论以及逼近论等。通过运用机器学习理论对计算机提供训练,即通过训练能够让计算机系统地学到新的知识以及技能,进而可以对数据进行分类和预测。机器学习具有优秀的分类能力和预测能力,能够广泛应用在信息安全领域当中,目前我国应用机器学习算法的领域有决策树、神经网络、支持向量机以及贝叶斯分类等算法。
2 DDoS攻击原理
DDoS攻击即分布式拒绝服务攻击,DDoS 通过控制网络上的僵尸主机来产生大量的流量,通过大规模的数据流向来攻击主机,最终达到消耗主机网络带宽以及系统资源,从而让主机无法继续正常工作的目的。DDoS 的攻击主要分为两种,即攻击网络带宽资源以及攻击系统资源两种:
2.1 攻击网络带宽资源
互联网是由大量终端设备连接形成的网络,想要获取某一台服务器上的信息内容,则需要将请求的数据指令通过特定的路径传递过去,在传递的过程中需要经过许多不同的网络涉笔。现阶段我国的路由器、服务器以及交换机的数据包解析能力和网络带宽是有限的,因此当大量的数据包向某一网络进行发送时,就会造成网络堵塞的情况,无法进行正常的功能运行。DDoS攻击就是利用了这一个特点,产生大量无用的数据包来占领网络设备以及途径的带宽,继而造成主机面对合法请求的时候无法进行正常的响应,进而拒绝服务。DDoS网络带宽资源攻击也能包含两种,即直接洪水攻击与反射放大攻击。
2.1.1 直接洪水攻击
这种攻击的原理是控制大量的僵尸主机来产生大量无效数据包,发送给被攻击的网络或者主机,这样能够对其网络带宽资源进行消耗。应用最广的直接洪水攻击为ICMP 以及UDP 两种洪水攻击模式。
2.1.2 反射放大攻击
直接洪水攻击,操作简单但效果并不理想,并且极易被查出攻击源头。反射放大攻击能够有效弥补这两项缺点。利用路由器以及服务器等设备对请求所产生的响应进行DDoS攻击,这样不仅能够降低僵尸主机发送数据包的压力,还能够有效避免被查出来源。应用最广的反射放大攻击为ACK、DNS 两种反射攻击模式。
2.2 攻击系统资源
除网络带宽攻击外,DDoS攻击也可以对服务器的系统资源进行消耗。客户端与服务器采用TCP 协议来进行通信对话,TCP 作为通讯协议具有一定的可靠性,其连接方式按照三个阶段进行,即连接创建、数据传送以及连接终止。因TCP 在进行设计时并没有考虑到安全的问题,因此具有较多漏洞可以进行攻击。
2.2.1 TCP 洪水攻击
服务器在TCP 协议建立连接后,会在内存中单列出一块区域对TCP 的链接信息进行保存,但连接过多就会对服务器内存资源造成大量的消耗,超过一定的内存后就会无法继续建立连接。TCP 的洪水攻击采用的是消耗连接数的原理,让被攻击目标的服务器无法进行新连接的建立。
2.2.2 SYN 洪水攻击
TCP 连接三阶段中,客户端如果没有对服务器所反馈的报文回应,服务器就会在一定时间内进行多次重传,这个过程中TCP 的链接信息就会一直处于保存的状态。SYN 洪水攻击能够利用僵尸主机产生大量SYN 同步报文,被攻击目标受到报文后就会向伪造的IP 地址发送应答,但服务器并不会收到相对的数据包,这样就会造成被攻击服务期内产生大量的无效连接,服务器的内存资源会被大量的消耗和攻击。
3 DDoS 检测模型分析
网络安全领域近几年的研究难点与热点始终是DDoS,但目前仍然没有较为统一的方法来对DDoS攻击进行有效的防御。DDoS 的攻击检测能够快速识别出DDoS 的攻击流量并且发出警告,是DDoS攻击防御的起始步骤,在整个攻击防御的体系当中具有相当重要的意义。我国对DDoS攻击检测技术的研究主要集中在收集并且分析网络中的大量流量数据来检测有可能出现的攻击情况,根据检测模型的验证结果能够分为误用检测以及异常检测两种情况。
3.1 误用检测
误用检测指的是通过收集、检测流量中的签名或者已经确定的攻击模式来进行攻击检测,这种检测模型需要建立起专属DDoS 的攻击特征数据库,将采集的流量与数据库中的特征进行匹配,最后得出结论。误用检测模型更加适合应用具有较为明显攻击特征的DDoS攻击的检测当中,例如一些针对系统漏洞的攻击。但现阶段的攻击流量已经逐渐向正常流量靠拢,特征不再明显,因此使用误用检测无法检测出许多类型的DDoS 检测。
3.2 异常检测
异常检测模型作为目前应用最为广泛的模型,其原理在于流量模型是建立在正常情况范围中并对网络进行实时监测,发生DDoS攻击时网络中就会出现偏离正常流量的现象,这样就能够判断是否出现了攻击。这样的检测形式更加独立,并且不需要依赖DDoS攻击特征,能够更好地识别一些未知的攻击情况。但引发网络异常的影响因素较多,未必都是DDoS攻击,也有可能是其他的情况,因此这项模型很容易出现误报的情况。
这两种检测模型各自具有自身的优缺点,可以说误用检测模型的检测效率较高,但对未知攻击无法进行有效识别,异常检测模型能够识别异常攻击,但精准度不高。有专家学者认为可以将这两种模型的优点结合在一起,因此提出了综合检测模型的理论。检测方法方面可以采用基于统计分析方法、基于深入学习、基于传统机器学习算法、基于知识方法以及多种方法混合的检测方法。
4 DDoS攻击检测方法
基于统计学的检测方法主要通过对比正常状态下的流量与攻击状态的流量来检测DDoS攻击。出现DDoS攻击时,流量会出现猛增的现象。但网络的正常状态下无法直接获得流量总值,所以需要通过统计的方法来对流量值进行比较进而判断是否存在DDoS攻击。通常采用的方法为:
(1)机器学习检测法:即对某件事发生的概率进行总结,进而预测这件事是否会发生。在进行DDoS攻击检测时,这项检测方法将检测问题进行多种分类,打造出可以自我学习的攻击检测模型,经过不断的学习和训练,进而判断数据的正常与否。
(2)根据请求页面大偏差值统计进行检测,这种方法主要用来判断用户所访问的网站是否为高频网站,出现攻击时,攻击者通常会采用随机任意请求网页,这样就可以采用概率分布来进行全面检测。
5 结束语
综上所述,互联网技术随着信息时代的发展,已经潜移默化的融入各行各业当中,网络的安全技术却始终落后于互联网的发展进度,这样就让网络安全问题成为互联网技术发展的最大问题。DDoS攻击在众多网络攻击方式中具有最大的杀伤力,能够直接导致企业或者组织的计算机出现大面积瘫痪的情况,服务功能在很长一段时间内无法使用,进而造成无法挽回的损失。采用DDoS 检测系统能够有效的对正常流量中的攻击流量进行检测盒过滤,采用大数据技术对攻击IP 进行追踪分析能够寻找到规律,以及活动范围进而提升对攻击流量清洗的精准度,因此研发一套可靠的DDoS攻击检测系统对我国网络安全有着至关重要的意义。