一种样本选择性在线更新网络流量异常检测方法与流程

摘要: 本发明涉及一种样本选择性在线更新网络流量异常检测方法,属于网络安全,适用于嵌入式网关、边缘设备等资源受限环境的实时网络态势感知场景。背景技术:1、网络流量异常检...
一种样本选择性在线更新网络流量异常检测方法与流程

本发明涉及一种样本选择性在线更新网络流量异常检测方法,属于网络安全,适用于嵌入式网关、边缘设备等资源受限环境的实时网络态势感知场景。

背景技术:

1、网络流量异常检测是网络安全防御领域的核心技术之一,现有方法主要分为三类:

2、一是基于统计阈值的方法,主要通过计算包速率、协议比例等特征均值和方差,通过z-score或3σ原则判定异常。这种方法的优点是计算效率高,适合实时处理,但对周期性流量敏感,易产生误报,且各个特征独立判断,无法捕捉联合异常。

3、二是基于机器学习的方法,如基于孤立森林、支持向量机、深度自编码器等机器学习模型进行异常检测,这类方法能够挖掘高维特征间的复杂关系,然而方法所采用大多为离线批处理模型,难以适应在线样本漂移,同时重训的成本高,部署资源开销大。

4、三是采用在线学习与增量更新方法,如online isolation forest(oif)、updatedonline isolation forest(uoif)等,这类方法能够随新数据不断更新模型,适应流量变化,但缺点是所有样本(包括异常样本)均参与模型更新,在持续攻击场景下,模型会逐渐“习惯”异常,导致检测率随时间显著衰减,这是现有在线学习方法共同面临的“基线污染”(baseline poisoning)问题,尚未得到有效解决。

5、综上,现有网络异常检测方法无法在不依赖人工标签的前提下自动识别并剥离流量周期模式;缺乏将去周期预处理与无监督机器学习有机结合的具体流程;无法在线学习过程中防止异常样本对基线模型的污染。缺乏一种既能够自动适应周期模式、又能在线学习且具备高维异常识别能力的轻量级检测方案。

技术实现思路

1、发明要解决的技术问题

2、本发明针对上述现有网络异常检测方法中所存在的问题,提出一种样本选择性在线更新网络流量异常检测方法。方法的目的是在不依赖人工标签、资源受限的部署条件下,同时实现周期流量适配、高维复合异常识别与抗污染在线演进。核心目标是从根本上防止异常样本污染基线模型,在持续攻击场景下保持检测率的长期稳定性。

3、技术方案

4、为达到上述目的,本发明提供的技术方案为:

5、一种样本选择性在线更新网络流量异常检测方法,包括如下步骤:

6、步骤1,以固定时间间隔为单位,解析该时间间隔内网络数据包,统计生成特征向量

x

t,

7、步骤2,构建相位化季节基准,方法为,将时间轴按固定时间粒度划分为

w个离散的相位,为每一个相位、每一个特征维度独立存储一个历史基准值,构建二维数组

s

i,

k,其中

i表示特征索引,

k为相位索引,包含以下步骤:

8、步骤2-1,方法运行的第一个时间周期,对于特征向量

x

t内的每个特征按照第一个时间周期所提取数值对季节基准

s

i,

k进行初始化,方法为:

9、

s

i,

k=

xt0(

i,

k),

10、其中

xt0(

i,

k)表示第一个周期内属于相位

k的所有特征向量

xt0中特征

i的取值集合的均值。

11、步骤2-2,基于步骤1所提取特征向量特征值对季节基准

s

i,

k进行更新,方法为:

12、,

13、其中表示更新后的季节基准值,

x

t(

i,

k)表示所提取特征向量

x

t中特征

i属于相位

k的特征值,

α为更新系数。

14、步骤2-3,重复步骤2-2至训练时长达到预设值或特征向量样本达到预设值时更新过程结束,得到季节基准值

s

i,

k。

15、步骤3,在采样时刻

t,通过取模运算求得其相位

k:

k=

tmod

w,

16、计算各个特征

x

t(

i,

k)与步骤2所得对应相位

k的各个特征季节基准

s

i,

k的残差值

r

t(

i),方法为:

17、,

18、集合各个特征残差值,得到残差特征向量{

r

t(

i)}。

19、步骤4,基于步骤3所得残差特征向量{

r

t(

i)}构建孤立森林

20、进一步地,步骤1中特征向量

x

t包括包速率、字节速率、平均包长、各协议数据包比例、源ip/目的ip/目的端口熵、syn比例,各特征的计算方法为:

21、包速率:,其中

n

packet表示统计周期内的总数据包数,

t为统计周期;

22、字节速率:,其中

n

byte表示统计周期内的总字节数,

t为统计周期;

23、平均包长:,

24、协议数据包比例:为各协议数据包数量占数据包总数

