基于频繁模式挖掘的网络安全防护

2022-02-03 06:14刘懿
移动通信 2022年12期
关键词:项集结点态势

刘懿

(中国移动通信集团北京有限公司,北京 100007)

0 引言

随着互联网应用的快速发展,从网络衍生出来的产品(如网上购物、微信聊天、网上银行等)越来越多,这些互联网应用在给人类生活带来极大便利的同时,也将个人信息泄露和数据安全推到了风口浪尖,不法分子利用网络存在的漏洞对网络系统进行破坏,产生了网络安全事件,如:2014 年,摩根银行大楼遭受网络攻击,致使7 600 万个人账户和700 万企业账户的关键信息被泄露;2020 年,丹麦税收网遭到黑客攻击,超过120 万丹麦纳税人详细信息被恶意软件意外收集,经调查,这种行为已长达5 年之久;2021 年,一黑客篡改可远程控制的计算机数据,将佛罗里达州奥德马尔的一家水处理厂中的氢氧化钠含量调高到了极其危险水平,差点让整个城市居民集体中毒。由此可见,随着网络攻击技术不断变化,互联网金融网站的安全情况令人担忧。而攻击手段的日新月异,传统的网络安全防护技术显得力不从心。面对新的安全的形势变化,网络安全防护技术应运而生,很多学者都投入了大量的精力去研究网络安全防护技术以及相关的防护模型。Xu 等人[1]提出一个基于语义本体和用户定义规则的情境推理方法,构造物联网网络安全态势感知模型,该模型通过4 个关键子域来反映物联网安全情况,并利用用户定义规则补偿4 个关键子域的描述能力,以此提升模型的推理能力;Liu 等人[2]提出一种基于风险评估的NSSA 模型,该模型通过收集漏洞信息并使用相应的风险水平定性地衡量系统的安全状况,方便管理员监控系统并对系统可能的威胁保持警惕;Jiagen 等人[3]提出一种基于RBF 神经网络的网络安全态势感知方法,该模型利用网络安全态势值具有非线性时间序列的特点,使用RBF 神经网络找出网络安全态势值的非线性映射关系;Zuo 等人[4]提出一种基于安全感知的SDN 物联网网络安全架构,该架构可以在SDN 的每一层部署不同的网络安全模块,并通过整合、分析不同安全模块的数据以实现提升网络安全的性能。通过分析现有的网络防护模型构建可知,大多数学者将网络防护过程进行了多层次多角度的分析,很少利用知识发现的角度将网络攻击行为生成相应的图或者算法,并用于解决现有模糊识别网络防护的问题。因此,本文提出一种基于频繁模式挖掘的网络安全防护方法,该方法采用频繁模式挖掘报警的规则进而获得高层次的攻击语义和攻击证据;然后,采用DS 方法融合主机攻击的多条证据并量化网络主机的威胁态势,从而很好地刻画主机的安全态势,实现网络安全态势的有效评估。

1 相关技术

网络安全防护技术[5-7]通过采集网络空间中各种设备的报警数据,并对这些报警数据进行处理、分析和理解,从而对当前网络安全状况进行评估,使得网络安全管理人员能够更加全面了解网络安全状态。

1.1 网络安全态势感知

(1)态势要素提取

态势要素提取包含网络安全数据采集和网络安全数据预处理2 个步骤。

网络安全数据采集包含2 类采集方式,一类是主动式采集,包括通过网络管理协议、Telnet、文件传输协议、代理、漏洞和端口扫描、“蜜罐”等方式对数据进行主动式采集;另一类是被动式采集,包括系统日志、NetFlow、Web Service 等方式进行数据采集。

网络数据预处理是指对网络采集的数据进行数据缺失处理、噪音数据处理、数据不一致处理、数据融合处理、数据关联处理等。

(2)网络安全态势理解

在对态势要素提取的基础上,对态势要素进行数据挖掘,提取网络安全语义信息,从整体上评估网络安全态势值。因此,网络安全态势理解是以数据融合为核心,将各方面的安全事件进行融合和挖掘,获取高层次的语义信息,从而对网络安全进行综合评估,辅助网络管理员进行决策。

(3)网络安全态势预测

网络安全态势预测作为网络安全态势感知不可或缺的部分,是实现网络安全事件预警、预报的有效手段,只有对网络未来一段事件的发展趋势进行预测才能从根本上实现网络防护。为了有效实现网络安全防护,需要采用数据挖掘的算法对攻击意图和入侵进行行为预测。然而,网络攻击行为具有很大的不确定性,如何有效地挖掘网络攻击意图,利用知识发现将网络攻击行为生成相应的网络攻击图,是解决现有网络安全态势有效预警的关键问题。

