[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN115982722B - 一种基于决策树的漏洞分类检测方法 - Google Patents

一种基于决策树的漏洞分类检测方法 Download PDF

Info

Publication number
CN115982722B
CN115982722B CN202310055340.3A CN202310055340A CN115982722B CN 115982722 B CN115982722 B CN 115982722B CN 202310055340 A CN202310055340 A CN 202310055340A CN 115982722 B CN115982722 B CN 115982722B
Authority
CN
China
Prior art keywords
decision tree
vulnerability
data
feature
classification
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
Application number
CN202310055340.3A
Other languages
English (en)
Other versions
CN115982722A (zh
Inventor
吴艳
虞雁群
刘彦伸
郭银锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Yu'an Information Technology Co ltd
Original Assignee
Zhejiang Yu'an Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Yu'an Information Technology Co ltd filed Critical Zhejiang Yu'an Information Technology Co ltd
Priority to CN202310055340.3A priority Critical patent/CN115982722B/zh
Publication of CN115982722A publication Critical patent/CN115982722A/zh
Application granted granted Critical
Publication of CN115982722B publication Critical patent/CN115982722B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于决策树的漏洞分类检测方法,它首先使用Python对漏洞数据库中的漏洞数据信息进行爬取,并整合成原始数据集;接着,选取数据特征和划分数据集,对划分的数据集进行数据优化,确定分类顺序,并设置GINI系数阈值来建立CART决策树;然后,对构建的模型进行合理的评估,根据准确率、错误率和运行时间来评估所构造模型的性能优劣。本发明所提出的基于类距离的决策树模型优于传统的决策树方法,更适合用于漏洞的分类检测。本发明方法匹配效果好,提取特征能力强,能够精确快速地匹配分类漏洞类型,大大提高了漏洞检测效率,从而提升整个系统应对漏洞安全风险的可靠性和时效性。

Description

一种基于决策树的漏洞分类检测方法
技术领域
本发明涉及系统安全技术领域,具体涉及一种基于决策树的漏洞分类检测方法。
背景技术
在安全形势日益严重的今天,大大小小的系统都有被攻击的风险,系统的安全防护问题变得越来越重要。但当前,系统的开发者和维护者对于安全风险的认识不足,依旧把系统的功能和需求作为第一导向,这导致许多系统仍存在着巨大的安全隐患。
现如今市场整体对于一些系统漏洞问题并没有过多关注,不少系统存在防护措施不当的问题,更多的系统会因为成本原因无法得到安全防护服务,造成自身暴露在互联网环境中,极易遭受攻击者利用漏洞进行攻击。而随着各种各样的漏洞层出不穷,对于漏洞的防御措施也越来越多,对于具有特定特征的漏洞,往往会有特定的漏洞修复方法。
因此为了更高效率地检测和防御系统中可能出现的漏洞风险,本发明提供了一种基于决策树的漏洞分类检测方法,从漏洞呈现的各种特征出发来尽可能地检测各种漏洞类型,从而更好地制定安全策略以确保系统的安全性和可靠性。
发明内容
本发明的目的在于针对现有技术的缺陷和不足,提供一种基于决策树的漏洞分类检测方法,它是一种匹配效果好,提取特征能力强,精确快速的漏洞分类检测方法。
为实现上述目的,本发明采用的技术方案是:它包含如下步骤:
S1.数据采集:使用Python爬虫技术对漏洞数据库中漏洞相关数据进行爬取,并对爬取到的数据信息进行筛选,构成初步的数据集,接着对漏洞的共有属性进行提取形成特征集合,由于特征集合中非数值特征的存在,需要将其转化为数值特征;
S2.数据优化:将数据集中的几种数据类型用数字替代后,再对数字化的数据进行归一化处理,使每一个值都在[0,1]范围内,保证分类器可以同等对待每个特征;为了方便提取数据的主要特征,将使用主成分分析(PCA)方法,计算原数据的特征向量和特征值,通过从小到大排序特征值,保留前一部分特征向量,对数据进行降维操作;
S3.确定分类顺序:将数据集中的任意一个漏洞类型样例作为正例,将其他的漏洞类型作为反例,以此分为不同类别的分类器,即拆分成不同数量的二分类任务;计算各类样本数据的类间距离,将类间距离按从大到小进行排序并分离,然后创建一个根节点,确定优先级最高分类类别D1,将训练集数据的结果分为属于D1和不属于D1的两个类别;
选择欧氏距离作为各类别之间的中心距离,欧氏距离在数学中表示两点在空间中的欧几里得距离,有时被称为勾股距离;n维空间中的欧式距离公式为:
Figure BDA0004060471910000021
S4.设置GiNi系数阈值,在步骤S3的基础上建立CART决策树;
S5.当训练完CART决策树后,输出所有预测结果为D1的样本,将D1样本从数据集中删除,再用D2类别来分离接下来的样本数据;分类后的结果分别是属于D2的样本和不属于D2的剩余样本,再接着继续构建剩余样本的决策树;
S6.对步骤S3、步骤S4和步骤S5进行重复,直到D中只有一个类别,输出最终分类的预测结果;
S7.对构建的决策树模型进行评估:通过输入的测试数据集和输出的分类结果进行测试和验证,通过参数直接计算获取准确率,进一步比较该决策树与逆序方法决策树以及传统迭代方法决策树的分类检测性能。
进一步地,在步骤S2中,如果漏洞数据集的特征属性比较多,在构建过程中就会十分复杂;这时应该考虑将多维(高维)数据映射到低维的数据,采用的方法有PCA主成分分析和LDA线性判别分析;
进一步地,在步骤S4中,设置GiNi阈值并建立CART决策树的具体步骤如下:
1)如果当前节点的样本数据集P没有特征值或者样本的个数小于临界值,则不对该节点执行递归操作,并返回到决策子树;
2)计算样本数据集P的GiNi系数并与临界值进行比较,若结果小于临界值,则不执行递归操作,并返回到决策子树;
3)计算每一个特征对应的特征值在数据集P中的GiNi系数;
4)在计算出来的GiNi系数中选择最优的特征和相应的最优特征值,将样本数据集划分为C1和C2两部分,C1为当前节点的左节点,C2则为当前节点的右节点;
5)在C1和C2上递归调用步骤(1)到步骤(3),形成最终的CART决策树。
进一步地,步骤S7中的模型评估,在建立决策树模型后需要给出该模型的评价值,这样才可以来判断模型的优劣。
本发明所述的基于决策树的漏洞分类检测方法,使用类间距离来确定各类型的分类顺序;类间距离有重心、中心、最近和最远4种距离;本发明通过计算每个类别的中心距离,可以更容易地将每个类别分开,类中心距离是通过计算类中心所有数据点距离的平均值得到的。
采用上述方案后,本发明有益效果为:本发明所述的一种基于决策树的漏洞分类检测方法,将采集的漏洞数据集进行优化,使用类间距离确定漏洞类型的分类顺序,训练基于类间距离的决策树漏洞检测算法模型,匹配效果好,提取特征能力强,能够精确快速地匹配分类漏洞类型,大大提高了漏洞检测效率,从而提升整个系统应对漏洞安全风险的可靠性和时效性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的流程图;
图2是决策树模型内部的优先级分类过程。
具体实施方式
下面结合附图,对本发明作进一步的说明。
实施例:参看图1所示,一种基于决策树的漏洞分类检测方法,它包含如下步骤:
S1.数据采集:使用Python爬虫技术对漏洞数据库中漏洞相关数据进行爬取,并对爬取到的数据信息进行筛选,构成初步的数据集,接着对漏洞的共有属性进行提取形成特征集合,据集中存在许多漏洞特有的异常类型,如:severity、publicExploit、exploitTypes、exploitInKit;由于特征集合中非数值特征的存在,需要将其转化为数值特征;
S2.数据优化:将数据集中的几种数据类型用数字替代后,再对数字化的数据进行归一化处理,使每一个值都在[0,1]范围内,保证分类器可以同等对待每个特征;为了方便提取数据的主要特征,将使用主成分分析(PCA)方法,计算原数据的特征向量和特征值,通过从小到大排序特征值,保留前一部分特征向量,对数据进行降维操作;
如果漏洞数据集的特征属性比较多,在构建过程中就会十分复杂;这时应该考虑将多维(高维)数据映射到低维的数据,常用的方法有PCA:主成分分析(无监督)和LDA:线性判别分析(有监督);降维后的数据集不仅降低了自身的冗余性,还减少了无效数据对方法的影响,从而提高了方法的运行速度和准确性;
S3.确定分类顺序:将数据集中的任意一个漏洞类型样例作为正例,将其他的漏洞类型作为反例,以此分为不同类别的分类器,即拆分成不同数量的二分类任务;假设当前的类别样例有R1、R2、R3、R4、R5,将其分为R1与{R2,R3,R4,R5}、R2与{R1,R3,R4,R5}、R3与{R1,R2,R4,R5}、R4与{R1,R2,R3,R5}、R5与{R1,R2,R3,R4}5个类别,即拆分成5个二分类任务;计算各类样本数据的类间距离,将类间距离按从大到小进行排序并分离,然后创建一个根节点,确定优先级最高分类类别D1,将训练集数据的结果分为属于D1和不属于D1的两个类别;
对于训练集分类效果最好的分类类别要放在离根节点最近的位置,当对该分类类别进行分类后,再选择次优的类别进行分离,以此类推,直到所有的类别都分离出来;
选择欧氏距离作为各类别之间的中心距离,欧氏距离在数学中表示两点在空间中的欧几里得距离,有时被称为勾股距离;n维空间中的欧式距离公式为:
Figure BDA0004060471910000051
S4.设置GiNi系数阈值,在步骤S3的基础上建立CART决策树,具体步骤如下:
1)如果当前节点的样本数据集P没有特征值或者样本的个数小于临界值,则不对该节点执行递归操作,并返回到决策子树;
2)计算样本数据集P的GiNi系数并与临界值进行比较,若结果小于临界值,则不执行递归操作,并返回到决策子树;
3)计算每一个特征对应的特征值在数据集P中的GiNi系数;
4)在计算出来的GiNi系数中选择最优的特征和相应的最优特征值,将样本数据集划分为C1和C2两部分,C1为当前节点的左节点,C2则为当前节点的右节点;
5)在C1和C2上递归调用步骤(1)到步骤(3),形成最终的CART决策树。
S5.当训练完CART决策树后,输出所有预测结果为D1的样本,将D1样本从数据集中删除,再用D2类别来分离接下来的样本数据;分类后的结果分别是属于D2的样本和不属于D2的剩余样本,再接着继续构建剩余样本的决策树;
S6.对步骤S3、步骤S4和步骤S5进行重复,直到D中只有一个类别,输出最终分类的预测结果;
S7.对构建的决策树模型进行评估:通过输入的测试数据集和输出的分类结果进行测试和验证,通过参数直接计算获取准确率,进一步比较该决策树与逆序方法决策树以及传统迭代方法决策树的分类检测性能。
建立决策树模型后需要给出该模型的评价值,这样才可以判断模型的优劣。
与其他决策树算法不同的是,本发明所述的基于决策树的漏洞分类检测方法,使用类间距离来确定各类型的分类顺序;类间距离有重心、中心、最近和最远4种距离;本发明通过计算每个类别的中心距离,可以更容易地将每个类别分开,类中心距离是通过计算类中心所有数据点距离的平均值得到的。
本发明通过评估指标和评估方法来评价决策树模型。评估指标有分类准确度、召回率、虚警率和精确度等,评估的方法有保留法、随机二次抽样、自助法和交叉验证等。使用本发明提出的基于类间距离的决策树与传统的迭代、逆序决策树比较分类的准确性,通过比较几种算法的检验精度来验证该决策树算法在漏洞分类检测的优越性。
表1为具体的检测精度比较结果,从检测成功率、误报率、测试集测试时间3个方面分析具体性能指标。可以看出,本发明提出的基于类间距离分离的方法可以使检测准确率维持在较高水平上,由此可以得出,本发明更加适合漏洞的分类检测。
表1检测精度比较
方法 实验次数 平均检测精度 平均检测错误数 平均测试时间
本方法 6 99.31 100.1 124.2
逆序方法 6 98.87 108.7 128.8
传统迭代 6 97.11 158.9 130.4
为了进一步优化模型的性能,防止过拟合现象,可以通过合理的修剪和限制来简化模型;决策树在生长过程中每片叶子可能只包含非事件数据或单独的事件数据;当决策树的深度特别深以至于叶子节点中的漏洞对象只剩下一个甚至更少,到最后决策树的模型过于复杂,容易造成过拟合问题,泛化能力下降。
对于过拟合的解决方法是减枝操作;剪枝是一个简化过拟合的过程,其有两种剪枝方法,分别为先剪枝和后剪枝;先剪枝通过提前停止树的构建而对树“剪枝”,通过定义一个高度或者阈值来限制决策树的高度和叶子节点处样本的数目;后剪枝是指构建完整的决策树,允许树过度拟合训练数据,对置信度不够的结点子树用叶子节点来代替;决定是否修剪这个结点由如下步骤组成:
a)删除以此结点为根的子树
b)使其成为叶子结点
c)赋予该结点关联的训练数据的最常见分类
d)当修剪后的树在验证集合的性能上比原来的树好时,才真正删除该结点。
如图2所示为构建的决策树优先级分类过程,R1被放置在离根节点最近的位置,R4、R5被放置在末尾。这样构造有利于确保在分类过程中,错误类别越多,离根节点就越远,从而将误差影响降到最低,进一步保证该类决策树的性能。
基于本发明实施例实现的基于类间距离决策树方法,将漏洞进行准确地预测分类,大大提高了漏洞检测效率,从而提升整个系统应对漏洞安全风险的时效性和可靠性。
以上所述,仅用以说明本发明的技术方案而非限制,本领域普通技术人员对本发明的技术方案所做的其它修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

