APP下载

拟态防御下的网络流量异常检测架构

2022-08-30朱龙隆陈翰泽程灵飞周政演张栋

关键词:网络流量哈希拟态

朱龙隆,陈翰泽,程灵飞,周政演,张栋

(福州大学计算机与大数据学院,福建 福州 350108)

0 引言

随着云计算、大数据等新型服务模式的兴起,数据中心规模与日俱增,成为互联网发展的重要基础设施.与此同时,数据中心网络亦成为黑客攻击主要目标,通过注入大量垃圾流量,瘫痪数据中心,导致网络业务中断.检测和防御大规模异常流量,成为数据中心网络安全的重要课题.在网络流量异常检测中,重流(heavy hitter)[1]是意义深远的测量目标,体现为数量巨大且无用的数据包集合,占用大量网络带宽和计算资源,导致服务器瘫痪.重流隐含重要网络状态信息,通过识别重流,网络运营商可以快速发现性能异常和潜在的DDoS攻击.

目前,在数据中心广泛部署网络流量异常检测方案,包括基于每流测量、基于抽样技术和基于Sketch[1-3],周期性报告重流以期及时发现网络安全威胁.但面对数据中心网络和大规模并发流量的网络部署,基于每流测量的异常检测统计所有数据包原始信息,具有极高空间复杂度;基于抽样技术的异常检测因数据包处理速度要求与交换机内存限制,难以在精度和开销之间取得较好权衡.基于Sketch的异常检测方案为重流检测提供一种新思路,作为一种紧凑的用于流量数据统计亚线性数据结构,Sketch以线性速度压缩并记录所有数据包信息,通过查询操作获取流量统计数据,在保证可接受精度的同时极大减小内存开销.

基于Sketch的异常检测因其高效、准确、内存开销低等优势受到广泛关注,但也存在不足:首先,承载网络流量异常检测功能的设备(如数据中心内交换机、控制器等)受攻击时,基于Sketch的异常检测往往无法适应流量分布,检测精度降低;其次,基于Sketch的设计缺陷导致的漏洞难以避免,对Sketch网络流量异常检测的鲁棒性、稳定性提出更高要求.例如,算法的数据结构简单且动态性不足,在其检测机制、参数泄漏后易被针对攻击,设计缺陷被放大,导致占用过高内存或过多计算资源,无法进行准确检测,导致安全性下降.

面对多样化的网络安全问题和日新月异的攻击手段,邬江兴院士提出拟态防御理念[4].不同于静态防御、联动式防御等传统技术,拟态防御从异构、冗余思想出发,通过动态改变防御策略或更换组件,实现防御体系多样性、随机性和动态性.通过基于多模裁决的策略分发和多维动态重构负反馈控制构造,拟态防御可有效防御网络空间中的“已知风险”与“未知风险”.众多依据拟态防御技术构建的安全网络设备陆续出现,验证拟态防御有效性.将拟态防御思想引入Sketch检测,以提高异常检测鲁棒性.此外,由于不同Sketch间的差异较大,针对不同场景,通过设计相应的裁决反馈机制,实现执行体间的互补,增强Sketch异常检测方案的适应性.实验结果表明,所提架构有效增强异常检测鲁棒性.

1 相关研究

1.1 基于Sketch的异常检测

基于Sketch的异常检测使用哈希函数将数据映射到数据结构中,以牺牲微小精度为代价,将大量网络流量信息压缩到较小的存储空间.Sketch实时存储流量特征信息,并支持查询流量统计信息,包括Count-Min-Sketch[2]、LD-Sketch[1]、Elastic-Sketch[3]等.

Count-Min-Sketch数据结构如图1,通过多个相互独立的哈希函数,将数据包映射到不同行的不同桶内,记录数据包信息.查询流量大小时,返回所有相关桶内计数器值最小值.

图1 Count-Min-Sketch的数据结构Fig.1 Data-structure of Count-Min-Sketch

LD-Sketch以关联数组在桶内存储多个重流候选,动态控制关联数组长度,在尽可能小的内存开销下有效应对多重流哈希到同一个桶内的极端情况,增强鲁棒性,但易造成过高内存依赖.

