Focus    焦点
机器学习在态势感知系统中的应用
文/顾成杰
分享

在Gartner发布《2017年度新兴技术成熟度曲线研究报告》中提到,机器学习已经被广泛应用于包括语音翻译、目标分类、自动驾驶、人脸识别、人机对话等领域。随着网络攻击的数量、种类、手段越来越多,充分利用机器学习等技术,对传统数据挖掘、统计计算、关联分析方法进行革新与丰富,将成为发现安全威胁与异常的新利器。

一、 机器学习在态势感知的应用方向

态势感知系统通过在一定时间及空间范围内感知所发生的网络安全事件,针对海量安全数据进行综合处理,分析全网受到的攻击行为,评估网络的整体安全状态和预测未来的安全趋势,展现全网的“全局视图”。机器学习在态势感知系统上的主要应用方向包括海量数据分析、未知威胁发现、潜在风险预测和自适应联动响应等。

1. 海量数据分析

从大量结构繁多、来源不同且类型复杂多样的安全日志数据中挖掘隐藏规律,实现从海量安全日志数据向有价值威胁告警的转化。

2. 未知威胁发现

结合外部威胁情报,在数据级、特征级、决策级三个层面利用机器学习算法进行分析处理,从海量的原始安全数据中定位威胁线索,实现对未知威胁的及时发现。

3. 潜在风险预测

通过对全网网络资产、行为、流量和用户全方位、多维度动态分析,从大量的安全事件之中发掘隐藏的相关性,判断潜在的风险。

4. 自适应联动响应

结合上下文情境,进行自适应决策并实时生成控制策略下发,通过联动响应对攻击源进行控制、阻断和溯源,实现全过程闭环反馈。

二、 基于机器学习的态势感知系统

为了有效地掌控全网安全状态、风险和趋势,本文将机器学习应用于态势感知系统中,首先建立基于机器学习的态势感知系统框架,在该系统框架的基础上按照数据管理、特征管理、特征工程、模型训练和测试评估等流程步骤,利用业务模型完成未知威胁发现、风险预测和自适应联动响应等应用,从而提升安全防御能力,优化安全防护体系。

1. 系统框架

基于机器学习来构建“安全大脑”,对一定时间及空间范围内大范围样本数据进行智能化分析,根据基线或模型发现威胁风险并预判趋势,系统框架如图1所示。

图1 基于机器学习的态势感知系统框架

针对实际网络中安全数据的海量、多格式、多粒度的特点,基于机器学习的态势感知系统模型主要完成如下3个部分功能:

数据预处理

态势感知系统的输入来自不同数据源,不同数据源对网络安全事件的定义通常具有不同的格式,通过报文分类和范式处理将数据归一化为统一格式,然后进行去除冗余及噪声数据。

智能分析

根据业务逻辑不同,利用不同的机器学习算法(如分类算法、聚类算法、关联规则挖掘算法、深度学习算法)训练出相应的网络流量分类、异常流量检测、威胁行为分析和流量趋势预测模型,然后根据训练出的模型进行结果输出。

评估优化

根据知识库中的安全量化指标体系,对分析输出的结果进行量化评估,通过学习和分析用户使用过程的历史数据反馈,用来改进模型和算法参数,从而不断提高模型的准确率,减低安全事件的误报率并有效发现潜在威胁。

2. 工作流程

机器学习是人工智能的核心,也是大数据分析的基石。对网络安全领域来说,每个网络行为样本点都可以由一系列相同的特征属性特征来表示,由于每个样本点的特征属性值不尽相同,可以根据这些样本点利用机器学习算法训练出模型,然后根据业务模型来进行检测。基于机器学习的态势感知就是从大量的安全数据中抽象出潜在的有用信息的过程,主要过程包括数据管理、特征管理、特征工程、模型训练和测试评估等5个步骤。

图2 基于机器学习的态势感知系统工作流程

图2给出了基于机器学习的态势感知系统工作流程。首先是数据管理,该部分对大规模原始网络流量进行预处理,主要包括数据清理、数据集成、数据变换和数据简化等;其次是利用安全领域知识进行特征管理,提取和变换出各种安全特征属性;然后进行特征工程,由于每个网络样本都可以由多维特征属性向量来标识,但是这些属性对分类的贡献度不尽相同,还需要从网络流量的众多属性中有目的地选择一部分特征属性用来进行机器学习;再次,选择合适高效的机器学习算法建立分类/聚类模型,并对模型的参数进行优化,最后,利用建立的模型完成未知威胁发现、风险预测、流量分类、异常流量检测和自适应联动响应等诸多具体应用。

3. 业务模型

威胁发现模型

在建立目标威胁模型时,分析影响威胁度的若干因素,需要选择合适维度的特征参数,可以采用粗糙集理论中知识约简方法选择目标的最优特征子集;然后利用支持向量机建立威胁判断模型,通过对知识样本的学习,采用SVM算法获取威胁值与特征参数的非线性量化关系,从而估算出目标的威胁程度。

风险预测模型

基于FARIMA模型和混沌时间序列模型对网络流量进行建模,在BP神经网络预测模型中引入小波多分辨分析方法,将小波变换独特的多分辨分析能力与神经网络的自学习自适应和非线性逼近功能相结合,建立小波神经网络预测模型,预测准确率可达到90%以上,再根据网络流量和行为的历史数据对未来流量和行为的风险实现预测。

联动响应模型

