APP下载

基于隐变量模型的恶意登录行为在线检测方法

2023-01-05彭艳兵刘泽正

信息安全研究 2023年1期
关键词:高斯分布特征向量进程

陈 雪 彭艳兵 陈 前 刘泽正

1(武汉邮电科学研究院 武汉 430074) 2(南京烽火天地通信科技有限公司 南京 210019) 3(南京信息工程大学 南京 210044)

随着计算机技术的迅速发展,人们将业务所需的资源和数据置于云上,使用远程连接进行云计算服务管理[1],远程连接行为已经成为人们日常工作中不可分割的一部分.但是由于云计算的普及,云安全[2]问题日益凸显,尤其是云账户安全面临着严峻的挑战,以网络诈骗和数据窃取为目的的恶意登录攻击因其手段隐蔽、安全隐患大等特点对个人和企业,甚至国家安全都造成了巨大的危害.

在当今大数据时代的环境下,恶意登录攻击数据急剧增加,恶意登录攻击也成为不法分子窃取用户信息或控制用户设备的主要途径.而暴力破解是使用大量认证信息在认证接口进行尝试登录操作,登录成功后获取设备的所有权限,从而造成进一步的破坏行为.如窃取相关机密数据、控制用户主机、加密数据并用于勒索或发动其他攻击.

国内外学者对恶意登录行为流量的检测进行了许多研究.在早期,Spitzner[3]通过寻找异常点作为异常检测的核心,将恶意登录行为看作异常检测问题的子问题,使用蜜罐技术对恶意登录行为进行识别.Legg等人[4]基于日志审计识别恶意登录,根据系统行为日志对用户进行分析,通过考虑其角色属性提高检测算法的准确率.迄今为止,恶意登录行为检测算法分为以下几种:基于逆向的日志分析方法、基于机器学习方法、基于深度学习的暴力破解检测方法[5-11]等,这些研究成果在不同层面阐述了提高恶意登录检测准确率的方法.

如今,用户对个人上网流量的隐私安全越来越重视,传统的基于日志分析的检测方法已不能满足当前对用户隐私保护的需求.目前,一些常用的基于机器学习和深度学习的恶意登录检测方法都采用监督学习方式对流量数据进行人工标记处理[12].由于网络流量增长迅速,这种人工打标的方式需要耗费大量的成本,而且面对海量数据进行数据标记既难以实现,又难以保证准确率.常用的深度学习检测算法所训练得出的参数较多,难以部署在用户计算机上进行在线恶意登录行为识别.

本文针对现有恶意登录检测方法的不足,从流量特征的角度分析攻击行为,提出一种基于EM算法的暴力破解流量检测模型,提高了对网络流量的监管能力.实验结果表明本文提出新模型的算法新颖,算法计算代价低,暴力破解流量检测效果好,可实现在线的恶意登录行为检测.

1 基础知识

1.1 恶意登录行为

恶意登录指的是攻击者通过某种手段自动将密码输入到被攻击的主机或网站中直到成功登录,然后攻击者通过劫持相关数据来达到目的.恶意登录的攻击方式包括暴力破解、字典攻击、凭证攻击等,本文仅研究基于暴力破解攻击方式的恶意登录行为.

1.2 EM算法理论

EM算法最初由Dempster等人[13]提出用来求解含有隐变量数学模型的参数极大似然估计问题.它是一种解决问题的思想,可以在数据不完全和不知道待估算参数的情况下,对模型参数进行极大似然估计,其中概率模型依赖于无法观测的隐性变量.

EM算法也是一种迭代算法,其每次迭代是由1个期望步和极大化步构成,而每次迭代都能保证似然函数值增加[14],并收敛到1个局部极大值.该算法具有合理性与计算结构稳定等特点,常被用于根据样本数据估计其总体分布模型的关键参数[15],从而达到通过样本进行总体数据聚类的目的,因此本文选用EM算法作为恶意登录行为的检测算法,对进行特征处理后的流量进行聚类.

采用EM算法估算高斯分布的模型参数,从而量化数据的分布达到分类的目的.假设数据集含有k个高斯分布,这些高斯分布分别代表不同的类,则每类可通过EM算法估算出的相应模型参数进行描述.

算法1.EM算法.

输入:m个样本观察数据,x=(x1,x2,…,xm),模型初始参数θj=0={μk(0),σk(0)},k=1,2,…,K,收敛阈值α,最大迭代次数J;

输出:模型参数θ∈{μk,σk},k=1,2,…,K,其中μk和σk分别表示第k个小类均值和方差.

过程:

初始化模型参数初值θj=0,EM算法迭代.

E步:根据每个小类的高斯分布,估算每个样本数据联合分布的条件概率期望函数.

Qi(zi)=P(zi|xi,θj).

(1)

M步:根据期望函数重新估计模型分布的参数,使得模型样本数据的概率逐步最大化,得到

(2)