Elastic-Sketch使用基于主票选算法的数组(heavy part)记录重流,Count-Min-Sketch(light part)记录其他流量信息.heavy part保留重流具体信息,light part记录的信息较简略,在可接受的空间开销下筛选出重流.heavy part采用票选算法,易出现重流候选频繁更替,导致性能抖动.

SET-CM-Sketch(Soft-Error-Tolerant-Count-Min-Sketch)[5]考虑软错误对于异常检测的影响,然而所提设计通用性较弱.SA-Sketch[6]考虑高速网络环境下Sketch的自适应能力,但对于发生不明故障、遭受攻击的情况考虑较少.

1.2 拟态防御

拟态防御主要用于网络领域,如拟态路由器、拟态交换机等.拟态防御架构由输入代理器、可重构异构执行体集、反馈控制器、输出裁决器四部分组成.可重构异构执行体集、输入代理器和反馈控制器组成拟态防御架构的多维动态重构支撑环节.执行体集由异构构件池随机抽取,受反馈控制器控制[4].在反馈控制器调度下,输入代理器将更改执行体.

输出裁决器收集各执行体输出矢量,叠加得到最终输出与裁决信息.反馈控制器根据裁决信息决定是否变更输入代理器内调度策略或插入当前执行体集.文献[7]中将异构冗余的执行体引入路由器体系架构中,并设计相应的动态调度机制,增强路由系统的鲁棒性.文献[8]设计基于拟态防御的SDN控制层安全机制,对比流表项检测恶意行为.文献[9]采用广义随机Petri网建模,通过反馈控制有效控制服务器解析时延差值.文献[10]分析多余度裁决模型的防御能力、运行效率、系统恢复,给出模型不足及改进方向.文献[11]基于动态异构冗余架构,提出适用拟态防御架构的Web服务器.

2 异构性量化与鲁棒性分析

Sketch分为:1) 基于Count-Min-Sketch衍生的[12-13];2) 基于分组测试的[14];3) 基于枚举的[15-16].

通过理论与实验,考量不同Sketch在不同异常场景下的鲁棒性,并将此作为异构性量化标准之一.结合数据结构、性能误差等因素,量化Sketch异构性,筛选足够异构执行体,组建异构执行体集.如表1所示,选取常见的七种Sketch,分析不同方案鲁棒性,量化异构性.

表1 基于Sketch方法的异构性与鲁棒性分析Tab.1 Heterogeneity and robustness analysis of Sketch-based methods

在包速率过快场景下,CM-Heap[2]和MV-Sketch[12]依靠高效插入操作保持较高性能;Space-Saving[17]因大量指针操作,运行速率低;Group-Testing[14]进行常数次哈希操作,但插入时需二进制转换与插入,查询时遍历桶中的每一位,速度较慢;LD-Sketch[1]插入需遍历关联数组,在流量分布超出人工预先配置模型时关联数组过长,整体插入速率较慢;Rev-Sketch[16]采取“分组-合并”策略,涉及大量矩阵分量运算,运行速度较低.

在流量严重倾斜场景下,Space-Saving基于有序双向链表结构,完整保留多重流;LD-Sketch关联数组保持多候选重流;Rev-Sketch通过可逆的运算得到哈希值对应的所有流量集合并筛选可疑流量.MV-Sketch每桶只保存单重流,难以应对流量严重倾斜;CM-Heap插入累加桶内计数器,假阳性高.

在哈希不均匀场景下,Space-Saving没有使用哈希函数不受影响;Rev-Sketch对流量进行混淆预处理和分组哈希,降低哈希碰撞概率.MV-Sketch、CM-Heap严重依赖哈希函数,当哈希不均匀时带来的更多的哈希碰撞,导致性能下降;LD-Sketch使用关联数组减少哈希碰撞影响,但控制机制存在缺陷.

3 总体架构设计

构建基于拟态防御思想的网络流量异常检测,主要包括:

