CN117978461B - 基于孤立森林的异常登录检测方法及系统 - Google Patents
基于孤立森林的异常登录检测方法及系统 Download PDFInfo
- Publication number
- CN117978461B CN117978461B CN202410055273.XA CN202410055273A CN117978461B CN 117978461 B CN117978461 B CN 117978461B CN 202410055273 A CN202410055273 A CN 202410055273A CN 117978461 B CN117978461 B CN 117978461B
- Authority
- CN
- China
- Prior art keywords
- data
- isolated forest
- login
- data point
- density
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 69
- 238000001514 detection method Methods 0.000 title claims abstract description 24
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 45
- 238000007781 pre-processing Methods 0.000 claims abstract description 13
- 238000012549 training Methods 0.000 claims description 53
- 239000011159 matrix material Substances 0.000 claims description 40
- 230000011218 segmentation Effects 0.000 claims description 40
- 238000000034 method Methods 0.000 claims description 25
- 239000013598 vector Substances 0.000 claims description 20
- 238000010586 diagram Methods 0.000 claims description 13
- 230000003044 adaptive effect Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 9
- 231100000279 safety data Toxicity 0.000 claims description 6
- 230000001174 ascending effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 4
- 230000000295 complement effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 5
- 230000006399 behavior Effects 0.000 description 11
- 206010000117 Abnormal behaviour Diseases 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000003066 decision tree Methods 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000011049 filling Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001739 density measurement Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000003313 weakening effect Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本发明提供一种基于孤立森林的异常登录检测方法及系统,涉及计算机技术领域,包括:获取登录数据集,提取登录数据集中包含的初始数据特征,对初始数据特征进行预处理并构建白名单对应的安全特征集合,对安全特征集合进行数据聚类,得到数据子图;根据数据子图,结合密度估计算法,通过计算得到孤立森林模型的高斯核密度并确定密度得分,结合安全特征集合确定孤立森林树的深度并构建孤立森林树,根据孤立森林树构建孤立森林模型;根据孤立森林模型,通过计算数据子图中每个数据点在孤立森林树中的平均路径长度对数据点进行异常值识别,若平均路径长度低于路径长度阈值,则认为该数据点为异常数据点,将该数据点对应的登录信息记为异常登录信息。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于孤立森林的异常登录检测方法及系统。
背景技术
异常登录行为在安全领域变化多端,包括未知的攻击模式和恶意登录,用户行为和登录信息通常包含多个非线性关系和高维特征,传统的线性模型难以适应这种复杂的关系。
现有技术中,CN108989150A公开了一种登录异常检测方法及装置,方法包括:获取待检测用户的当前登录日志,其中,当前登录日志包括至少一第一登录标识以及对应属于第一登录标识的第一待匹配登录数据;从第一待匹配登录数据中,提取属于异常登录标识库中第二登录标识的第二待匹配登录数据,其中,异常登录标识库为用于判断用户是否登录异常的多个登录标识的集合;判断第二待匹配登录数据是否与用户常用登录数据集合中属于第二登录标识的常用登录数据相匹配,若不匹配,则确定待检测用户登录异常,其中,用户常用登录数据集合为根据待检测用户的历史登录日志,统计的属于第二登录标识的常用登录数据的集合。
综上,现有技术虽然能够通过识别访问日志中的异常登录表示对异常登录进行识别,但面对未知攻击模式和恶意访问的识别仍存在一定不足,因此需要一种方案解决现有技术中存在的问题。
发明内容
本发明实施例提供一种基于孤立森林的异常登录检测方法及系统,用于根据用户登录信息对异常登录进行检测和识别。
本发明实施例的第一方面,提供一种基于孤立森林的异常登录检测方法,包括:获取登录数据集,提取所述登录数据集中登录信息和安全访问信息中包含的初始数据特征,对所述初始数据特征进行预处理并构建白名单对应的安全特征集合,通过特征聚类算法对所述安全特征集合进行数据聚类,得到数据子图;
根据所述数据子图,结合预设的密度估计算法,通过计算孤立森林的自适应带宽和密度估计得到孤立森林模型的高斯核密度并确定密度得分,根据所述高斯核密度和所述密度得分,结合所述安全特征集合确定所述孤立森林树的深度并构建孤立森林树,根据所述孤立森林树构建孤立森林模型;
根据所述孤立森林模型,通过计算所述数据子图中每个数据点在所述孤立森林树中的平均路径长度对所述数据点进行异常值识别,若所述平均路径长度低于预设的路径长度阈值,则认为该数据点为异常数据点,将该数据点对应的登录信息记为异常登录信息。
在一种可选的实施方式中,
所述获取登录数据集,提取所述登录数据集中登录信息和安全访问信息中包含的初始数据特征,对所述初始数据特征进行预处理并构建白名单对应的安全特征集合包括:
获取系统中的登录数据集,包括登录信息数据集和安全访问信息数据集,提取所述登录信息数据集和所述安全访问信息数据集中的登录时间、地址和设备类型并转化为对应的初始数据特征;
通过补全缺失值和归一化处理对所述初始特征进行预处理,得到标准特征值,根据所述登录信息数据集,确定所述白名单对应的安全数据特征,汇总所述安全数据特征生成安全特征集合。
在一种可选的实施方式中,
所述通过特征聚类算法对所述安全特征集合进行数据聚类,得到数据子图包括:
获取所述安全特征集合,通过所述特征聚类算法计算所述安全特征集合中不同元素间的元素相似度,根据所述元素相似度构建相似度矩阵,通过全连接图将所述相似度矩阵转化为权重矩阵;
通过计算所述权重矩阵中每个节点的度数,将每个节点的度数作为对角线上的元素,生成对角矩阵,根据所述对角矩阵构建第一特征矩阵;
对所述第一特征矩阵进行特征值分解,得到第一特征值和第一特征值对应的第一特征向量,基于所述第一特征向量生成向量分布图,根据所述向量分布图通过特征映射算法进行特征切割,得到数据子图。
在一种可选的实施方式中,
所述根据所述数据子图,结合预设的密度估计算法,通过计算孤立森林的自适应带宽和密度估计得到孤立森林模型的高斯核密度并确定密度得分包括:
基于所述数据子图随机生成训练数据集,随机选择一个所述训练数据集中的训练数据点,通过密度估计算法计算所述训练数据点与所述训练数据集中其他元素中的距离,得到自适应带宽;
根据所述自适应带宽,结合所述密度估计算法计算所述训练数据点对应的高斯核密度;
对于所述训练数据点中的每个元素,计算对应的高斯核密度,并将所述高斯核密度作为该元素的密度得分。
在一种可选的实施方式中,
所述根据所述自适应带宽,结合所述密度估计算法计算所述训练数据点对应的高斯核密度如下公式所示:
其中,f()表示数据点x的高斯核密度,n表示训练样本数量,xi表示训练数据集中第i个元素,K表示高斯核函数,hi表示数据点x的自适应带宽。
在一种可选的实施方式中,
所述根据所述高斯核密度和所述密度得分,结合所述安全特征集合确定所述孤立森林树的深度并构建孤立森林树,根据所述孤立森林树构建孤立森林模型包括:
根据所述高斯核密度和所述密度得分,将预先生成的训练数据集中的数据按密度得分降序排列,选择密度得分前十的元素组成特征子集,根据所述特征子集,基于最大化信息增益确定候选分割值,计算每个候选分割值对应的信息增益,选择具有最大信息增益对应的候选分割值作为特征分割值对所述特征子集进行分割,得到第一子节点和第二子节点,其中所述第一子节点包含小于等于所述特征分割值的数据点,所述第二子节点包含大于所述特征分割值的数据点;
基于所述第一子节点和所述第二子节点,结合所述安全特征集合,确定数据点分布情况,根据所述数据点分布情况选择所述孤立森林树的初始深度范围,对于所述第一子节点和所述第二子节点中的数据点,计算每个数据点与相邻数据点的最小距离,将每个数据点对应的所述最小距离添加至预设的集合中,生成距离列表;
定义百分位,根据所述百分位,将所述距离列表中的元素按升序排列并选择所述百分位对应的距离值,将所述百分位对应的距离值作为所述孤立森林树的最大深度值;
基于所述最大深度值和所述初始深度范围,根据所述安全特征集合构建多个孤立森林树,将多个孤立森林树合并,得到孤立森林模型。
在一种可选的实施方式中,
所述根据所述孤立森林模型,通过计算所述数据子图中每个数据点在所述孤立森林树中的平均路径长度对所述数据点进行异常值识别,若所述平均路径长度低于预设的路径长度阈值,则认为该数据点为异常数据点,将该数据点对应的登录信息记为异常登录信息包括:
获取所述数据子图,将所述数据子图中数据点添加至所述孤立森林模型,计算数据点在每个孤立森林树中的路径长度,即从根节点到叶节点经历的分割次数,并计算每个数据点在孤立森林树中的平均路径长度;
将所述平均路径长度与预设的路径长度阈值进行比较,若所述平均路径长度值小于预设的路径长度阈值,则将这一平均路径长度对应的数据点记为异常数据点,将所述异常数据点对应的登录信息记为异常登录信息并返回。
本发明实施例的第二方面,提供一种基于孤立森林的异常登录检测系统,包括:
第一单元,用于获取登录数据集,提取所述登录数据集中的登录信息和安全访问信息中包含的初始数据特征,对所述初始数据特征进行预处理并构建白名单对应的安全特征集合,通过特征聚类算法对所述安全特征集合进行数据聚类,得到数据子图;
第二单元,用于根据所述数据子图,结合预设的密度估计算法,通过计算孤立森林的自适应带宽和密度估计得到孤立森林模型的高斯核密度并确定密度得分,根据所述高斯核密度和所述密度得分,结合所述安全特征集合确定所述孤立森林树的深度并构建孤立森林树,根据所述孤立森林树构建孤立森林模型;
第三单元,用于根据所述孤立森林模型,通过计算所述数据子图中每个数据点在所述孤立森林树中的平均路径长度对所述数据点进行异常值识别,若所述平均路径长度低于预设的路径长度阈值,则认为该数据点为异常数据点,将该数据点对应的登录信息记为异常登录信息。
本发明实施例的第三方面,
提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行前述所述的方法。
本发明实施例的第四方面,
提供一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现前述所述的方法。
本发明中,利用聚类算法对安全特征集合进行数据聚类,构建数据子图,有助于捕获特征之间的关系,提高模型的异常检测性能,基于数据子图,利用密度估计算法计算自适应带宽和密度得分,结合高斯核密度和安全特征集合,构建孤立森林模型,使其更好地适应数据分布和异常模式,通过计算每个数据点在孤立森林树中的平均路径长度,实现对异常值的识别。较短的平均路径长度表明数据点相对容易被孤立,从而被识别为异常,综上,本发明实现了高效、鲁棒的异常登录检测,为安全系统提供了可靠的保护。
附图说明
图1为本发明实施例基于孤立森林的异常登录检测方法的流程示意图;
图2为本发明实施例基于孤立森林的异常登录检测系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本发明实施例基于孤立森林的异常登录检测方法的流程示意图,如图1所示,所述方法包括:
S1.获取登录数据集,提取所述登录数据集中登录信息和安全访问信息中包含的初始数据特征,对所述初始数据特征进行预处理并构建白名单对应的安全特征集合,通过特征聚类算法对所述安全特征集合进行数据聚类,得到数据子图;
所述安全访问信息是指与系统、网络或应用程序的访问、使用或连接相关的数据和事件,目的是监测、记录和评估安全性,所述初始数据特征是用来描述每个登录事件或用户行为的属性,用于检测可能是异常的登录行为,所述特征聚类算法是一种将相似特征或属性分组在一起的方法,从而降低数据的维度并发现特征之间的潜在关系,所述数据子图是指从整个数据集中选择的一部分数据,构成一个子集,通常用于局部分析或特定任务。
在一种可选的实施方式中,
所述获取登录数据集,提取所述登录数据集中登录信息和安全访问信息中包含的初始数据特征,对所述初始数据特征进行预处理并构建白名单对应的安全特征集合包括:
获取系统中的登录数据集,包括登录信息数据集和安全访问信息数据集,提取所述登录信息数据集和所述安全访问信息数据集中的登录时间、地址和设备类型并转化为对应的初始数据特征;
通过补全缺失值和归一化处理对所述初始特征进行预处理,得到标准特征值,根据所述登录信息数据集,确定所述白名单对应的安全数据特征,汇总所述安全数据特征生成安全特征集合。
所述安全数据特征是指代表正常或受信任行为的属性或特性,反映了系统中典型和合规的操作模式,所述安全特征集合是指将多个安全数据特征组合在一起,形成一个综合的描述正常行为的集合,用于比较和识别异常行为。
从登录信息数据集中读取登录时间、地址和设备类型等信息,从安全访问信息数据集中读取相关信息,从登录信息数据集中提取登录时间、地址和设备类型等特征,从安全访问信息数据集中提取其他安全特征,如API调用和应用程序日志等,生成初始数据特征;
对于缺失的登录时间、地址或设备类型使用插值方法进行填充,对提取的特征进行归一化处理,将数值范围缩放到合适的区间,以便模型更好地学习,将处理后的特征进行标准化,确保它们在相同的尺度上,以避免某些特征对模型的影响过大,示例性地,所述标准化操作包括对登录时间进行时间戳转换,对地址进行编码,对设备类型进行独热编码,根据已知的白名单数据,通过统计分析确定安全登录的特征模式,包括正常的登录时间、地址、设备类型,根据白名单中的安全特征模式,将相应的特征组合成一个安全特征集合。
本实施例中,通过数据加载和特征提取,可以获得包含登录时间、地址和设备类型等信息的原始数据特征,有助于捕捉用户登录行为的关键方面,通过分析白名单,确定了正常登录的安全特征集合,提供了用于评估新登录行为是否异常的标准。综上,本实施例通过对访问信息的分析和归类,提高异常检测的准确性。
在一种可选的实施方式中,
所述通过特征聚类算法对所述安全特征集合进行数据聚类,得到数据子图包括:
获取所述安全特征集合,通过所述特征聚类算法计算所述安全特征集合中不同元素间的元素相似度,根据所述元素相似度构建相似度矩阵,通过全连接图将所述相似度矩阵转化为权重矩阵;
通过计算所述权重矩阵中每个节点的度数,将每个节点的度数作为对角线上的元素,生成对角矩阵,根据所述对角矩阵构建第一特征矩阵;
对所述第一特征矩阵进行特征值分解,得到第一特征值和第一特征值对应的第一特征向量,基于所述第一特征向量生成向量分布图,根据所述向量分布图通过特征映射算法进行特征切割,得到数据子图。
所述元素相似度指的是在数据集中的两个元素之间的相似程度,在机器学习和数据分析中,元素相似度常用于衡量数据点之间的相似性,从而进行聚类、分类或推荐等任务,所述全连接图是一个图论中的概念,其中图中的每一对节点都有边相连,所述对角矩阵是一个矩阵,除了主对角线上的元素之外,所有其他元素均为零,所述向量分布图是用来可视化向量在空间中分布情况的图表,每个向量可以在图上表示为一个点,其位置由向量在空间中的坐标决定。
获取所述安全特征集合,通过考虑数据的性质和特征集合的大小选择合适的聚类算法,确定相似度度量方法,例如欧氏距离、余弦相似度等,使用选定的聚类算法通过把元素划分为不同的簇,使得每个簇内的元素相似度较高,对安全特征集合进行聚类,根据聚类的结果,使用选定的相似度度量计算簇内元素的相似度,将相似度计算结果填充到相似度矩阵中得到相似度矩阵,将相似度矩阵中的相似度转化为全连接图中的边,将全连接图的边权重提取为权重矩阵;
计算权重矩阵中每个节点的度数,度数表示节点与其他节点相连接的边的数量,使用节点的度数构建对角矩阵,对角线上的元素为各节点的度数,通过权重矩阵和对角矩阵的组合构建第一特征矩阵;
对第一特征矩阵进行特征值分解,得到第一特征值和第一特征值对应的第一特征向量,示例性地,假设第一特征矩阵为A,是一个nxn的矩阵,首先通过求解特征方程得到特征矩阵A的特征值集合,对于特征值集合中的每个特征值,通过高斯消元法求解所述特征值对应的特征向量,基于得到的第一特征向量,将所述第一特征向量作为每个节点在分布图中的坐标,将数据点在二维或三维空间中进行可视化,并在分布图上绘制一个节点,并添加每个节点的标签和注释,生成向量分布图,其中每个节点的坐标由对应的特征向量的元素值决定,基于向量分布图,通过特征映射算法进行特征切割,示例性地,切割方法包括:先对原始数据进行降维,将数据映射到新的特征空间,通过领域知识、实验或其他聚类评估方法确定要将数据划分为多少个簇,随机选择K个数据点作为初始簇心,其中簇心是每个簇的中心点,K表示簇的数量,对于每个数据点,计算其与所有簇心的距离,并将其分配给距离最近的簇,形成K个簇,对于每个簇,通过计算其所有数据点的均值,并将均值作为新的簇心更新簇心的位置,重复更新直到达到预定的迭代次数,对映射后的数据应用聚类算法将节点分配到不同的簇,得到数据的特征切割结果,即数据子图。本实施例中,通过特征聚类算法计算安全特征集合中不同元素之间的相似度,有助于发现潜在的行为模式或者组织结构,通过全连接图将相似度矩阵转化为权重矩阵,反映了元素之间的关联强度,数据子图的生成能够将相似的元素聚集在一起,形成更易于分析和理解的子图结构,通过向量分布图和特征切割,提高了模型的解释性,使异常检测的结果更容易理解和解释,综上,本实施例通过对元素相似度的建模和特征切割,有助于准确地识别异常行为,提高了异常登录检测的准确性。
S2.根据所述数据子图,结合预设的密度估计算法,通过计算孤立森林的自适应带宽和密度估计得到孤立森林模型的高斯核密度并确定密度得分,根据所述高斯核密度和所述密度得分,结合所述安全特征集合确定所述孤立森林树的深度并构建孤立森林树,根据所述孤立森林树构建孤立森林模型;
所述密度估计算法是一种统计方法,用于估计数据集中的概率密度函数,目标是从样本数据中推断出数据分布的概率密度,在核密度估计中,带宽决定了核函数在每个数据点附近的影响范围,所述自适应带宽是用于根据数据的局部特性动态调整带宽,以更好地适应密度的变化,所述密度得分是一种用于表示数据点在数据集中的相对密度的分数,通常通过对数据点周围的局部密度进行估计而得到,密度得分越高,表示该数据点所在的区域密度越大,反之越低。
在一种可选的实施方式中,
所述根据所述数据子图,结合预设的密度估计算法,通过计算孤立森林的自适应带宽和密度估计得到孤立森林模型的高斯核密度并确定密度得分包括:
基于所述数据子图随机生成训练数据集,随机选择一个所述训练数据集中的训练数据点,通过密度估计算法计算所述训练数据点与所述训练数据集中其他元素中的距离,得到自适应带宽;
根据所述自适应带宽,结合所述密度估计算法计算所述训练数据点对应的高斯核密度;
对于所述训练数据点中的每个元素,计算对应的高斯核密度,并将所述高斯核密度作为该元素的密度得分。
基于所述数据子图,随机生成一个包含多个训练数据点的训练数据集,在所述训练数据集中随机选择一个训练数据点,使用密度估计算法计算所选训练数据点与训练数据集中其他元素的距离,得到自适应带宽,示例性地,假设有一个一维的训练数据集,带宽搜索范围在0.1到1.0之间,使用高斯核函数进行核密度估计,首先选择核函数,即高斯核函数,选择带宽范围,即[0.1,0.2,0.3…1.0],对于每个带宽值,计算对应的密度估计值,同时计算似然或其他性能指标,如对数似然,选择使似然或其他性能指标最优的贷款,得到自适应带宽。其中,所述自适应带宽是基于距离的均值、中位数等统计量进行计算的,以此适应数据的局部特性;
示例性地,假设有一个向量分布图,图中有30个节点,每个节点用二维坐标表示,从这些节点中随机选择15个作为训练数据集,随机选择训练数据集中的第8个节点作为训练数据点,使用核密度估计算法计算目标数据点附近的密度,并通过交叉验证选择了自适应带宽。
使用高斯核密度估计公式计算所选训练数据点的高斯核密度,结合自适应带宽,对于训练数据集中的每个元素,计算对应的高斯核密度,对每个训练数据集对应的高斯核密度进行归一化操作后将其作为该元素的密度得分。
本实施例中,通过计算自适应带宽和高斯核密度,实现对训练数据点周围局部密度的建模,有助于捕捉数据的局部特征,尤其是在数据分布不均匀或密度变化较大的情况下,计算每个训练数据点的密度得分,可以帮助识别相对稀疏或异常的登录模式,从而标识潜在的异常登录行为,密度得分提供了相对密度的度量,使得异常点的判定不仅仅依赖于绝对密度值,还考虑了局部数据密度的变化,有助于更准确地评估异常性,综上,本实施例提供了更精细的异常行为检测,从而提高整个系统对于潜在威胁的感知和响应能力。
在一种可选的实施方式中,
所述根据所述自适应带宽,结合所述密度估计算法计算所述训练数据点对应的高斯核密度如下公式所示:
其中,f()表示数据点x的高斯核密度,n表示训练样本数量,xi表示训练数据集中第i个元素,K表示高斯核函数,hi表示数据点x的自适应带宽。
本函数中,自适应带宽考虑了数据点周围的局部特性,确保了在密度估计中对于不同数据点能够使用不同的带宽。这有助于适应密度变化较大的场景,提高密度估计的准确性,通过对训练数据集中每个元素进行综合利用,考虑了整个训练样本的分布情况,使模型对于整体数据分布的把握更全面,提高了模型的泛化能力,自适应带宽考虑了数据点周围的局部情况,有助于减弱噪声对密度估计的影响,提高了模型对于异常登录行为的抗噪声能力,综上,本函数能够通过密度估计提供相对密度的度量,结合了全局和局部信息,从而增强了模型对异常行为的感知能力。
在一种可选的实施方式中,
所述根据所述高斯核密度和所述密度得分,结合所述安全特征集合确定所述孤立森林树的深度并构建孤立森林树,根据所述孤立森林树构建孤立森林模型包括:
根据所述高斯核密度和所述密度得分,将预先生成的训练数据集中的数据按密度得分降序排列,选择密度得分前十的元素组成特征子集,根据所述特征子集,基于最大化信息增益确定候选分割值,计算每个候选分割值对应的信息增益,选择具有最大信息增益对应的候选分割值作为特征分割值对所述特征子集进行分割,得到第一子节点和第二子节点,其中所述第一子节点包含小于等于所述特征分割值的数据点,所述第二子节点包含大于所述特征分割值的数据点;
基于所述第一子节点和所述第二子节点,结合所述安全特征集合,确定数据点分布情况,根据所述数据点分布情况选择所述孤立森林树的初始深度范围,对于所述第一子节点和所述第二子节点中的数据点,计算每个数据点与相邻数据点的最小距离,将每个数据点对应的所述最小距离添加至预设的集合中,生成距离列表;
定义百分位,根据所述百分位,将所述距离列表中的元素按升序排列并选择所述百分位对应的距离值,将所述百分位对应的距离值作为所述孤立森林树的最大深度值;
基于所述最大深度值和所述初始深度范围,根据所述安全特征集合构建多个孤立森林树,将多个孤立森林树合并,得到孤立森林模型。
所述特征子集指的是在构建每棵树时从原始特征集合中随机选择的一部分特征,所述候选分割值是在构建决策树或其他划分数据的模型时使用的一个值,用于将数据集划分为两个子集的可能取值,所述信息增益是用于决策树和孤立森林等模型中的一个度量,用于评估在给定特征上进行分割后是否能够获得更多的信息,所述孤立森林是一种用于异常检测的机器学习模型,其基本思想是通过构建一些简单而有效的决策树来隔离异常值,所述百分位是统计学中的概念,用于表示在一组数据中小于或等于某个特定百分比的数据点的值。
对于预先生成的训练数据集中的每个数据点,使用高斯核密度估计计算该数据点的密度得分,将训练数据集中的数据点按照计算得到的密度得分降序排列,从降序排列的数据中选择密度得分前十的数据点,组成特征子集,对于特征子集中的每个特征,根据最大化信息增益的准则选择候选分割值,对于连续型特征,使用特征值的中点作为候选分割值,对于离散型特征,选择每个可能的取值作为候选分割值,使用信息增益的准则,计算每个候选分割值对应的信息增益,需要说明的是,所述信息增益使用熵来度量,从所有候选分割值中选择具有最大信息增益的候选分割值作为最优分割值,示例性地,计算整个数据集的目标变量的信息熵,作为初始不确定性的度量,对于每个候选分割值将数据集分成两个部分:左子集(小于等于分割值)和右子集(大于分割值),对左右子集分别计算目标变量的信息熵,计算左右子集的权重,计算加权平均的信息熵,通过整个数据集的不确定性减去加权平均后的不确定性计算信息增益,从所有候选分割值中选择具有最大信息增益的分割值,对每个特征进行迭代,重复上述计算过程,得到最优分割值。
假设有一个数据集包含一个二分类目标变量(是/否)和一个连续型特征(Age),想要选择一个合适的分割值,首先计算整个数据集目标变量的信息熵,对于每个可能的年龄(连续型特征)作为候选分割值,计算左右子集的信息熵,计算每个候选分割值对应的信息增益,选择具有最大信息增益的分割值,作为最优的分割点。
可选地,所述基于熵的信息增益的计算方法如下公式所示:
其中,IG表示信息增益,E(P)表示父节点P的熵,i表示子节点,N表示父节点中数据点总和,Ni表示子节点中数据点总和,E(C)表示子节点i的熵。
根据所选的最优分割值,将特征子集中的数据点分割为两个子节点,其中第一子节点包含小于等于所选特征分割值的数据点,第二子节点包含大于所选特征分割值的数据点;利用第一子节点和第二子节点中的登录数据点,结合安全特征集合,通过分析登录数据点的安全特征,确定数据点的分布情况,基于数据点分布情况,通过分析安全特征集合中的信息,确定孤立森林树的初始深度范围,其中所述初始深度范围的选择需要考虑安全特征的频繁变化或异常情况,遍历第一子节点和第二子节点中的每个登录数据点,根据相邻规则确定相邻登录数据点,例如按照时间相邻的登录记录,通过度量数据点之间的距离计算每个数据点与相邻数据点的最小距离,将每个登录数据点对应的最小距离添加至预设的集合中,形成距离列表;
根据系统需求定义百分位初始值,其中,百分位通常用符号"p"p=90,表示要选择距离列表的第90百分位作为深度限制,对生成的距离列表进行升序排列,根据预先定义的百分位初始值选择距离列表中对应百分位的距离值,将所选距离值作为孤立森林树的最大深度值,示例性地,将距离列表按升序排序,然后找到第p百分位对应的距离值,例如,如果距离列表包含了100个数据点的最近邻距离,并且选择p=90,则第90百分位对应的距离值将是排序后的第90个距离值,利用所选最大深度值和初始深度范围,在安全特征集合中构建一个孤立森林树,重复上述步骤,为每个安全特征集合构建多个孤立森林树,将构建的多个孤立森林树合并,得到最终的孤立森林模型。
本实施例中,将训练数据按照密度得分降序排列,选择密度得分前十的数据点组成特征子集,这样选择的数据点更可能是在特定区域内具有异常行为的数据,对于选定的特征子集,通过最大化信息增益的方式确定候选分割值,这有助于在孤立森林中找到对异常登录具有区分性的分割点,使用确定的分割值将特征子集中的数据分为两个子节点(第一子节点和第二子节点),使构建的孤立森林模型能够适应数据中的潜在异常结构,结合数据点分布和最小距离计算,使得构建的孤立森林更能适应不同数据分布情况,提高了模型的鲁棒性,综上,本实施例提高了异常登录检测的精准性和鲁棒性,考虑数据分布和多树合并,有效适应不同场景,构建的孤立森林模型具备较强的异常模式捕捉能力。
S3.根据所述孤立森林模型,通过计算所述数据子图中每个数据点在所述孤立森林树中的平均路径长度对所述数据点进行异常值识别,若所述平均路径长度低于预设的路径长度阈值,则认为该数据点为异常数据点,将该数据点对应的登录信息记为异常登录信息。
所述路径长度阈值是一个用于定义异常点的参数,调整路径长度阈值可以影响孤立森林模型对异常点的敏感性,选择合适的阈值需要根据具体问题和数据进行调整,以平衡检测的准确性和对正常数据的覆盖程度。
在一种可选的实施方式中,
所述根据所述孤立森林模型,通过计算所述数据子图中每个数据点在所述孤立森林树中的平均路径长度对所述数据点进行异常值识别,若所述平均路径长度低于预设的路径长度阈值,则认为该数据点为异常数据点,将该数据点对应的登录信息记为异常登录信息包括:
获取所述数据子图,将所述数据子图中的数据点添加至所述孤立森林模型,计算数据点在每个孤立森林树中的路径长度,即从根节点到叶节点经历的分割次数,并计算每个数据点在孤立森林树中的平均路径长度;
将所述平均路径长度与预设的路径长度阈值进行比较,若所述平均路径长度值小于预设的路径长度阈值,则将这一平均路径长度对应的数据点记为异常数据点,将所述异常数据点对应的登录信息记为异常登录信息并返回。
将已构建的数据子图中的数据点添加至预先构建的孤立森林模型,对每个数据点,在孤立森林模型的每棵树上计算其路径长度,即从根节点到叶节点经过的分割次数,其中,所述路径长度表示数据点在特征空间中的孤立度,对于每个数据点,计算其在所有孤立森林树中路径长度的平均值;
将计算得到的平均路径长度与预先设定的路径长度阈值进行比较,如果平均路径长度小于路径长度阈值,将该数据点标记为异常,需要说明的是,较短的路径长度表示数据点在特征空间中相对较容易孤立,可能是异常的倾向,记录被标记为异常的数据点对应的登录信息,包括登录时间、地址、设备类型等信息,返回所有被标记为异常的登录信息。
示例性地,假设有一个包含登录信息的数据集,包括时间、地址、设备类型等信息,使用之前生成的数据子图,并构建了一个孤立森林模型,对于所述数据子图中的每个数据点,计算其在所有孤立森林树中的平均路径长度,每个数据点对应的平均路径长度可能为10,12,8,25和6,假设预先设定路径长度阈值为10,将平均路径长度小于10的数据点标记为异常,即将平均路径长度为8和6对应的数据点记为异常数据点,对于所有被标记为异常的数据点,记录对应的登录信息,包括登录时间、地址和设备类型。
本实施例中,通过计算数据点在孤立森林树中的平均路径长度,能够更准确地判断异常数据点,通过路径长度的计算,方法可以快速识别潜在的异常登录,实现实时的异常检测响应,由于孤立森林的特性,该方法对于不同类型的异常登录行为具有良好的适应性,包括新出现的、未知的异常模式,通过记录异常数据点对应的登录信息,有助于安全团队进一步分析异常情况、追踪潜在威胁,以及制定更有效的安全策略,综上,本实施例提供了一种有效、高效的异常登录检测方法,为安全系统提供了可靠的保护和威胁监测手段。
图2为本发明实施例基于孤立森林的异常登录检测系统的结构示意图,如图2所示,所述系统包括:
第一单元,用于获取登录数据集,提取所述登录数据集中登录信息和安全访问信息中包含的初始数据特征,对所述初始数据特征进行预处理并构建白名单对应的安全特征集合,通过特征聚类算法对所述安全特征集合进行数据聚类,得到数据子图;
第二单元,用于根据所述数据子图,结合预设的密度估计算法,通过计算孤立森林的自适应带宽和密度估计得到孤立森林模型的高斯核密度并确定密度得分,根据所述高斯核密度和所述密度得分,结合所述安全特征集合确定所述孤立森林树的深度并构建孤立森林树,根据所述孤立森林树构建孤立森林模型;
第三单元,用于根据所述孤立森林模型,通过计算所述数据子图中每个数据点在所述孤立森林树中的平均路径长度对所述数据点进行异常值识别,若所述平均路径长度低于预设的路径长度阈值,则认为该数据点为异常数据点,将该数据点对应的登录信息记为异常登录信息。
本发明实施例的第三方面,
提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行前述所述的方法。
本发明实施例的第四方面,
提供一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现前述所述的方法。
本发明可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明的各个方面的计算机可读程序指令。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.基于孤立森林的异常登录检测方法,其特征在于,包括:
获取登录数据集,提取所述登录数据集中登录信息和安全访问信息中包含的初始数据特征,对所述初始数据特征进行预处理并构建白名单对应的安全特征集合,通过特征聚类算法对所述安全特征集合进行数据聚类,得到数据子图;
根据所述数据子图,结合预设的密度估计算法,通过计算孤立森林的自适应带宽和密度估计得到孤立森林模型的高斯核密度并确定密度得分,根据所述高斯核密度和所述密度得分,结合所述安全特征集合确定孤立森林树的深度并构建孤立森林树,根据所述孤立森林树构建孤立森林模型;
根据所述孤立森林模型,通过计算所述数据子图中每个数据点在所述孤立森林树中的平均路径长度对所述数据点进行异常值识别,若所述平均路径长度低于预设的路径长度阈值,则认为该数据点为异常数据点,将该数据点对应的登录信息记为异常登录信息;
所述通过特征聚类算法对所述安全特征集合进行数据聚类,得到数据子图包括:
获取所述安全特征集合,通过所述特征聚类算法计算所述安全特征集合中不同元素间的元素相似度,根据所述元素相似度构建相似度矩阵,通过全连接图将所述相似度矩阵转化为权重矩阵;
通过计算所述权重矩阵中每个节点的度数,将每个节点的度数作为对角线上的元素,生成对角矩阵,根据所述对角矩阵构建第一特征矩阵;
对所述第一特征矩阵进行特征值分解,得到第一特征值和第一特征值对应的第一特征向量,基于所述第一特征向量生成向量分布图,根据所述向量分布图通过特征映射算法进行特征切割,得到数据子图。
2.根据权利要求1所述的方法,其特征在于,所述获取登录数据集,提取所述登录数据集中登录信息和安全访问信息中包含的初始数据特征,对所述初始数据特征进行预处理并构建白名单对应的安全特征集合包括:
获取系统中的登录数据集,包括登录信息数据集和安全访问信息数据集,提取所述登录信息数据集和所述安全访问信息数据集中的登录时间、地址和设备类型并转化为对应的初始数据特征;
通过补全缺失值和归一化处理对所述初始数据特征进行预处理,得到标准特征值,根据所述登录信息数据集,确定所述白名单对应的安全数据特征,汇总所述安全数据特征生成安全特征集合。
3.根据权利要求1所述的方法,其特征在于,所述根据所述数据子图,结合预设的密度估计算法,通过计算孤立森林的自适应带宽和密度估计得到孤立森林模型的高斯核密度并确定密度得分包括:
基于所述数据子图随机生成训练数据集,随机选择一个所述训练数据集中的训练数据点,通过密度估计算法计算所述训练数据点与所述训练数据集中其他元素中的距离,得到自适应带宽;
根据所述自适应带宽,结合所述密度估计算法计算所述训练数据点对应的高斯核密度;
对于所述训练数据点中的每个元素,计算对应的高斯核密度,并将所述高斯核密度作为该元素的密度得分。
4.根据权利要求3所述的方法,其特征在于,所述根据所述自适应带宽,结合所述密度估计算法计算所述训练数据点对应的高斯核密度如下公式所示:
;
其中,f()表示数据点x的高斯核密度,n表示训练样本数量,xi表示训练数据集中第i个元素,K表示高斯核函数,hi表示数据点x的自适应带宽。
5.根据权利要求1所述的方法,其特征在于,所述根据所述高斯核密度和所述密度得分,结合所述安全特征集合确定所述孤立森林树的深度并构建孤立森林树,根据所述孤立森林树构建孤立森林模型包括:
根据所述高斯核密度和所述密度得分,将预先生成的训练数据集中的数据按密度得分降序排列,选择密度得分前十的元素组成特征子集,根据所述特征子集,基于最大化信息增益确定候选分割值,计算每个候选分割值对应的信息增益,选择具有最大信息增益对应的候选分割值作为特征分割值对所述特征子集进行分割,得到第一子节点和第二子节点,其中所述第一子节点包含小于等于所述特征分割值的数据点,所述第二子节点包含大于所述特征分割值的数据点;
基于所述第一子节点和所述第二子节点,结合所述安全特征集合,确定数据点分布情况,根据所述数据点分布情况选择所述孤立森林树的初始深度范围,对于所述第一子节点和所述第二子节点中的数据点,计算每个数据点与相邻数据点的最小距离,将每个数据点对应的所述最小距离添加至预设的集合中,生成距离列表;
定义百分位,根据所述百分位,将所述距离列表中的元素按升序排列并选择所述百分位对应的距离值,将所述百分位对应的距离值作为所述孤立森林树的最大深度值;
基于所述最大深度值和所述初始深度范围,根据所述安全特征集合构建多个孤立森林树,将多个孤立森林树合并,得到孤立森林模型。
6.根据权利要求1所述的方法,其特征在于,所述根据所述孤立森林模型,通过计算所述数据子图中每个数据点在所述孤立森林树中的平均路径长度对所述数据点进行异常值识别,若所述平均路径长度低于预设的路径长度阈值,则认为该数据点为异常数据点,将该数据点对应的登录信息记为异常登录信息包括:
获取所述数据子图,将所述数据子图中的数据点添加至所述孤立森林模型,计算数据点在每个孤立森林树中的路径长度,即从根节点到叶节点经历的分割次数,并计算每个数据点在孤立森林树中的平均路径长度;
将所述平均路径长度与预设的路径长度阈值进行比较,若所述平均路径长度值小于预设的路径长度阈值,则将这一平均路径长度对应的数据点记为异常数据点,将所述异常数据点对应的登录信息记为异常登录信息并返回。
7.基于孤立森林的异常登录检测系统,用于实现前述权利要求1-6中任一项所述的基于孤立森林的异常登录检测方法,其特征在于,包括:
第一单元,用于获取登录数据集,提取所述登录数据集中登录信息和安全访问信息中包含的初始数据特征,对所述初始数据特征进行预处理并构建白名单对应的安全特征集合,通过特征聚类算法对所述安全特征集合进行数据聚类,得到数据子图;
第二单元,用于根据所述数据子图,结合预设的密度估计算法,通过计算孤立森林的自适应带宽和密度估计得到孤立森林模型的高斯核密度并确定密度得分,根据所述高斯核密度和所述密度得分,结合所述安全特征集合确定孤立森林树的深度并构建孤立森林树,根据所述孤立森林树构建孤立森林模型;
第三单元,用于根据所述孤立森林模型,通过计算所述数据子图中每个数据点在所述孤立森林树中的平均路径长度对所述数据点进行异常值识别,若所述平均路径长度低于预设的路径长度阈值,则认为该数据点为异常数据点,将该数据点对应的登录信息记为异常登录信息。
8.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至6中任意一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410055273.XA CN117978461B (zh) | 2024-01-15 | 2024-01-15 | 基于孤立森林的异常登录检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410055273.XA CN117978461B (zh) | 2024-01-15 | 2024-01-15 | 基于孤立森林的异常登录检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117978461A CN117978461A (zh) | 2024-05-03 |
CN117978461B true CN117978461B (zh) | 2024-06-25 |
Family
ID=90854124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410055273.XA Active CN117978461B (zh) | 2024-01-15 | 2024-01-15 | 基于孤立森林的异常登录检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117978461B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784470A (zh) * | 2019-10-30 | 2020-02-11 | 上海观安信息技术股份有限公司 | 一种用户异常登录的确定方法及装置 |
CN113392914A (zh) * | 2021-06-22 | 2021-09-14 | 北京邮电大学 | 一种基于数据特征的权重来构建孤立森林的异常检测算法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108777873B (zh) * | 2018-06-04 | 2021-03-02 | 江南大学 | 基于加权混合孤立森林的无线传感网络异常数据检测方法 |
CN114338195A (zh) * | 2021-12-30 | 2022-04-12 | 中国电信股份有限公司 | 基于改进孤立森林算法的web流量异常检测方法及装置 |
US20230275915A1 (en) * | 2022-02-28 | 2023-08-31 | Microsoft Technology Licensing, Llc. | Machine learning for anomaly detection based on logon events |
CN117014210A (zh) * | 2023-08-15 | 2023-11-07 | 辽宁大学 | 基于ChebNet图卷积神经网络的邮件蠕虫检测系统 |
-
2024
- 2024-01-15 CN CN202410055273.XA patent/CN117978461B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110784470A (zh) * | 2019-10-30 | 2020-02-11 | 上海观安信息技术股份有限公司 | 一种用户异常登录的确定方法及装置 |
CN113392914A (zh) * | 2021-06-22 | 2021-09-14 | 北京邮电大学 | 一种基于数据特征的权重来构建孤立森林的异常检测算法 |
Also Published As
Publication number | Publication date |
---|---|
CN117978461A (zh) | 2024-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ikram et al. | Improving accuracy of intrusion detection model using PCA and optimized SVM | |
CN107493277B (zh) | 基于最大信息系数的大数据平台在线异常检测方法 | |
CN110570111A (zh) | 企业风险预测方法、模型训练方法、装置及设备 | |
CN108073158A (zh) | 基于pca和knn密度算法风电机组轴承故障诊断方法 | |
CN110995508A (zh) | 基于kpi突变的自适应无监督在线网络异常检测方法 | |
CN109858254A (zh) | 基于日志分析的物联网平台攻击检测系统及方法 | |
CN110149347B (zh) | 利用拐点半径实现动态自适应聚类的网络入侵检测方法 | |
CN112437053B (zh) | 入侵检测方法及装置 | |
CN109257383B (zh) | 一种bgp异常检测方法及系统 | |
US20230385699A1 (en) | Data boundary deriving system and method | |
CN111783845A (zh) | 一种基于局部线性嵌入和极限学习机的隐匿虚假数据注入攻击检测方法 | |
CN116662817B (zh) | 物联网设备的资产识别方法及系统 | |
EP2530623A1 (en) | Wave kernel signature for feature description | |
Megantara et al. | Feature importance ranking for increasing performance of intrusion detection system | |
Guowei et al. | Research on network intrusion detection method of power system based on random forest algorithm | |
Juvonen et al. | Adaptive framework for network traffic classification using dimensionality reduction and clustering | |
Mercioni et al. | A survey of distance metrics in clustering data mining techniques | |
Elmasri et al. | Evaluation of CICIDS2017 with qualitative comparison of Machine Learning algorithm | |
CN117670066A (zh) | 基于智能决策的司库管理方法、系统、设备及存储介质 | |
Aziz et al. | Cluster Analysis-Based Approach Features Selection on Machine Learning for Detecting Intrusion. | |
CN114003900A (zh) | 变电站二次系统网络入侵检测方法、装置及系统 | |
CN114443338A (zh) | 面向稀疏负样本的异常检测方法、模型构建方法及装置 | |
CN117978461B (zh) | 基于孤立森林的异常登录检测方法及系统 | |
Rahman et al. | An efficient approach for selecting initial centroid and outlier detection of data clustering | |
de Araujo et al. | Impact of feature selection methods on the classification of DDoS attacks using XGBoost |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |