基于区块链的防护物联网设备DDoS攻击方法

2019-04-12 06:09周启惠邓祖强王秋生李艳东姜海森
应用科学学报 2019年2期
关键词:边缘预警区块

周启惠,邓祖强,邹 萍,王秋生,李艳东,姜海森

1.中国科学院信息工程研究所网络与系统安全实验室,北京100093

2.北京航天智造科技发展有限公司,北京100039

3.南瑞集团公司(国家电网电力研究院),北京102200

通常在物联网智能设备系统设计中会忽略安全问题,因此黑客可以轻易将设备安全漏洞作为传统网络攻击的新工具(如Mirai、Aidra等恶意代码感染智能设备)并发动分布拒绝服务攻击(distributed denial of service,DDoS)造成目标拒绝服务和相关服务下线[1]等严重后果.针对这类DDoS攻击,一般检测防御方法是在被攻击目标处部署,但较高的数据包到达速率及连接上下文的缺失使目标处的部署方案只能进行有限的统计分析和数据包处理.另外,部署在目标处的防御方案在检测到DDoS后无法立即区分正常流量与恶意流量,需要将所有的流量引流到其他网段进行流量清洗,在引流的过程中容易造成网络的堵塞.

为了克服目标处检测DDoS的缺陷,考虑在源头处实施检测防御方案,即在源头处对流量进行检测并过滤恶意流量.但针对DDoS的源端检测方案很少,主要原因是以往的DDoS主要以PC作为跳板机,而PC端的流量比较复杂.从源端区分正常流量与恶意DDoS流量是很困难的,而物联网设备因功能的专一性导致其流量特征的专一性,使源端检测物联网设备的DDoS流量成为可能.为了对被攻击设备的流量进行高时效性检测,利用边缘计算的思想,由靠近物联网设备的边缘节点设备对其下辖的物联网设备进行流量的异常检测,检测结果可分为正常连接和疑似DDoS异常连接两类.因为DDoS攻击涉及大量设备,单个边缘节点提交的疑似DDoS异常一般只包含其下辖的设备发起的异常,数量较少,所以需要对疑似DDoS异常连接进行整合分析,基于整合后的大批量疑似异常连接进行分析以实现DDoS预警,从而进一步确认DDoS异常连接并触发源端的过滤机制.边缘计算是在网络边缘执行计算的一种新型计算模型[2],其目的是利用边缘设备已有的计算能力将部分计算任务从云中心迁移到边缘设备端执行,从而降低云计算中心的计算负载[2-3].

为实现上述方案,需要解决几个关键问题:1)如何在边缘节点对物联网设备进行异常连接检测并在源端部署检测方案.因为攻击流量很小容易被漏检,而且从源端的视角看异常DDoS流量与普通流量很相似容易误报,所以如何针对物联网设备在源端进行DDoS异常检测是有难度的.2)如何实现疑似DDoS异常检测结果的整合分析,传统的云端汇总分析方案存在单点攻击的风险,于是考虑采用去中心化的边缘节点数据自治共享分析方案,但现有的分布式方案及一致性算法都无法同时保证数据共享过程中节点存储数据的一致性、节点数据记录的不可篡改性、提交数据节点的匿名性.3)如何保证源端部署检测防御方案的合规性,对物联网设备采取的干预措施容易遭到用户的抵触.4)如何保障方案的合规性.针对以上问题,对于边缘节点对物联网设备的DDoS异常检测,首先充分调研分析了现有物联网设备自身的流量特点,然后综合分析了DDoS流量特点,利用协议特征匹配以及聚类分析算法对物联网设备的流量进行疑似DDoS检测;针对疑似DDoS异常检测结果的整合分析,用区块链[4-5]实现节点间安全可信的数据共享分析,建立包含众多边缘节点的区块链架构,因为区块链作为一种新型的分布式架构可同时满足关键问题2)中提到的共享要求;针对如何保证源端部署检测防御方案的合规性,引入了经济学因素,通过设立奖励机制让用户能接受对物联网设备采取的措施.建立了一套从DDoS攻击受害者到异常结果提交者之间的奖励机制.

1 方法总体介绍