当满足如下公式之一时迭代结束,当不满足时算法转至E步,继续迭代.

(3)

J≤j.

(4)

2 基本架构

针对现有日志审计的恶意登录行为检测方法无法满足用户上网安全需求[16],本文从用户流量的角度分析恶意登录行为,提出一种基于隐变量的恶意登录流量检测方法,能有效提高检测的效率以及准确度.首先对数据集内的流量进行数据预处理;然后根据时间窗口滑动提取数据流的进程数、进程的平均发包数等主要特征构建特征向量.基于特征向量和EM算法训练模型参数;最后使用测试集数据在基于模型参数的分类器上进行标签预测,实现对恶意登录行为的判断.方法的流程图如图1所示:

图1 基于隐含量的恶意登录流量在线识别框架

接下来,本文将对暴力破解行为及特征分析、特征向量构建、基于EM算法的暴力破解行为检测、实验验证进行介绍.

3 恶意登录特征分析及检测方法

3.1 暴力破解行为及特征分析

对于暴力破解的数据流量,源IP(sip)、目的IP(dip)、源端口等TCP字段是难以区分流量类型的.因此本文考虑2种选择特征的方法:一是统计基于进程的特征,如数据流内源端口的总个数;二是统计基于报文内容的特征,如上行报文数据包数量等[17].

由于暴力破解的本质上是利用N位数的密码库通过枚举密码的方式,不断地发起远程连接从而达到破解用户密码的目的.在攻击过程中,攻击者为加快攻击速度会同时开多个进程进行攻击,因此本文选择进程数作为流量识别的特征向量之一[18].

本文通过大量的实验分析发现,正常流量的连接中主机间通信进程数pi少且稳定,其数学期望E(pi)近似为1;暴力破解行为存在的可能性和进程数成正比,因此根据进程数将通信分为2个等级:当1≤pi<50时不确定是否异常,需要作进一步检测;当pi≥50时为暴力破解攻击,通过如此分级可以过滤大量明显的攻击数据包,减少计算量,加速检测效率.

为了确认1≤pi<50之间是否为真正的暴力破解行为,本文对每个端口的上行报文字节数进行分析.发现暴力破解行为中,每次发起1个进程向目的IP进行远程连接的内容具有规律性,其上行报文字节数不会发生很大变化.而正常用户则不同,由于正常用户通常会附带传输数据或进行其他操作,其上行报文字节数是随机变化的,且波动很大.

3.2 特征向量的构建

在TCP/IP协议体系中,运输层利用IP地址和端口号区分主机的不同进程[19].因此本文利用1 min为1个时间窗格,窗格内通过匹配源IP到目的IP聚合数据包为1条数据流,并用端口号统计每个分组的进程数,对流量数据进行特征向量构建,具体步骤如下:

Step1. 将数据以1 min为时间窗格进行分组,得到数据包Ni(i=1,2,…);

Step2. 数据按照相同sip、相同dip以及相同传输协议数据为1个流进行分流,得到Fj(j=1,2,…);

Step3. 根据端口号统计每个时间窗格内sip向dip发起的远程登录源端口总个数即进程数pi;

上文通过进程数这一特征对数据进行粗筛,但是1≤pi<50之间是否为真正的暴力破解行为还不能确认.由3.1节分析可知,正常流量中进程平均发包数波动大,异常流量中波动非常小.由此通过其标准差判断数据波动大小进行统计分析.

因此以每分钟内每条流Fj内的当前样本为基准向前追溯前4个样本,将前4个样本和当前样本的5个值求其上行数据包个数标准差,并以四元组形式输出,由此得到以四元组形式输出的特征向量(sip→dip,ti,pi,pkts_std).具体含义如表1所示:

表1 特征向量构建

3.3 基于EM算法的暴力破解检测模型

本文假设正常流量和暴力破解流量的平均进程包数标准差分别服从2个不同的高斯分布.将训练集内的四元组特征向量中pkts_std作为EM算法的输入,采用混合高斯分布模型对数据进行聚类,使用EM算法求得模型参数:2类均值μ和标准差σ.具体步骤如下:

Step1. 将小类的数量设置为2,即正常流量和异常流量,并初始化每个小类的高斯分布参数;

Step2. 根据每个小类的高斯分布,并计算每个样本数据属于每个小类的概率;

Step3. 基于Step2中每个小类的概率,计算高斯分布参数使数据点的概率逐步最大化,使用数据点概率的加权计算新一轮模型参数;

重复迭代Step2和Step3至达到收敛条件停止,输出最终的模型参数θ.

最后根据2种高斯分布的模型参数结合EM算法(算法1)步骤中的E步计算样本xi属于第几类高斯分布的概率Qi(zi),将其作为异常度判断样本标签,从而得到每个样本点的标签.

本文采用Python语言实现暴力破解攻击的检测系统,该系统可用于发现单机和分布式暴力破解行为.系统的输入为pcap格式的数据包,输出为包含暴力破解行为的流量,检测流程如图2所示:

