导语

基于Spark的SOC ML检测平台是为企业安全运营人员打造的一站式机器学习检测服务平台,为用户提供从数据预处理、特征转换、特征提取、模型训练、模型预测、异常结果可视化到用户实时反馈的全流程可配置(无需编写代码)可直接运用于生产环境的智能威胁检测服务。本篇主要介绍基于SOC机器学习检测平台的时间序列建模的一个场景:数据汇聚检测

一、SOC机器学习检测框架及时间序列建模简述

企业里的威胁检测主要针对细分安全场景进行检测,场景多且不同企业关注场景可能不同。我们针对于企业威胁检测的特点构建了统一的SOC机器学习检测框架,框架的目的有两个:

  • 支撑SOC内置场景检测,丰富UEBA模块,增强SOC安全检测能力。

  • 提供客户自定义场景功能,以满足客户自定义场景发现未知威胁的能力。

基于SOC机器学习检测框架的内置检测场景:

时间序列异常检测:

时间序列分析是将历史数据在时间维度上按先后顺序构建时间序列,并通过一系列相关模型进行建模识别潜在模式,以便对后续数据进行预测或者异常检测。

根据时间序列本身的特点,我们将时间序列分为周期性的时间序列和非周期性的时间序列。对不同类型的时间序列应用不同的算法建模。例如:周期性的时间序列应用STL, Holt-Winters等算法建模;非周期性的时间序列应用小波变换等算法建模。

根据时间序列异常类型不同,我们将时间序列异常区分为离群点异常,拐点异常,子序列异常

本文将介绍SOC机器学习框架支撑的一个内置场景检测:数据汇聚检测。内网数据的传输受到实际业务需求、工作时间等因素会呈现周期性规律。鉴于这种特性,我们主要基于周期性建模+离群点异常检测识别数据汇聚行为。

二、数据汇聚(DataHoarding)

数据汇聚是指在特定的局域网内部(如企业内网),存在某个主机,在某个时间段内从内网的其他多个主机获取下载数据(如图a)或者向其他多个主机分发上传数据(如图b)。

攻击者通过内网受控机器,将敏感数据集中于某台受控机器为后续的数据泄露做准备,或者利用某台受控机器分发可疑数据,例如恶意软件或者shellcode。当传输数据总量不符合该主机的历史行为,超过正常阈值时,则说明存在可疑的数据汇聚行为。可疑数据汇聚是APT中数据泄露的前一个阶段。

图a

图b

本文主要介绍如何从流量数据中识别检测可疑数据汇聚行为

三、检测方法

业界相关场景检测方法:

目前业界相关场景检测的主要方法为基于规则策略检测。规则策略的基本内容为设定指定时间段内的传输数据阈值,这些阈值和时间段通常是人为设定的常数。规则检测的优点是检测快速,不需要对数据做处理,但是缺点也是显而易见的:

  • 规则策略为单纯地进行阈值设定,无法结合历史数据进行分析,容易产生大量的误报,需要运营人员进行排查,造成资源人力浪费。

  • 规则策略阈值设定较大时,数据汇集总量较小但异于历史行为的操作会被漏检,从而带来更高的风险。

基于SOC ML检测框架的方法:

基于SOC ML异常检测平台WEB画布配置如下:

a.流量数据预处理

针对TCP/UDP数据过滤内对外数据,只保留内网到内网数据记录。即源IP为内网,目的IP也为内网。

b.特征提取

对x周数据,以源IP/目的IP为key在固定时间间隔(1min)内统计数据传输大小。构成历史时间序列数据。

c.算法

基于历史的时间序列异常检测:

利用Twitter的SHESD算法对时间序列进行离群点检测。S-H-ESD算法是基于ESD(ExtremeStudentized Deviate test)进行优化的算法。而ESD算法则是基于GrubbsTest假设检验扩展到多个异常值检验的算法(GrubbsTest只能检验单个异常值)。

假设定义如下:

H0:数据集中没有异常值;

H1:数据集中有一个异常值;

其中对于临界值采用t分布计算,如下公式所示。其中k为异常值个数。

对于原始时间序列数据,利用STL将时间序列数据分解为趋势分量、周期分量和余项分量,用中位数(median)替换掉趋势分量。如下公式所示。

为了防止个别异常值对均值和方差影响较大,S-H-ESD采用了更具鲁棒性的中位数与绝对中位差(MedianAbsolute Deviation, MAD)来代替均值和方差计算偏离最远的残差,如下公式所示。

Ci大于临界值时,原假设H0不成立,样本点为异常值。重复以上步骤k次,直至算法结束。

d.策略制定

对S-H-ESD异常检测算法的异常点结果进行规则过滤,降低误报。针对数据汇聚的规则策略具体如下:

  • 确定数据传输的最大判断时间间隔t;

  • 确定在指定时间间隔内数据传输总量的最小阈值value;

  • 考虑到数据汇聚的特点,某一个ip可能在一个时间段同时接受多个ip的数据传送,或者某个ip在一个时间段集中向外分发数据,因此不固定两端ip,只观察某一端ip的数据流入或流出大小。

例如规定每5秒内,数据传输的阈值上限为1MB,则下面两种情况中红框部分都为可疑数据汇聚行为。

四、检测效果

  • 数据汇聚示例

以检测数据周期为两周14天336个小时的flow_UDP流量数据为例:

下图显示目的IP为10.***.***.128在两周时间内接收到数据量的时间序列图,其中红点表示SHESD检测出的异常点。最近时间段内的异常点通过规则策略进行判断,可知在2019-08-0616:44:00一分钟内,10.***.***.128共接收到899502814bit的数据传输量,约107.23MB。

其中,主要向其传输的源IP有10.***.***.55,其连接次数只有一次,传输数据量分别为105.78MB,几乎达到该分钟内传输总量。因此,是一次可疑的数据汇集行为。

  • 基于SOC ML异常检测平台WEB结果展示

陈嘉豪、郭豪

声明:本文来自腾讯安全智能,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。