方案整体架构如图1所示.众多边缘节点组成区块链网络,以便对其下辖的物联网设备进行异常初步检测,目标为物联网设备发起的疑似DDoS异常连接;接着由边缘节点将初步检测结果提交到区块链上,实现疑似DDoS异常连接的共享;然后基于共享后的疑似异常连接集合并通过执行智能合约中的分析代码分析出针对某目标IP的DDoS预警.目标IP确认预警,发送奖励给对应的边缘节点,收到奖励后边缘节点基于本地新增的DDoS预警,触发过滤机制对物联网设备发起的DDoS连接进行过滤.为实现上述方案,需要解决3个关键问题及对应的解决方法如下:

图1 方案整体架构图Figure 1 Overall architecture of the scheme

问题1 边缘节点处针对物联网设备进行DDoS异常检测

检测重点是物联网设备发生的DDoS异常,通过对常见DDoS的流量特征进行分析,将DDoS异常流量归为两大类:

1)可以直接利用协议特征来判定(如SYN FLOOD),可以检测物联网设备有没有完成基于3次握手的TCP连接初始化.未完成3次握手的连接,极有可能是DDoS异常流量.物联网设备的TCP连接数相对较少,为在源端进行3次握手的检测提供了便利条件.

2)没有明显协议特征区分的(如UDP FLOOD),检测的难度正是由这类攻击所导致.被控制的物联网设备向目标受害者发出的UDP连接与普通的UDP连接在协议特征上没有任何区别,无法直接判定.为了检测这类异常,本文充分利用了物联网设备的特性.一般来说,物联网设备业务功能单一且固定,因此其联网特征尤其是数据包内容也是有规律的,实际测试了多个物联网设备正常使用的流量印证了该结论.通过对历史正常UDP数据包的内容进行聚类分析得出具有特征的几类簇,将实时捕获的UDP流量与这几类簇的聚类中心进行相似度匹配,据此判断异常.

问题2 如何实现初步检测得到的疑似DDoS异常连接的整合分析

在传统的边缘计算方案中,数据的整合分析仍借助于云端,即边缘节点将初步检测结果汇总到云端.云端作为所有信息的汇总分析中心,若出现宕机则整个方案失效.在现有的中心化架构下无法解决上述单点攻击问题,故考虑不借助云端,而由边缘节点自身实现初步检测结果的分布式共享分析.节点之间互不信任且的确有存在恶意节点的可能,因此要实现节点间安全可信的共享分析,需要保证以下几点:

1)一致性.存在恶意节点时,各节点仍能正确记录其他节点提交的数据,达成各节点存储数据的一致.

2)不可篡改性.已经被各节点认可的记录不可以被篡改.

3)匿名性.节点不希望攻击者依据提交的信息推测节点的行为活动,而应保证提交数据节点的匿名性.

传统的分布式方案和一致性算法都无法同时满足上述要求.本文基于区块链实现节点间安全可信的数据共享分析,是因为区块链作为一种新型的分布式架构可同时满足上述要求.首先,区块链各节点通过一致性算法达到一致性的需求;其次,区块链以链式区块存储节点的行为日志,区块间形成链式结构及区块链的分布式账本机制可实现不可篡改性;最后,区块链可以综合利用密码学相关知识,如在每一次提交结果时都使用不同的证书实现匿名性.因此,将所有边缘节点组成区块链网络并编写运行在区块链上的智能合约,实现边缘节点自治的数据共享分析.

问题3 如何保证源端部署检测防御方案的合规性

本文引入经济学因素,通过设立奖励机制让用户能接受对其物联网设备采取的措施.建立一套从DDoS攻击受害者到异常结果提交者间的奖励机制,DDoS攻击受害者因收到DDoS预警而避免损失,所以他们提供奖励,与本次预警相对应的异常结果提交者会收到该奖励.双方都要保证奖励过程的公开透明可验证,可借助区块链的智能合约机制实现,将奖励规则编写在智能合约中,从而保证整个过程对所有节点都是公开透明的,奖励分发的过程可以依据奖励规则进行验证.

2 设计与实现

2.1 异常初步检测