图2 在线暴力破解检测流程图

4 实验验证

4.1 数据来源

本文实验使用的数据集是CIC-IDS-2017,该数据集在网络异常检测研究中被广泛应用[20].数据集中星期一捕获正常流量,星期二捕获暴力破解FTP攻击、SSH攻击.统计标签分布发现数据集不均衡情况相当严重,本文选取星期一的部分正常流量,以及星期二捕获到的所有暴力破解流量作为本文实验的数据集,数据集攻击类型如表2所示.由于数据集内暴力破解的数据量比较小.本文使用7∶3分割训练数据和测试数据样本数量.

表2 数据集攻击类型

4.2 评价指标

本文采用精确度Precision、召回率Recall、误报率FPR、F1值作为检测效果的评价指标[21],其公式如下所示:

(5)

(6)

(7)

(8)

上述公式中:TP表示正常流量被正确分类为正常流量的数量;FP表示暴力破解流量被错误分类为正常流量的数量;TN表示暴力破解流量被正确分类为暴力破解的数量;FN表示正常流量被错误分类为暴力破解流量的数量.

4.3 实验与分析

4.3.1 实验过程

将本文提出的EM算法与累积分布函数(cumulative distribution function, CDF)阈值分割法和多层感知机(multilayer perceptron, MLP)算法[22]进行对比实验.

利用EM算法在进行28轮迭代后得到2类高斯分布,其中:正常流量为μ1=16.520和σ1=15.585,暴力破解流量为μ2=0.209和σ2=0.147.最后根据训练出的模型参数计算每个样本点的期望函数,从而得到其样本点的标签.

采用CDF阈值分割法时,对训练集中前5个时间窗口的上行包数标准差进行经验累积分布函数计算,绘制其CDF曲线进行对比分析,发现当阈值在1.4时2类样本区分度最大,最后根据该阈值对疑似暴力破解的流量进行分类.基于多层感知机算法,采用输入层、归一化层、隐藏层和输出层组成MLP架构,分别选择ReLU和Softmax作为隐藏密集层和输出层的激活函数,使用Adagrad优化器和分类交叉熵作为损失函数,在CIC-IDS-2017数据集上对模型进行了10个阶段的训练.

通过精确度和召回率等指标对3种算法进行模型评估,实验结果如表3所示:

表3 各暴力破解流量检测算法评估结果

4.3.2 实验分析

根据表3的实验结果可看出:

EM算法在P,R,F1值评价指标上取得最佳结果,精确度为98.7%,误报率为2.38%,说明基于无监督学习的EM算法可训练得到理想的恶意登录行为二分类模型.

与CDF阈值分割算法相比,EM算法在数据集上的召回率提高12.8%,误报率降低4.19%.EM算法是基于迭代的模型参数优化策略,而CDF阈值分割法仅根据流量特征向量在其经验累计分布函数上的阈值,通过人工分析对流量标签进行判别,并没有迭代收敛的训练过程.因此EM算法在各类评价指标上要优于CDF阈值分割法.

与多层感知机算法相比,EM算法在数据集上的精确率提高了23.7%,召回率提高了63.1%.原因在于多层感知机仅基于单一样本维度进行模型训练,未考虑到样本之间连续时间序列的维度,更未考虑到进程特征这一潜在信息.而EM算法检测模型,在时间序列的基础上,通过隐变量机制捕捉流量的整体统计特征,从而增强了模型对恶意登录行为的表征能力.同时EM算法检测模型也具备较低的时间开销及轻量化等特点,可在线对暴力破解流量进行实时检测.

5 结 语

本文提出了一种基于隐变量的暴力破解在线检测方法,该方法通过深入解析暴力破解原理,提取流量特征匹配度较高的特征,进行特征向量的构建以实现特征增强,并使用轻量级的EM算法代替传统复杂的机器学习和深度学习算法实现暴力破解流量检测.实验结果表明该方法使用轻量级设计思路搭建模型能运行在更多的低算力设备上,也可结合已有系统配合使用,能很好地解决当下暴力破解检测模型复杂、用户隐私安全性不强等问题.然而本文研究依旧存在局限性,如暴力破解数据过少.因此,如何解决数据不平衡问题还需要深入研究.由于目前的方法只使用了网络流量数据,而没有考虑进程事件日志等信息.因此,如何从不同角度对恶意登录行为进行检测还有待进一步研究.

猜你喜欢

高斯分布特征向量进程
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
克罗内克积的特征向量
利用Box-Cox变换对移动通信中小区级业务流量分布的研究
2种非对称广义高斯分布模型的构造
债券市场对外开放的进程与展望
改革开放进程中的国际收支统计
一类三阶矩阵特征向量的特殊求法
在航集装箱船舶摇摆姿态的概率模型
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用
一种基于改进混合高斯模型的前景检测