异常检测规则

异常检测规则测试已保存流或事件搜索的结果,以检测网络中发生不寻常流量模式的情况。

异常检测规则需要围绕常见参数进行分组的已保存搜索以及已启用的时间序列图。 通常,搜索需要累积数据,异常规则才能返回识别异常、阈值或行为更改的模式的任何结果。

异常规则

针对较长时间范围进行比较时,测试短期事件更改的事件和流的流量。 例如,网络中出现的新服务或应用程序,Web 服务器崩溃以及全部开始拒绝流量的防火墙。

示例: 当某个防火墙设备报告的频率高于其通常报告的频率时,您希望收到通知,因为您的网络可能受到攻击。 希望在接收到两倍于 1 小时内事件时收到通知。 完成以下步骤:
  1. 创建和保存按日志源分组的搜索,并仅显示计数列。
  2. 将已保存的搜索应用于异常规则,然后添加规则测试 以及在最后一个时间间隔内计数的平均值 (每个时间间隔) 1 小时 至少是 100% 与上一个属性的平均值 (每个时间间隔) 不同 24 小时

阈值规则

测试事件或流中大于或小于指定范围的活动。 使用这些规则检测应用程序中的带宽使用更改、失败的服务、连接到 VPN 的用户数以及检测大型出站传输。

示例: 先前事件中涉及的用户具有大型出站传输。

用户涉及先前攻击时,会自动设置规则响应以添加到引用集。 如果具有用户的观察列表,请将其添加到引用集。 调整阈值规则内的可接受限制。

搜索需要引用集 WatchUsers 和 Key:username。

完成以下搜索,然后将其应用到阈值规则。
select assetuser(sourceip, now()) as 'srcAssetUser',
Applicationname(applicationid)as 'AppName', long(sum(sourcebytes
+destinationbytes)) as 'flowsum' from flows where flowdirection = 'L2R' and 
REFERENCESETCONTAINS('Watchusers', username)group by 'srcAssetUser',
applicationid order by 'flowsum' desc last 24 hours

行为规则

测试事件或流中以常规模式出现的卷更改以检测离群值。 例如,某个邮件服务器具有开放中继,并突然与很多开始生成多个警报活动的主机或 IPS(入侵保护系统)通信。

某个行为规则学习预定义季节中某个属性的速率或量。 季节为您对其评估的内容定义基线比较时间线。 设置 1 周的季节时,将学习属性在此 1 周内的行为,然后使用规则测试向您发出警报,通知发生的任何显著更改。

设置行为规则后,将自动调整季节。 在此季节中学习数据时,将继续进行评估,从而将对此季节中的业务增长进行概要分析;不必更改规则。 行为规则运行时间越长,此规则将更为精确。 然后,可以调整规则响应以捕获更多细微更改。

下表描述了行为规则测试参数选项。

表 1. 行为规则测试定义
规则测试参数 描述
季节

最重要的值。 季节定义了要测试的属性的基线行为以及其他规则测试使用的基线行为。 要定义季节,请考虑要监视的流量的类型。 例如,针对包含人员交互的网络流量或进程,设置 1 周作为季节时间范围比较合理。 为跟踪模式一致的自动化服务,可能需要创建短至 1 天的季节,以定义行为的模式。

当前流量级别

具有季节更改和随机错误的原始数据的权重。 此规则测试回答了问题“是否与昨天同一时间的数据相同?”

权重必须在 1 至 100 范围内。 更高的值对先前记录的值施加更重的权重。

当前流量趋势

每个时间间隔的数据更改权重。 此规则测试回答了问题“与上一分钟相比,数据在这一分钟的更改量?”

权重必须在 1 至 100 范围内。 更高的值对流量趋势施加比计算的行为更重的权重。

当前流量行为

每个时间段季节影响的权重 此规则测试回答了问题“第 2 周到第 3 周的数据增加量是否与第 1 周到第 2 周的增加量相同?”

权重必须在 1 至 100 范围内。 更高的值对学习的行为施加更重的权重。

预测值

使用预测值缩放基线范围以使警报或多或少具有一些相关性。

敏感度必须在 1 至 100 范围内。 值 1 指示度量的值不能在预测值之外。 值 100 指示流量可以比预测值大 4 倍。

通过使用以下公式计算 (n+1)th 时间间隔内的值的预测:

Fn+1 = Bn + Tn + Tn+1-s

其中,F 是预测值,B 是时间间隔 n 的基本值,T 是时间间隔 n 的趋势值,而 T 是季节时间间隔前的趋势值,s 是季节中时间间隔的数量。

使用以下公式计算基本值:

Bn+1 = (0.2 + 0.3*(<Current traffic level> / 100.0))*(valuen+1 – Tn+1-s) + (1 – (0.2 + 0.3*(<Current traffic level> / 100.0)))*Tn

使用以下公式计算趋势值:

Tn+1 = (0.2 + 0.3*(<Current traffic trend> / 100.0))*(Bn+1 - Bn) + (1 - (0.2 + 0.3*(<Current traffic trend> / 100.0)))*Tn

使用以下公式计算平稳化偏差 D:

Dn+1 = (0.2 + 0.3*(<Current traffic behavior> / 100.0))*|valuen+1 – Fn+1| + (1 – (0.2 + 0.3*(<Current traffic behavior> / 100.0)))*Dn+1-s

如果以下表达式为 false,那么行为规则针对时间间隔生成警报:

F – (1 + (sensitivity / 100.0)*3)*D <= value <= F + (1 + (sensitivity / 100.0)*3)*D

在第一个季节中,行为规则针对未来计算进行学习并且不生成任何警报。