构建以“知识”为中心的、以控制网络行为为目的框架模型。通过引入上下文管理模块,用于加强已知控制策略的保存和自学习,当网络态势及业务目标等发生变化时,在知识库和策略库的支撑下,可利用基于案例的推理(CBR)方法自适应生成和调整控制策略,从而消除或减轻由累积错误导致的系统可靠性不高的问题。

4. 相关算法

根据业务逻辑不同,需要利用不同的算法训练出相应的业务模型,涉及的机器学习算法主要包括降维算法、聚类算法、分类算法、回归算法和关联规则算法等。(1)由于每个网络样本点都可以由多维特征属性来表示,通过PCA、PLS、MDS等降维算法,可以消除冗余属性和弱相关属性,降低特征空间维数,从而降低计算复杂度。(2)在构建威胁发现模型时,可以采用K-Means、凝聚层次聚类、EM等聚类算法,基于类内相似、类间差距最大化原则,通过计算各种距离度量将海量的网络样本点划分到K类中;也可以采用C4.5、SVM、朴素贝叶斯等分类算法,根据已标签的数据训练出分类模型,利用该模型对未知网络样本进行分类,从而发现潜在网络威胁。(3)在构建风险预测模型时,可以采用最小二乘法、逻辑回归、时间序列等算法,对整个数据集中因变量和自变量之间的关系进行建模,然后利用模型对给定的自变量进行计算得到风险预测值。(4)在构建联动响应模型时,可以采用Apriori、Eclat、FP-growth等关联规则算法,分析同时出现次数较多的频繁项集,并将出现次数满足一定阈值的频繁项集作为关联项集,得到网元间的联动响应关系。

5. 实现平台

为了提供大规模并行化机器学习处理能力,采用Spark 异构云作为实现平台,实现面向异构集群的机器学习算法并行化。首先,集群中各异构节点(CPUs+GPUs 和其他异构平台MIC等)具有不同的处理能力(不同的体系结构、不同核个数和内存容量),异构集群中各层并行体系结构蕴含了大量的多层次并行性。其次,Spark 是基于内存的分布式计算框架,可以快速地处理大数据环境下的机器学习算法。最后,异构集群具有动态可扩展性和容错性,适用于计算规模不断扩大的机器学习算法应用场景,并可改变机器学习算法计算代价高、时间延迟大的研究现状。

将MLLib与Spark环境整合起来构建一个大数据机器学习平台,如图3所示。该平台支持包括数据预处理算法、分类算法、聚类算法、推荐算法、深度学习、序列模型在内的各种机器学习算法,通过GPU和CPU集群并行化计算实现高性能。

图3 大数据机器学习平台框架

以网络流量分类应用为例,对平台框架的工作机理进行说明。基于机器学习的网络流量分类由离线模型训练和在线实时分类两部分组成。首先通过特征工程得到网络流量最优特征子集,再采用Spark MLLib库中并行化机器学习算法通过离线训练得到流量分类模型;然后直接在Spark Streaming中调用训练好的流量分类模型进行在线网络流量实时分类,并将分类结果存入数据库中供前端Web展示调用。

三、 价值体现

利用机器学习技术,可以对成千上万的网络日志、威胁情报等信息进行自动分析处理与深度挖掘,从海量数据中提取出真正有用的信息,对网络安全状态进行分析评价,感知网络中的异常事件与风险威胁,并对全网的趋势进行预测和预警,为安全态势感知系统的技术突破创造了机遇。

1. 从“单点分析”向“云化智能”的转变

传统仅依靠本地数据很难发现使用0-Day漏洞的APT攻击,采用机器学习技术后,可以将各设备的安全数据统一上传至云端大数据平台,基于机器学习对大范围全局样本数据进行深度挖掘,发现威胁并预判趋势。

2. 从“结果可视化”向“过程可视化”的转变

通过机器学习引擎,对隐藏在网络流量、各种设备及系统日志中的海量的正向样本和恶意样本进行分析,针对全过程攻击链中攻击者留下的任意线索进行多维拓展,可视化绘制出完整的攻击链条,从而提前进行防范,实现对威胁全过程的可视化溯源追踪。

3. 从“主机IP识别”向“行为身份识别”的转变

由于跳板主机和动态IP的使用,传统根据主机IP来识别用户的难度愈来愈大,采用机器学习技术对用户行为进行检测,通过多维度行为特征对用户进行画像,当具体用户行为发生的变化超过设定的阈值时候,自动进行告警和分析发生异常的原因。

4. 从“安全产品化”向“安全服务化” 的转变

为了应对网络安全的挑战,VPN 、防火墙、IDS、身份认证、数据加密、安全审计等安全防护系统得到了广泛应用,但这些产品大部分功能分散,各自为战,形成了互相隔离的"安全孤岛"。通过在云端上应用机器学习等新技术,为用户提供相应的安全AI服务,让每个SaaS企业都能拥有自己的“安全大脑”,实现云化防护。

四、 结束语

为了有效应对日益高级和复杂的攻击手段,迫切需要将机器学习应用于态势感知领域。以安全情报为驱动,利用机器学习构建“安全大脑”,充分利用云端的检测能力,对海量的安全信息进行自动分析与深度挖掘,及时掌握网络的安全状况和趋势,提前制定有预见性的应急预案,实现“云网端”协同联动,形成实时、智能、敏捷、可运维的“云安全”体系,增强应对网络安全威胁的能力。

分享到
关闭