Claims (4)

1.一种基于决策树的漏洞分类检测方法,其特征在于它包含如下步骤:
S1.数据采集:使用Python爬虫技术对漏洞数据库中漏洞相关数据进行爬取,并对爬取到的数据信息进行筛选,构成初步的数据集,接着对漏洞的共有属性进行提取形成特征集合,由于特征集合中非数值特征的存在,需要将其转化为数值特征;
S2.数据优化:将数据集中的几种数据类型用数字替代后,再对数字化的数据进行归一化处理,使每一个值都在[0,1]范围内,保证分类器可以同等对待每个特征;为了方便提取数据的主要特征,将使用主成分分析(PCA)方法,计算原数据的特征向量和特征值,通过从小到大排序特征值,保留前一部分特征向量,对数据进行降维操作;
S3.确定分类顺序:将数据集中的任意一个漏洞类型样例作为正例,将其他的漏洞类型作为反例,以此分为不同类别的分类器,即拆分成不同数量的二分类任务;计算各类样本数据的类间距离,将类间距离按从大到小进行排序并分离,然后创建一个根节点,确定优先级最高分类类别D1,将训练集数据的结果分为属于D1和不属于D1的两个类别;
选择欧氏距离作为各类别之间的中心距离,欧氏距离在数学中表示两点在空间中的欧几里得距离,有时被称为勾股距离;n维空间中的欧式距离公式为:
Figure FDA0004060471900000011
S4.设置GiNi系数阈值,在步骤S3的基础上建立CART决策树;
S5.当训练完CART决策树后,输出所有预测结果为D1的样本,将D1样本从数据集中删除,再用D2类别来分离接下来的样本数据;分类后的结果分别是属于D2的样本和不属于D2的剩余样本,再接着继续构建剩余样本的决策树;
S6.对步骤S3、步骤S4和步骤S5进行重复,直到D中只有一个类别,输出最终分类的预测结果;
S7.对构建的决策树模型进行评估:通过输入的测试数据集和输出的分类结果进行测试和验证,通过参数直接计算获取准确率,进一步比较该决策树与逆序方法决策树以及传统迭代方法决策树的分类检测性能。
2.根据权利要求1所述的一种基于决策树的漏洞分类检测方法,其特征在于在步骤S2中,如果漏洞数据集的特征属性比较多,在构建过程中就会十分复杂;这时应该考虑将多维(高维)数据映射到低维的数据,采用的方法有PCA主成分分析和LDA线性判别分析。
3.根据权利要求1所述的一种基于决策树的漏洞分类检测方法,其特征在于在步骤S4中,设置GiNi阈值并建立CART决策树的具体步骤如下:
1)如果当前节点的样本数据集P没有特征值或者样本的个数小于临界值,则不对该节点执行递归操作,并返回到决策子树;
2)计算样本数据集P的GiNi系数并与临界值进行比较,若结果小于临界值,则不执行递归操作,并返回到决策子树;
3)计算每一个特征对应的特征值在数据集P中的GiNi系数;
4)在计算出来的GiNi系数中选择最优的特征和相应的最优特征值,将样本数据集划分为C1和C2两部分,C1为当前节点的左节点,C2则为当前节点的右节点;
5)在C1和C2上递归调用步骤(1)到步骤(3),形成最终的CART决策树。
4.根据权利要求1所述的一种基于决策树的漏洞分类检测方法,其特征在于步骤S7中模型评估,在建立决策树模型后需要给出该模型的评价值,通过评估指标和评估方法来评价决策树模型。
CN202310055340.3A 2023-01-16 2023-01-16 一种基于决策树的漏洞分类检测方法 Active CN115982722B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310055340.3A CN115982722B (zh) 2023-01-16 2023-01-16 一种基于决策树的漏洞分类检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310055340.3A CN115982722B (zh) 2023-01-16 2023-01-16 一种基于决策树的漏洞分类检测方法