1) 异构执行体集的构建与鲁棒性量化.执行体异构性的量化是执行体集构建的基础,设计适应于当前场景下执行体集结构的基础.对基于Sketch的评估与实验在较为理想化场景下进行,缺乏极端条件下的结论作为鲁棒性评估的依据和参考.

2) 拟态化构造的开销.异构冗余构造带来多倍的内存开销;输出裁决、反馈控制环节带来额外的时间开销;拟态化构造给异常检测查询操作增加时空开销,影响实时性和小内存下的表现.

3) Sketch裁决反馈机制.由于Sketch的缺陷,各执行体的输出结果存在一定的误差.同时,反馈调节是一个复杂的过程,尤其在可能不准确的检测结果基础上准确判断各执行体运行效果,并避免过多更换引起性能抖动;反馈调节是一个快速反应的过程,因为网络流量的高速性,反馈调节的时间开销过大导致实际用于异常检测的时间过少.因此,设计一种高效、准确的Sketch裁决反馈机制是一个重大的挑战.

借鉴拟态防御思想,结合多种异常检测方案特点及鲁棒性,设计了基于拟态防御的网络流量异常检测架构.如图2所示,主要由待机异构执行体池、输出裁决器、索引Sketch、反馈控制器等模块组成.

图2 基于拟态防御的网络流量异常检测架构Fig.2 Anomaly detection architecture for network traffic flow based on mimic defense

执行体集由索引Sketch、运行集、待机异构执行体池组成,索引Sketch由运行集中执行体构建而成,待机异构执行体池存放当前未运行执行体.输出裁决器对各异构执行体的输出矢量叠加得到最终输出,将为反馈控制器提供裁决信息.反馈控制器依据裁决信息决定对索引Sketch、运行集和待机异构执行体池进行动态调整.

本架构的动态、异构、冗余特性体现在:动态性.在反馈控制器的策略调度下,运行集内执行体由异构执行体池内组件动态替换,索引Sketch结构也将动态插入;异构性.多维度考量Sketch异构性,筛选充分异构执行体,构建执行体集,在索引Sketch不同粒度、交换机设备、操作系统等方面增加系统异构性;冗余性.对同一输入,可采用多执行体处理、分布式设备同时处理,并依据事先定义好的策略集,对结果多模裁决,实现多余度操作.

4 执行体集结构

4.1 基于传统拟态模型

基于传统拟态模型的网络流量异常检测将可重构异构执行体集定义为多种异构Sketch集合.插入数据包时,输入代理器选择性转发输入激励至某些执行体,多执行体处理相同输入激励.查询异常流量时,遍历所有执行体,将各输出矢量(即重流候选)发送至输出裁决器.输出裁决器进行裁决得到最终输出.

然而,多执行体带来多倍内存开销,重复处理同一输入降低插入效率,遍历执行体降低查询效率,总吞吐量受吞吐量最小执行体影响.为此,提出索引Sketch与迷你执行体,减小拟态化构造带来的弊端.

4.2 索引Sketch

如图3所示,执行体集由运行集、待机异构执行体池、索引Sketch组成.在初始化时,从待机异构执行体池随机剥离执行体,生成运行集.根据运行集内执行体,构建索引Sketch与迷你执行体.

图3 执行体集结构Fig.3 Structure of actuator set

本研究在分析不同基于Sketch的异常检测方案的数据结构、理论保证的基础上,决定不同算法在索引Sketch中体现的粒度,实现各执行体间粒度的异构,增加系统的异构性.

索引Sketch中每个桶存储一个索引值,对应一种迷你执行体.插入数据包时,根据桶内索引值确定迷你执行体,调用相应插入函数.通过另一哈希函数将索引Sketch分流至多迷你执行体,由哈希函数定位,相较于传统拟态模型下的测量架构,提高检测效率,定理1中给出理论证明.

定理1在实际部署中,执行体数量n满足:

(1)

4.3 迷你执行体

兼顾流量大小与执行体性能决定运行集各执行体实际内存分配,生成迷你执行体.最简情况下,执行体均分内存,实现流量均匀分流,减少多执行体带来的内存开销,并在定理2中给出理论证明.在实际部署中,根据执行体的性能差异、当前场景的具体要求,差异化分配流量至不同执行体,以达到更高灵活性.