边缘节点疑似DDoS异常初步检测是指在边缘节点对物联网设备发起的连接进行初步检测,得到疑似DDoS异常连接.物联网设备对外的流量即联网特征具有特定规律,有助于设计针对物联网设备的DDoS异常检测方案.本文首先基于实验结果分析物联网设备的联网特征,然后根据上述特征阐述疑似DDoS异常检测方案的设计.

2.1.1 物联网设备联网特征

物联网设备一般都具有专有的业务功能,其流量不同于PC端复杂多变,有利于从物联网设备的流量中可归纳出特定规律.为印证上述结论,本文实际测试了8类共30个物联网设备的对外流量,如表1所示.按照正常使用习惯实际使用表中所有设备,并利用WireShark抓包工具捕获设备的流量.

通过分析捕获到的流量数据包,可得出有关物联网设备的流量特征如下:

1)物联网设备由于业务单一,每个设备都有其独特的流量特征.如摄像机中,除少量的TCP连接(信息认证)外,大部分是UDP连接(传送视频数据);如智能机器人及智能音箱的流量绝大部分是TCP连接.

2)连接涉及到的外网IP较少,一般不超过10个;不同TCP的连接总数较少,一般不超过10条.

3)所使用的协议大部分是TCP、UDP,掺杂少量的ICMP及应用层协议.

4)基于数据包中传输的业务数据内容,可归纳出的数据特征集合的大小是确定的.

表1 物联网设备测试Table 1 Test of IoT devices

2.1.2 基于联网特征的物联网设备疑似DDoS异常检测

边缘节点处针对物联网设备进行疑似DDoS异常检测主要步骤如下:

步骤1 边缘节点利用Wireshark工具捕获物联网设备的对外流量;

步骤2 分析捕获流量中每条连接,判断是否具有包括TCP 3次握手未完成、伪造源IP在内的明显DDoS攻击特征;若具有明显攻击特征,则当前连接为疑似DDoS异常,否则进行下一步分析.

步骤3 假定边缘节点已具有每个物联网设备正常运转3天的全部流量,利用聚类算法对历史流量的数据包内容进行聚类分析,形成如下的协议–特征簇:〈TCP,{簇1,簇2,簇3………………………………}〉、〈UDP,{簇 1,簇 2,簇 3………………………………}〉、〈HTTP,{簇 1,簇 2,簇 3………………………………}〉. 首先判断实时捕获流量中的连接协议类型,根据连接协议类型匹配到上述协议–特征簇,用连接数据包内容与特征簇进行相似度匹配,若匹配程度低于设定的阈值,则当前连接为疑似DDoS异常连接,否则当前连接为正常连接.

2.2 异常汇总分析

2.2.1 疑似DDoS异常共享汇总

边缘节点初步检测得到的只是疑似DDoS异常连接,为进一步确认则需将边缘节点的初步检测结果进行整合分析,即边缘节点间疑似DDoS异常的共享.本文的方案利用区块链实现共享,建立由众多边缘节点组成的区块链,通过调用运行在区块链上的智能合约,并基于区块链共识机制实现边缘节点间初步检测结果共享,使各边缘节点存储相同的共享后疑似DDoS异常连接数据集合.

在智能合约中定义疑似DDoS异常连接数据集合RConn,对RConn定义查询、添加等方法,其中单条异常连接数据格式如表2所示.边缘节点调用合约中RConn的添加方法发起添加请求并广播到全网.其他边缘节点收到广播后,对添加请求进行验证,即验证请求提交者的数字签名及添加请求的数据格式等.若验证通过,则节点更新自己本地的RConn,将验证通过的疑似DDoS异常连接信息添加到本地存储的RConn,实现边缘节点间初步检测得到的疑似DDoS异常连接的共享;若验证不通过,则不更新自己本地RConn;各边缘节点按此进行集合的更新,使每个边缘节点都存储一份相同的共享后疑似DDoS异常连接数据集合.

图2 疑似DDoS异常检测流程图Figure 2 Flow chart of suspected DDoS anomaly detection

表2 异常连接数据格式Table 2 Data format of abnormal connection

2.2.2 DDoS预警分析