Publications (2)

Publication Number Publication Date
CN115982722A CN115982722A (zh) 2023-04-18
CN115982722B true CN115982722B (zh) 2023-06-23

Family

ID=85972325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310055340.3A Active CN115982722B (zh) 2023-01-16 2023-01-16 一种基于决策树的漏洞分类检测方法

Country Status (1)

Country Link
CN (1) CN115982722B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117370899B (zh) * 2023-12-08 2024-02-20 中国地质大学(武汉) 一种基于主成分-决策树模型的控矿因素权重确定方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112003869A (zh) * 2020-08-28 2020-11-27 国网重庆市电力公司电力科学研究院 一种基于流量的漏洞识别方法
CN113468539A (zh) * 2021-06-15 2021-10-01 江苏大学 一种基于漏洞攻击数据库及决策树的攻击程序识别方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11568316B2 (en) * 2020-04-07 2023-01-31 Mandiant, Inc. Churn-aware machine learning for cybersecurity threat detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112003869A (zh) * 2020-08-28 2020-11-27 国网重庆市电力公司电力科学研究院 一种基于流量的漏洞识别方法
CN113468539A (zh) * 2021-06-15 2021-10-01 江苏大学 一种基于漏洞攻击数据库及决策树的攻击程序识别方法

Also Published As

