韩长江,丁俊芳
(武警后勤学院,天津 300162)
物联网的急速发展推动了全球信息化的进程。据研究机构预估,物联网设备的数量预计将从2017年的80亿增长到2020年的200亿。遗憾的是,开发人员在设计IoT设备时很少考虑安全策略问题,导致物联网成为黑客攻击的重灾区,其中以DDoS最难防御。DDoS攻击的主要目的是耗尽特定主机的计算资源或带宽资源,使其无法为正常用户提供服务。
DoS(拒绝服务攻击)作为DDoS的前身,通过消耗资源进行带宽压制,但这种攻击方式已被淘汰。黑客们借助数量众多的僵尸主机同时对特定目标发起分布式DoS攻击,即为DDoS攻击。DDoS破坏性更强,范围更广,防御难度更大。
DDoS的攻击模型简介。黑客通过系统或程序等的漏洞控制僵尸主机,通过攻击控制机操控傀儡机对目标主机发送大量的垃圾服务请求,进而消耗目标主机的带宽或计算能力,导致目标主机的带宽消耗殆尽或计算过载。由于物联网设备的大量兴起,目前僵尸主机中物联网设备已经占据了相当大的比例。
根据攻击手段的不同,DDoS 可分为三类。一是带宽耗尽型攻击。使用海量数据堵塞IDC入口,使目标主机的硬件防御系统和快速高效应急流程失效,典型代表是ICMP Flood,现已不常见。二是漏洞碰撞式攻击。以技术取胜,攻击源在数分钟内仅发一个数据包,就可以使目标主机拒绝服务。此攻击是利用技术漏洞作为攻击点,如Slowloris方式。三是混合攻击,即将上述两种攻击手段混合使用,既利用了系统设计的缺陷,又具备了DDoS流量要求。图1为SYN流[1]攻击,是当前的主流攻击方式。
典型的DDoS攻击包括SYN流、UDP攻击、HTTP Flood攻击以及慢速连接攻击等。SYN Flood是目前最经典的DDoS攻击方式。TCP协议中,开发人员设计了三次握手机制,SYN Flood利用TCP三次握手协议中存在的缺陷,以很小的资源消耗使目标服务器陷入低效循环。另一种攻击手段是DNS Query Flood,指攻击者操纵数量众多的僵尸主机,对目标发起数量巨大的查询请求。HTTP Flood攻击攻击者不需要大批量的僵尸主机,只需通过端口扫描软件寻找匿名的HTTP代理,然后通过匿名代理对目标主机发起非法HTTP请求。
随着硬件技术的急速发展,物联网DDoS攻击出现的次数呈指数型增长。目前,学界针对物联网DDoS恶意流量检测的主要方法是实时网络监控。当物联网僵尸设备发起DDoS攻击时,即启动攻击流量清洗设备,屏蔽DDoS攻击源的主机IP,避免网络侵害,达到防御的目的。此过程可以概括为以下几点:一是在边缘节点或雾节点等中继节点上利用检测算法确定源头IP地址是否合法,并建立黑名单共享机制;二是基于信息论、大数据统计等方法,根据网络数据流量的变化实时监测网络;三是在中继节点(路由器等)中建立映射表,通过对比来确定当前网络是否有DDoS攻击行为。下面对几种典型的检测方法进行介绍。
YEGN V等提出了一种网络入侵检测方法。该方法基于支持向量机算法,误报率较低,但系统训练模型单一,没有涵盖普通网络流量数据集,应变能力较弱。
李传煌等人[2]曾将机器学习与DDoS检测手段相匹配,使用神经网络方法直接对网络流量进行检测,具有较高的精确度。
刘玉洁[3]等人提出了一种基于反馈神经网络的入侵检测系统,使用一种基于Jordan神经网络的算法,借助反馈神经网络提取描述攻击模式的特征并进行规则推导,然后用神经网络建立的规则集进行入侵检测,证明了反馈神经网络在入侵检测领域的出色表现。
杨天奇等人[4]描述了一种基于最小二乘估计(LS)模型的入侵检测算法,利用神经网络的特点,具有从先前观测到的行为进行概括进而判断将来可能发生的行为的能力。
Doshi R等人基于物联网设备的网络流量与普通网络流量的区别,选择使用人工神经网络对物联网恶意流量进行识别。实验中使用了5种算法进行了测试,即K近邻、支持向量机、决策树、随机森林和人工神经网络,结果表明人工神经网络的识别率高于其他算法。
肖甫等人[5]提出了一种在SDN环境下基于KNN算法的模块化DDoS攻击检测方法,选取SDN网络的5个关键流量特征,采用优化的KNN算法对选取的流量特征进行流量异常检测,结果表明该方案在识别率和误报率方面更优秀。
李传煌等人[6]提出了一种基于SDN的深度学习混合模型的DDoS攻击检测方法——DCNN-DSAE。该方法在构建深度学习模型时,输入特征除了从数据平面提取的21个不同类型的字段外,同时设计了能够区分流类型的5个额外流表特征。结果表明,该方法具有较高的精确度。
夏彬等人[7]提出了一种SDN中基于Renyi熵的DDoS攻击检测和回溯算法。与同类算法相比,该算法利用SDN的集中性控制简化了统计信息的采集过程,通过计算网络中的Renyi熵,可以高效检测出DDoS攻击且消耗较少的系统资源,并且尽可能回溯攻击源头。
Mousavi等[8]提出了一种基于SDN控制器通过计算熵值检测DDoS攻击的入侵检测系统。该入侵检测系统的检测精度取决于熵的阈值,然而阈值的选择是通过调整参数大小的实验得到的,无法确保可靠性。
Jadidi等提出了一种基于网络数据流的异常检测系统,主要采用基于多层感知器和重力的搜索算法。该系统对多向量组合攻击类型的数据流区分度识别率不高。
Trung等人结合硬检测阈值和模糊推理系统,根据正常和攻击状态下的实际流量特征检测DDoS攻击,但只考虑了分布时间、每个流的数据分组数量及分配到服务器的流量等几个特征,特征信息量不足。
郝志宇等人[9]提出了一种基于相似度的DDoS异常检测系统,使用相似度作为测度,通过与正常情况时的比较,可以及时准确地发现DDoS攻击引起的异常。这种方案无法应对多向量DDoS攻击,且应变能力较差。
今后DDoS攻击和防御仍然会处于相持状态,建立高效全面的防御体系仍是科研人员关注的重点领域。同时,以雾计算、云计算、软件定义网络以及大数据技术等为代表的新兴技术,为DDoS防御体系的构建带来了新的机遇。目前,基于雾计算平台和区块链以太坊智能合约机制的DDoS检测技术出现。雾计算平台是介于云计算和边缘计算之间的计算机制,由于其能够有效解决边缘结算设备计算能力薄弱和云计算带宽消耗过大等问题,得到了学者的广泛重视。未来需要详尽测试及优化方案的大规模部署及部署的性能问题,从而提高方案的大规模可用性。