1.2 网络安全态势评估技术

(1)贝叶斯网络

贝叶斯网络作为一种模拟推理过程中因果关系的不确定处理模型,是一个有向无环图;其由变量的结点和连接这些结点有向边构成,是一种概率图模型[8]。贝叶斯网络的数学表达:G=。其中I表示所有结点的集合,E表示有向边的集合。如果两个结点之间由箭头相连,那么箭尾相连的结点是“父结点”,箭头相连的结点是“子结点”,这两个结点将产生一个条件概率值。贝叶斯使用条件概率值来表示各个结点依赖关系的强弱,通过将先验的信息和样本知识结合来促进先验知识和数据集成,结点之间产生的条件概率值一旦更新,那么整个贝叶斯网络中的知识就自动更新。在网络安全态势预测过程中,由于网络节点之间依赖拓扑关系很难确定,输入变量之间的相关性一旦产生较大的偏差,其结果会对网络安全态势预测产生很大的影响;另外,贝叶斯网络当参数过多时会造成计算代价非常大,因此,基于贝叶斯网络的网络安全态势预测仅适用于网络规模较小的场景。

(2)支持向量机

支持向量机[9-10]以间隔最大化为学习策略,在特征空间中寻找间隔最大的线性分类器,并最终转化为一个凸二次规划问题。为了降低支持向量机在高维或无线维空间中构造超平面确定分类边界的计算复杂度,研究者采用核函数来实现样本的线性划分。核函数的核心是使用一个非线性映射将原始样本变换到另一个特征空间中,在这个空间中,样本变得线性可分。假设一个二维空间中,有数据集D=(x1,y1),(x2,y2),…(xn,yn),其中y∈{-1,1}。支持向量机的目标是使用一个合适的超平面f(x)=wTx+b将数据分开,其中w为法向量,b为位移。超平面以虚线为边界,两条虚线间的距离称为“间隔”。支持向量机训练样本的示意图如图1 所示。

图1 支持向量机训练样本示意图

(3)BP 神经网络

BP 神经网络[11-12]作为一种按误差逆传播算法训练的多层前馈网络,其依据信号的前向传播和误差的反向传播来计算网络神经元连接之间的参数,最终实现任务的分类。BP神经网络的过程主要分为两个阶段,第一阶段是信号的前向传播,从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置。BP 神经网络的示意图如图2 所示:

图2 BP神经网络训练样本示意图

网络攻击是一种系统行为,不是依靠分析一系列的报警事件的相互关系就能准确判断该行为是正常的行为还是异常的行为,而是需要分析各种报警事件之间的逻辑关系,才能将攻击者的一系列相关的步骤进行有效梳理。如今,随着网络规模的不断发展,如何从海量的报警数据中获得隐藏在其中的网络攻击步骤,是网络安全态势感知的一个十分重要的课题。为此,本文提出一种基于频繁模式的网络安全防护方法,通过对报警数据进行频繁多步攻击序列挖掘,对单个攻击事件(信息探测、漏洞扫描、漏洞利用、权限提升、发动攻击、留下后门)之间的逻辑关系进行关联,挖掘其中的频繁项集,有助于发现因果关系不明确的多步攻击模式,能够更好地对攻击行为进行识别。

2 基于频繁模式挖掘的网络安全防护

2.1 报警数据信息融合

各类安全检测设备在检测网络攻击行为时会产生大量的报警日志,而这些报警日志很有可能是针对同一个攻击行为产生的,因此,需要对大量的冗余报警信息进行预处理,避免现有的报警数据对后期的攻击行为分析和处理带来巨大的计算量。因此,需要对相似度较高的报警日志进行融合处理,通过把相似度较高的报警日志融合到同一个类别,将同一个类别的报警进行处理,并生成网络攻击事件。

首先,需要对报警数据进行数据提取,本文参考文献[13] 对报警数据的提取格式,将报警数据格式定义为(Id,Src_ip,Dst_ip,Src_port,Dst_port,Attack_type,StartTime,EndTime,Protocol),具体如表1 所示。

表1 报警数据格式

其次,基于多个报警数据,需要对各个属性进行相似度衡量,结合各个属性的相似度进行加权平均,得到每一条报警数据与基报警之间的相似度。本文将每一个报警数据转化成向量,通过计算两个向量的夹角的余弦值来衡量向量之间的相似度值。