Publication number Publication date
CN115982722A (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
Karlinsky et al. Repmet: Representative-based metric learning for classification and few-shot object detection
US8280915B2 (en) Binning predictors using per-predictor trees and MDL pruning
CN111556016B (zh) 一种基于自动编码器的网络流量异常行为识别方法
CN113468539B (zh) 一种基于漏洞攻击数据库及决策树的攻击程序识别方法
CN111143842A (zh) 一种恶意代码检测方法及系统
US11971892B2 (en) Methods for stratified sampling-based query execution
CN109190698B (zh) 一种网络数字虚拟资产的分类识别系统及方法
CN111507385B (zh) 一种可扩展的网络攻击行为分类方法
CN112580050A (zh) 一种基于语义分析及向量化大数据的xss入侵识别方法
Angiulli CFOF: a concentration free measure for anomaly detection
CN115982722B (zh) 一种基于决策树的漏洞分类检测方法
CN112437053A (zh) 入侵检测方法及装置
CN115952067A (zh) 一种数据库操作异常行为检测方法及可读存储介质
CN117478390A (zh) 一种基于改进密度峰值聚类算法的网络入侵检测方法
CN117272204A (zh) 异常数据检测方法、装置、存储介质和电子设备
CN117633811A (zh) 一种多视角特征融合的代码漏洞检测方法
CN109286622B (zh) 一种基于学习规则集的网络入侵检测方法
Obaidullah et al. Comparison of different classifiers for script identification from handwritten document
Murty et al. Nearest neighbour based classifiers
CN113468538A (zh) 一种基于相似性度量的漏洞攻击数据库构建方法
CN114095268A (zh) 用于网络入侵检测的方法、终端及存储介质
CN111737694B (zh) 一种基于行为树的恶意软件同源性分析方法
US11048730B2 (en) Data clustering apparatus and method based on range query using CF tree
CN114168751B (zh) 一种基于医学知识概念图的医学文本标签识别方法及系统
CN114547601A (zh) 一种基于多层分类策略的随机森林入侵检测方法

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
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Decision Tree Based Vulnerability Classification Detection Method

Granted publication date: 20230623

Pledgee: Zhejiang Hangzhou Yuhang Rural Commercial Bank Co.,Ltd. Science and Technology City Branch

Pledgor: Zhejiang Yu'an Information Technology Co.,Ltd.

Registration number: Y2024980010210

PE01 Entry into force of the registration of the contract for pledge of patent right