分析边缘节点对共享后的RConn调用智能合约得出DDoS预警信息,并将DDoS预警信息广播到其他边缘节点.其他边缘节点通过共识实现DDoS预警信息的本地存储,基于共享后的RConn进行DDoS预警分析实现步骤如下:

步骤1 在智能合约中对RConn定义分析方法,然后定义DDoS预警数据集合RDDoS,对该数据集合定义查询、添加等方法;边缘节点通过调用RConn的分析方法得出DDoS预警信息,如针对某目标IP的DDoS预警:〈目标IP,异常连接1,异常连接2,异常连接3,………………………………〉,并对DDoS预警信息进行数字签名,广播到全网.

图3 疑似DDoS异常共享Figure 3 Suspected DDoS anomaly share

其中智能合约中RConn的分析方法具体实施如下:

1)读取边缘节点存储的RConn并对其进行相应的预处理操作;

2)计算经过预处理后的RConn中针对某目标IP每秒钟发生疑似DDoS异常连接的次数,即发生速率;

3)如果发生速率超过阈值,则判断为发生针对某目标IP的DDoS攻击,生成一条新的DDoS预警数据.

步骤2 新生成的DDoS预警数据被广播至全网,其他边缘节点收到广播后对步骤1中的DDoS预警进行验证.首先验证提交DDoS预警的边缘节点的数字签名;签名验证通过后,验证DDoS预警数据的真实性,即模拟执行智能合约中RConn的分析方法,判断与收到的DDoS预警数据是否一致;若数字签名和DDoS预警数据的真实性皆验证通过,则将该条DDoS预警数据添加至本地的DDoS预警数据集合RDDoS,实现RDDoS的本地更新;若验证不通过,则不添加至本地的RDDoS.

2.3 异常过滤

边缘节点异常连接过滤基于本地新增加的DDoS预警信息,边缘节点一旦收到DDoS攻击受害者发布的奖励就会触发过滤机制对物联网设备发起的DDoS连接进行过滤.

奖励机制采用积分形式实现,在智能合约中定义积分的转移规则,DDoS攻击受害者在确认针对自身的DDoS预警后,会通过调用智能合约实现奖励的发放,即转移一定量的积分给提交有用异常连接信息的边缘节点.边缘节点在收到奖励后,首先查询RDDoS得到DDoS预警〈目标IP,异常连接1,异常连接2,异常连接3,………………………………〉中的异常连接标识,然后查询RConn得到异常连接的详细信息,从而定位发出异常连接的物联网设备,并对涉及的恶意物联网设备的异常连接进行过滤.

图4 DDoS预警分析Figure 4 DDoS warning analysis

图5 基于奖励机制的异常连接过滤Figure 5 Abnormal connection filtering based on reward mechanism

3 测评分析

3.1 仿真实验验证

对本文提出的基于区块链的防护物联网设备DDoS攻击方法进行仿真验证,搭建了15个边缘节点,每个边缘节点下辖3~4个物联网设备.物联网设备中一半设备被提前植入了Mirai恶意代码,边缘节点采用ubuntu 16.04系统,将所有边缘节点组成区块链网络,所需的智能合约部署到区块链网络中.另外,指定一台主机作为DDoS攻击目标,将这台主机的IP作为参数指定给物联网设备中的Miria恶意代码.由于本实验中涉及的物联网设备数量较少,所以设置基于汇总后的疑似DDoS异常进行分析时的阈值相对较低.实验结果表明,本文方法既可以成功检测到针对目标主机的这次DDoS攻击,又能定位到发起DDoS攻击的物联网设备,还能过滤掉被感染物联网设备发往目标主机的连接,阻止DDoS继续.

3.2 综合对比分析

从防御类型、防御能力、防御成本等方面对比本文方案与现有流行的抗DDoS方案,结果如表3所示.从防御类型上来说,本文方案与现有抗DDoS方案都能防御现有各类DDoS攻击;但从防御能力上来说,现有的抗DDoS方案采用目标端防御,本文方案则因采用源端的分布式的监测过滤可以起到“防微杜渐”的效果,在检测到DDoS攻击发生时,就在攻击发起的源端进行持续过滤,阻断后续的恶意连接使恶意总流量不再上涨;从防御成本来说,现有的抗DDoS方案需要额外的流量引流通路以及流量清洗设备,成本较高,而本文方案不需要上述通路设备,成本相对较低.