n

packet的比例,协议数据包包括:tcp数据包、udp数据包、icmp数据包、其他协议数据包。

25、源ip熵:,其中

c

i表示源ip为

i的数据包数;

26、目的ip熵:,其中

c

i表示目的ip为

i的数据包数;

27、目的端口熵:,其中

c

i表示目的端口为

i的数据包数;

28、syn比例:为syn包占tcp包的比例。

29、进一步地,步骤4中基于残差特征向量{

r

t(

i)}构建孤立森林的方法为,对特征向量{

r

t(

i)}进行递归分割,形成多棵二叉树,包含以下步骤:

30、步骤4-1,设置二叉树的根节点、最大深度;

31、步骤4-2,递归构建单棵二叉树,方法为:

32、步骤4-2-1,从

m个特征维度中随机选择一个特征索引

f,在当前节点所包含的样本子集中,找出特征

f的最小值和

f

min和最大值

f

max,在区间[

f

min,

f

max]内均匀随机选择一个值作为分裂阈值

th,当前节点指当前正在处理的、包含特定样本子集的节点。

33、步骤4-2-2,将当前节点的所有样本,按特征

f的值与阈值

th进行比较,划分为左子节点与右子节点,其中左子节点为

f<

th的样本,右子节点为

f≥

th的样本,

34、当前节点深度达到步骤4-1预设的最大深度或所包含样本数小于等于1时,分裂过程结束,将当前节点标记为叶子节点,并记录当前节点包含的样本数量

leaf_size。

35、步骤4-2-3,递归地对左子节点和右子节点重复子步骤4-2-1~4-2-2,直至所有分支都到达叶子节点。

36、步骤4-3,重复执行步骤4-2构建二叉树的过程,构建包含

num_trees棵树的孤立森林。

37、步骤5,基于步骤4所得孤立森林进行推理,获取异常评分进行异常检测,包括以下步骤:

38、步骤5-1,按照步骤1方法提取

n个特征向量

x

t,

39、步骤5-2,按照步骤3方法计算相位残差得到残差特征向量{

r

t(

i)},

40、步骤5-3,将残差特征向量{

r

t(

i)}输入步骤4所构建孤立森林,对森林中的每棵树

j,从根节点开始遍历,计算该样本到达叶子节点的路径长度

h

j,方法为:

41、

42、其中

depth

j为第

j棵树中残差向量从根节点到叶子节点经过的边数,

leaf_

size

j为第

j棵树叶子节点包含的样本数,

c(

leaf_

size

j)为叶子节点样本数的归一化补偿值,其计算方法为:,

γ为欧拉常数;

43、计算孤立森林中所有树中该残差特征向量的平均路径长度,进而计算异常分数

score,方法为:

44、,

45、其中

c(

n)为平均路径常数,其计算方法为:

46、,

47、

γ为欧拉常数,异常分数,其越接近1表明异常程度越高。

48、步骤5-4,判断异常分数

score是否大于预设阈值

θ,当

score>

θ时,判定为异常,当

score≤

θ时,判定为正常。

49、步骤5-5,当判定为异常时,基于不同的异常分数设置不同的告警机制并采取不同的应对措施,异常样本不用于更新季节基准与孤立森林。

50、步骤6,基于异常分数

score小于等于预设阈值

θ的正常样本对季节基准模型按照步骤2方法进行在线更新。

51、执行上述样本选择性在线更新网络流量异常检测方法的系统,由特征提取模块、残差计算模块、训练管理模块、孤立森林构建模块、异常评分模块、二值更新门控模块、季节基准更新模块和告警输出模块组成,其中:

52、特征提取模块用于从原始网络数据包中提取特征;

53、残差计算模块用于计算各个特征的残差值;

54、训练管理模块用于生成方法季节基准;

55、孤立森林构建模块基于残差向量构建孤立森林;

56、异常评分模块基于孤立森林进行推理获取异常评分;

57、二值更新门控模块,基于异常评分控制样本是否进入更新流程,当异常评分小于等于阈值时门控开启允许更新,当异常评分大于阈值时门控关闭拒绝更新;

58、季节基准更新模块,基于正常样本对季节基准进行在线更新;

59、告警输出模块基于不同的异常分数设置不同的告警机制并采取不同的应对措施。

60、有益效果

61、本发明方法通过相位化季节基准将原始特征转化为残差,剥离周期分量,实现高维复合异常识别,二值更新门控主动拒绝异常样本,防止攻击流量污染基线,从而保持检测灵敏度的长期稳定性,方法在持续攻击下的检测率衰减远低于传统在线学习方案;

62、本发明异常检测方法在实现周期流量自动适配、高维复合异常精准识别、基线抗污染在线演进的基础上,方法无需标签进行监督训练,较传统方法实现了轻量部署。