然后,按照属性的重要程度对各个属性赋予权重,采用加权平均方法计算每一条报警数据与基报警数据之间的相似度。

最后,结合相似度阈值判断每一条报警数据是否能够与基报警数据进行融合,如果每一条报警数据与基报警数据的相似度大于设定的阈值(阈值在0.5~1,按照实际的需求设置,一般设在0.8 以上),那么则将其纳入基报警数据中,否则,将其作为一条新的基报警数据,如此不断循环。

2.2 基于FP-树全局频繁项集的多步攻击模式挖掘

在对报警数据进行融合之后,将会产生多条报警基数 据(Id,Src_ip,Dst_ip,Src_port,Dst_port,Attack_type,StartTime,EndTime,Protocol),然后将这些数据按照时间进行排序组成报警事务数据库,采用FP-树全局频繁项集对攻击系列进行挖掘,挖掘多步攻击模式。具体步骤如下。

相比Apriori 算法挖掘频繁项集,FP-树能够压缩所有事务记录的关联项集,并且以其独特的结构提供一种方便深度优先挖掘最大频繁项集的方法,在深度优先遍历搜索空间树时建立FP-树,对于每个结点,保存该结点到根结点搜索路径上的每一个结点对应的FP 子树,FP子树表示与其相关结点挖掘有关的频繁信息,在当前结点上,通过在相应项集之中添加对应的FP 子树头表中的某个项,来生成搜索空间中的子结点。基于FP-树全局频繁项集的多步攻击模式挖掘的步骤如下:

首先,采用滑动窗口法产生候选攻击序列集。由于报警数据按照时间排序而成的,因此,为了更有效挖掘攻击序列,需要采用滑动窗口的方法来划分攻击数据的时间序列。窗口每滑动一次就会产生一个序列s,直到窗口滑动到指定时间段的攻击数据时间序列的最后一个数据为止。滑动窗口产生的攻击序列集为Alert_seg=(s1,s2,…,sn)。

然后,采用FP-树挖掘频繁攻击序列集,筛选大于最小支持度的频繁项集。

最后,针对上一步挖掘出来的所有频繁攻击序列集,对频繁攻击序列进行剪枝,剪去频繁攻击序列集中的非频繁项集,筛选出最大频繁攻击序列。基于FP-树的多步攻击模式挖掘的流程图如图3 所示。

图3 基于FP-树全局频繁项集的多步攻击模式挖掘

2.3 基于DS方法的网络安全态势预测

基于FP-树得到多步攻击序列,每一条Lk项攻击序列其实或多或少解揭示了每一个攻击行为发生的成功率与对主机的威胁值,从而计算出每一条Lk项攻击序列的初始信任度;在此基础上,利用DS 方法对Lk项攻击序列进行合成,从而评估Lk项攻击序列对主机的威胁态势值;最后,根据每个网络中每个主机的重要程度,计算整个网络的威胁态势值。

根据漏洞评价系统CVSS 中Access Complexity 去衡量信息探测、漏洞扫描、漏洞利用、留下后门、权限提升、发动攻击6 个攻击的成功率,攻击成功率如下:

其中,SAi表示第i个时间周期Lk项攻击序列的成功率,saij表示第i个时间周期Lk项攻击序列第j项攻击的成功率。随着攻击步数的增多,攻击者对网络发起多步攻击后,攻击行为对主机的攻击成功率越高。多步攻击对主机的威胁如下:

其中,TAi表示第i个时间周期Lk项攻击序列的威胁值,Ci表示第i个时间周期Lk项攻击序列的主机资产机密性损失;Ii表示第i个时间周期Lk项攻击序列的主机完整性损失;Ai表示第i个时间周期Lk项攻击序列的主机可用性损失。α、β、γ表示主机机密性、完整性、可用性的权重,α+β+γ=1。

在获取第i个时间周期Lk项攻击序列成功率和威胁值得基础上,计算多步攻击的初始信任度:

基于DS 理论,可对不同时间周期(比如将一周分为7 个周期,每1 天作为一个周期)的攻击序列进行合成,采用M(D) 来衡量主机的风险情况,其公式表示为:

结合主机的重要性,整个网络的安全态势可以表示为:

其中,DW为网络风险值,wi为不同设备对网络安全的重要性。

3 实验分析

3.1 实验环境与相关说明