表3 防范DDoS总体评价对比Table 3 Overall comparative evaluation of Anti-DDoS system

本文方案也存在问一些题有待改进和优化.首先,方案的大规模部署取决于现有的边缘节点设备(如路由器),且目前只有性能较好的路由器才能支持区块链的运行.因此,想要实现方案的大规模部署,需要对区块链本身进行优化,降低其对资源的高要求,从而涵盖更多性能一般的边缘设备.其次,方案大规模部署时的性能问题,因实验资源受限,仿真实验规模小,虽然可以验证方案的可行性和有效性,但仿真实验中物联网设备的数量以及DDoS攻击的流量,与现实中的DDoS攻击存在较大差距,未来需要借助大规模测试工具得出方案的性能,从而证明方案的大规模可用性.

4 相关工作

DDoS防御始终是网络安全领域研究的热点之一[10].文献[11]利用Netflow协议收集有关网络流量的数据,并利用新数据重新自我学习检测模型的方式进行DDoS攻击检测.文献[12]提出分布式协调监控数据流系统DCM,引入SDN在数据交换面实现自定义的动态检测.上述方案都属于目标端监测防御,传统的目标端检测防御DDoS方法[13-16]存在时效性低、成本高、易造成网络阻塞等缺点.研究人员考虑在源端部署检测DDoS方案,由GILTM等提出的MULTOPS方案,在每个网络设备源端处都维护一个数据结构MULTOPS,通过监控受害者或攻击者的数据包速率差异来检测攻击.由MIRKOVIC J等提出的D-WARD源端DDoS防御系统[9],通过统计数据收集和分析可实现自主攻击检测以及准确响应过滤非法流量.源端检测能够在源端及早地阻止攻击行为,从而避免造成过多的资源浪费,但上述方案都是针对PC端流量特点设计的,并不适用于物联网设备.

随着网络分布式计算的发展,DDoS攻击检测方面的研究思路逐渐从集中式单点检测向分布式检测方案转变[17].后者更符合DDoS攻击的分布式特点,并逐渐成为应对DDoS攻击的最有效方案之一.区块链技术作为一种新型的分布式技术开始考虑被应用到防范DDoS攻击中.

文献[18]提出了基于区块链技术的网络DDoS联合防御方法,通过在以太坊上开发智能合约,实现跨组织的攻击者名单更新和查询以及信息共享.但该方案仅用区块链实现攻击者名单的共享,并未将区块链技术用于DDoS攻击的检测.文献[19]基于联合区块链以及由文献[20-22]提出的LB ScoreGuard模型,用去中心化的思路提出DDoS防御云网络模型,将传统防火墙的特征库和更新中心去除,改用区块链技术对DDoS数据包特征和标记结果进行分布式的存储和共享,但该方案缺少实验验证或模拟验证.本文方案将区块链用于DDoS的整个检测防御流程,并且进行了仿真实验验证,证明了区块链技术对实现DDoS早期、高精确度防御的重要作用.

5 结语

本文针对利用物联网设备发起的DDoS攻击,提出了一种基于边缘计算和区块链的检测防御架构,在边缘节点处针对物联网设备进行疑似DDoS异常检测,并利用区块链实现初步检测结果的共享分析得出DDoS预警,最终基于奖励机制实现源端物联网设备发出的DDoS连接过滤.本方案的检测和防御分布式部署在攻击源端,可避免引流造成的高额成本和网络阻塞,并且可做到“防微杜渐”,在检测到DDoS发生之初就在源头进行持续过滤阻止流量上涨.未来需要详尽测试及优化方案的大规模部署及部署的性能问题,提高方案的大规模可用性.

猜你喜欢
边缘预警区块
区块链:一个改变未来的幽灵
区块链:主要角色和衍生应用
法国发布高温预警 严阵以待备战“史上最热周”
区块链+媒体业的N种可能
读懂区块链
园林有害生物预警与可持续控制
一张图看懂边缘计算
机载预警雷达对IFF 的干扰分析
预警个啥
在边缘寻找自我