定理2在实际部署中,执行体数量n满足:

(2)

检测到异常时,反馈控制器从待机异构构件池中选择互补执行体替换问题执行体,更新索引Sketch.基于闭环控制,运行集将动态适应当前网络环境,实现强鲁棒性.预先分析多种基于Sketch的异常检测方案的异构性、鲁棒性,并为每个执行体配置足够的互补执行体,防止替换时互补待机执行体不足.

较传统异常检测,基于拟态防御增加系统不确定性,增大攻击者攻击难度.较基于传统拟态架构,结合了不同执行体的鲁棒性分析与互补关系,增强异常检测的适应性.

5 裁决反馈机制

5.1 迷你执行体

5.1.1 多模裁决

异构系统中执行体间存在许多差异,因而往往采用多模裁决策略.输出裁决器内包含可定义的裁决策略集.从理论、实验多层面,综合分析不同基于Sketch的异常检测方案的特征及异同,设计适合当前执行体集结构的裁决策略集.具体包含:基于权重的叠加表决、行间表决,基于可信度的多数表决等.

5.1.2 可控裁决策略集

输出裁决器叠加各执行体输出,基于裁决策略得到Heavy Hitter List与裁决信息.输出裁决器通过多模裁决的方式,可以针对不同场景、需求,选择、调整裁决策略,入侵容忍能力强、灵活性高、准确性高.设策略集共k种策略,为S1,S2,…,Sk;Si.threshold为策略Si对应阈值.下为裁决算法示例:

算法1裁决算法

输入:各执行体输出(HeavyHitterCandidateList)OUTPUT={OP1,OP2,…,OPn}输出:HeavyHitterList1)Heavy_List[n]={}2)FORi=1tonDO3) FORiteminOPiDO4) FORj=1tokDO5) IFitem.value≥Sj.thresholdTHEN6) InsertitemtoHeavy_List[i]7) break8)RETURNFinal_List=Intersection(allHeavy_List)

如第5~6行所示,将执行体输出中满足条件元素写入当前策略对应输出集合.所有策略执行完毕时,如第8行所示,对比裁决结果,取并集作为最终输出.实际场景下,可根据检测敏感性要求,配置参数w(1≤w≤k)采用“满足w种策略”的裁决标准,或采用基于单策略的迭代裁决,以提高裁决效率.

5.2 反馈控制器

5.2.1 反馈控制

反馈控制器判断并处理异常情况.接收裁决信息,依据预定策略调度运行集和待机异构执行体池.达到调度要求时,终止异常执行体,在待机异构执行体池中选择并启动互补执行体.

反馈控制器中维护一反馈计数器组,数组下标对应执行体,计数器值记录执行体状态.系统在初始化时,将运行集执行体对应计数器值初始化为1,其余初始化为0.在系统运行过程中,反馈控制器根据裁决信息更新计数器值.计数器值达到反馈标准时,执行反馈策略并重新初始化反馈计数器组.

5.2.2 反馈策略与算法

依据“可信度q为执行体表决正确次数与本周期总表决次数之比”,计算可信度序列Q= {q1,q2,…,qn}.取其中值最小者qmin,若qmin<φ(φ为预先设定的阈值),则将qmin对应执行体判定为“疑似问题执行体”,计数器值增1,并判断是否达到反馈标准:某执行体计数器值大于其余计数器值总和,判定为问题执行体.为保证反馈信息数组最贴近当前网络环境,经过若干周期,初始化反馈信息数组.

当达到反馈标准时,反馈控制器终止该问题执行体.在反馈控制器调度下,互补执行体将替换问题执行体.反馈控制算法如下所示:

算法2反馈控制算法

输入:Q={q1,q2,…,qk}1)qmin=min{q1,q2,…,qk}2)i=argmin{q1,q2,…,qk}3)IFqmin<ΦTHEN4) counter[i]++5)sum=∑counter[j]ifj!=i6)IFcounter[i]>sumTHEN7) Replace_MimicSketch(i)