本文采用的数据集是DARPA2000 数据集中的LLDoS1.0 数据集,该数据集包含104 万个数据包,它描述新手攻击者运行分布式DDOS 拒绝攻击服务攻击的过程:攻击者采用扫描的方式获取活动的主机列表,并对主机进行端口扫描,试图找出主机存在的漏洞;然后,通过留下后门等待权限提升,待权限提升后对主机漏洞进行攻击,采用远程登录的方式对主机进行多次操作后入侵网络系统;最后,将DDOS 安装到主机上,通过启动软件对目标主机发动攻击。基于上述的攻击顺序,CVSS 相关定义[14],结合单步攻击利用漏洞复杂度为攻击者分配相应的访问复杂度,并基于访问复杂度作为单步攻击的成功率,单步攻击的成功率分配如表2 所示:

表2 单步攻击成功率

表2 的结果是基于第2.3 节中的公式(2) 计算信息探测、漏洞扫描、漏洞利用、留下后门、权限提升、发动攻击6 个攻击的成功率。

基于表2 单步攻击成功率,结合历史数据统计值,计算单步攻击对主机的威胁值如表3 所示:

表3 单步攻击对主机的威胁值

在历史数据统计的基础上,结合专家经验,主机机密性、完整性、可用性的权重如表4 所示:

表4 主机机密性、完整性、可用性的权重值

在获取单步攻击对主机的威胁值和机密性、完整性、可用性的权重值后,采用DS 理论结合公式(3)—公式(5)计算不同时间周期的攻击序列进行合成,计算不同时间周期主机的风险。

最后,专家通过网络拓扑分析网络设备的重要性,对不同设备的重要性进行赋值,并利用公式(6) 计算整个网络的安全态势。网络中不同设备对网络安全影响的重要性如表5 所示:

表5 不同设备对网络安全影响重要性

3.2 实验结果分析

将数据划分固定周期(按照60 分钟作为一个周期计算),采用FP-树挖掘某一个主机在不同周期最大频繁多步攻击序列,得到10 个周期的网络安全态势值,如表6 所示:

表6 10个周期多步攻击序列

基于公式(2)—公式(6),通过合成不同周期的多步攻击序列的网络安全,可以计算每一个周期的某一个网络风险值,如图4 所示:

图4 某主机随着时间推进的网络风险值

由图4 可知,某主机在不同阶段的网络风险值随着时间推进,风险值越来越大。在开始阶段,攻击者采用信息探测、漏洞扫描等方式获取安全信息,此时并不会对主机造成很大的威胁性,此时网络的安全风险在0.15 左右;一旦攻击者探测到漏洞后,将会查找哪些主机存在漏洞,并利用存在漏洞的主机进行攻击,此时,网络的风险呈上升趋势,达到0.20;随着时间推移,攻击者基于主机现有的漏洞采用权限提升、渗透性攻击等手段登录到主机内部,获取用户权限,此时,主机的风险逐渐增高,增至0.44;一旦攻击者获得主机权限后,尝试获得管理者权限,一旦获得权限后,将会采用远程攻击的手段,试图远程登录目标主机,网络风险进一步增大,达到0.85;最后主机在目标主机上安装DDoS 攻击程序,并发动网络流量攻击,此时,网络将会出现瘫痪情况,网络风险值达到0.93。

而在上一小节中对DARPA2000 数据集中的LLDoS1.0 数据集的介绍可知,该数据集的攻击过程是攻击者采用扫描的方式获取活动的主机列表—对主机进行端口扫描—找出主机存在的漏洞—留下后门等待权限提升—远程登录的方式对主机进行多次操作—DDOS 安装到目标主机上并对目标主机发动攻击。由此可知,本文采用的基于频繁模式挖掘的网络安全态势变化情况与DARPA2000 数据集的攻击过程基本吻合,由此可知,本文提出的网络安全防护方法具有合理性。

4 结束语

本文针对多源安全检测设备产生的误报、漏报进而无法应对变化多样的网络攻击手段的问题,在采用FP-树挖掘多步攻击序列的基础上,使用DS 方法来合成单个主机的风险值,最后基于每一个主机在网络中的影响程度来计算整个网络安全风险值。实验表明,本文提出的方法能够较为准确地对网络安全态势进行有效的评估,具有一定的扩展性。

猜你喜欢
项集结点态势
2019年12月与11月相比汽车产销延续了增长态势
汇市延续小幅震荡态势
我国天然气供需呈现紧平衡态势
Ladyzhenskaya流体力学方程组的确定模与确定结点个数估计
县乡一体化探索呈加速态势
关联规则中经典的Apriori算法研究
一种频繁核心项集的快速挖掘算法
基于Raspberry PI为结点的天气云测量网络实现
一种新的改进Apriori算法*
基于DHT全分布式P2P-SIP网络电话稳定性研究与设计