反馈控制器接收裁决信息,当满足条件时,累加对应计数器值(第4行).判断是否需要执行反馈控制操作(第6行),若需要,启动互补待机执行体,替代相应的旧执行体(第7行).重新初始化索引Sketch和反馈信息数组.

6 实验与验证

为验证系统鲁棒性和裁决机制有效性,建立可持续运行型仿真拟态防御网络测量系统.实验1采用13份异构数据集以模拟具有不同数据量、数据特征的网络环境.设阈值0.1%,分13个周期分别检测重

流.每周期读取数据包量3万至21万不等,以测试不同数据量下不同异常检测方案性能.

在实验1中,设置3个异构Sketch执行体(Saving-Space、Count-Min-Sketch、MV-Sketch),构建索引Sketch.采用概率比例裁决、多票裁决等裁决策略.如图4所示,所提架构平均准确率达90%以上,高于传统异常检测方案.如图5所示,所提架构召回率平均达97.5%,与传统异常检测方案相近,可满足大多数场景下的要求.如图6,观察裁决前后执行体检测重流数量和最终输出重流数量,发现在内存压缩后迷你执行体假阳性或假阴性大幅提高.经过裁决,及时剔除假阳性重流,说明裁决策略是有效的.更重要是通过裁决反馈,实时获取执行体的性能变化,有助于后续Sketch的合理替换,这个是传统方案所难以达到的.

图4 重流检测精确度Fig.4 Precision for heavy hitter detection

图5 重流检测召回率Fig.5 Recall for heavy hitter detection

图6 迷你执行体(微执行体)输出重流数Fig.6 Number of heavy hitter outputted by mini actuator

在实验2中,基于上述条件不变,在内存变化下测试异常检测性能,分析索引Sketch的执行体在不同内存条件下鲁棒性.在实验1的基础上,不断变化内存,测出准确度和召回率的平均值,并绘出折线图,如图7和图8所示,在2~4 kB 到2~9 kB 的内存场景下,准确率和召回率都由于内存不足而大幅下降.这说明1 MB内存是目前作为索引Sketch精度的最低下限保证,也是实验1选取1 MB内存的依据.

图7 随内存变化的重流检测精确度Fig.7 Precision for heavy hitter detection under varies memory

图8 随内存变化的重流检测召回率Fig.8 Recall for heavy hitter detection under varies memory

在其他内存条件下,虽然同样受到内存影响,所提架构精度依然高于其他Sketch单独执行,以及1 MB内存下迷你执行体仅有1/3 MB内存时不到40%的平均准确率和不到85%的平均召回率,在实验1的多模裁决方案下,依然将其均值提升到90%和95%以上,多模裁决在未知环境和未知攻击下,具有比其他传统网络测量手段更强的鲁棒性和有效性.保证运行时不过多占用内存空间,以及高准确率和召回率.

7 结语

随网络空间复杂化与数据量爆发式增长,网络流量异常检测越发重要.提出一种基于拟态防御的网络流量异常检测架构.深入研究基于Sketch的异常检测方案,分析并量化其鲁棒性、异构性,在拟态防御的基础上引入互补思想进一步提高防御有效性.提出索引Sketch与迷你执行体,通过索引Sketch定位迷你执行体,达到流量分流、加速查询的效果.迷你执行体有效降低拟态化构造带来的额外空间开销.根据网络流量异常检测场景的特点以及基于Sketch的异常检测方案的特性,设计裁决反馈机制,通过实验验证准确性、强鲁棒.在未来的工作中,将对架构进一步优化,以更好满足网络流量异常检测高效、准确的要求,并部署到实际网络中进行可靠性测试,设计更成熟的裁决反馈策略,进一步降低假阳性.

猜你喜欢

网络流量哈希拟态
大数据驱动和分析的舰船通信网络流量智能估计
基于双向长短期记忆循环神经网络的网络流量预测
哈希值处理 功能全面更易用
Windows哈希值处理不犯难
文件哈希值处理一条龙
日语拟声拟态词及其教学研究
模仿大师——拟态章鱼
关于拟声拟态词的考察
一种用于敏感图像快速加密的图像注入技术仿真
巧用哈希数值传递文件