一种基于机器学习的网络安全评估方法和系统与流程

文档序号:29868123发布日期:2022-04-30 16:21阅读:299来源:国知局
一种基于机器学习的网络安全评估方法和系统与流程

1.本发明涉及网络安全技术领域,尤其涉及一种基于机器学习的网络安全评估方法和系统。


背景技术:

2.随着信息化技术的发展,互联网呈现出开放性、共享性和互联程度不断扩大的态势,随之而来的网络安全问题也越来越严峻。
3.做好网络安全风险评估是保护企业信息安全的重要措施,专家评分法是现有的网络安全风险评估方法之一。然而,专家评分法对于网络安全风险评估的准确程度,主要取决于专家的阅历经验以及知识丰富的广度和深度,这就要求参加评价的专家对评价的系统具有较高的学术水平和丰富的实践经验,具有较强的主观性,时间成本高,效率低下,且可靠性不高,难以满足大数据环境下的网络安全评估要求。


技术实现要素:

4.本发明提供了一种基于机器学习的网络安全评估方法和系统,用于解决现有技术采用专家评分法进行网络安全评估,存在依赖于专家经验,具有较强的主观性,时间成本高,效率低下,且可靠性不高,难以满足大数据环境下的网络安全评估要求的技术问题。
5.有鉴于此,本发明第一方面提供了一种基于机器学习的网络安全评估方法,包括:获取多维网络安全参数历史数据和每组多维网络安全参数历史数据对应的安全分值标签;使用多维网络安全参数历史数据和多维网络安全参数历史数据对应的安全分值标签对xgboost模型进行训练,得到训练好的xgboost模型;将待分析的网络安全参数数据作为变量输入训练好的xgboost模型进行网络安全风险评分,得到网络安全评分结果。
6.可选地,多维网络安全参数包括网络安全参数、端口安全参数、dns安全参数、邮件安全参数、补丁漏洞参数、应用安全参数、ip声誉参数、资产暴露参数和数据安全参数。
7.可选地,每组多维网络安全参数历史数据对应的安全分值标签由专家根据网络安全参数的影响程度对网络安全参数历史数据评估得到。
8.可选地,获取多维网络安全参数历史数据和每组多维网络安全参数历史数据对应的安全分值标签,包括:获取多维网络安全参数历史数据;对多维网络安全参数历史数据进行数据清洗;提取数据清洗后的多维网络安全参数历史数据的特征值,构成由多维网络安全参数组成的特征向量;获取专家根据网络安全参数的影响程度对特征向量进行评估得到的安全分值标签。
9.可选地,还包括:使用f1-score作为评价指标,对训练好的xgboost模型进行评估。
10.本发明第二方面提供了一种基于机器学习的网络安全评估系统,包括:数据获取模块,用于获取多维网络安全参数历史数据和每组多维网络安全参数历史数据对应的安全分值标签;模型训练模块,用于使用多维网络安全参数历史数据和多维网络安全参数历史数据对应的安全分值标签对xgboost模型进行训练,得到训练好的xgboost模型;网络安全评分模块,用于将待分析的网络安全参数数据作为变量输入训练好的xgboost模型进行网络安全风险评分,得到网络安全评分结果。
11.可选地,多维网络安全参数包括网络安全参数、端口安全参数、dns安全参数、邮件安全参数、补丁漏洞参数、应用安全参数、ip声誉参数、资产暴露参数和数据安全参数。
12.可选地,每组多维网络安全参数历史数据对应的安全分值标签由专家根据网络安全参数的影响程度对网络安全参数历史数据评估得到。
13.可选地,数据获取模块具体用于:获取多维网络安全参数历史数据;对多维网络安全参数历史数据进行数据清洗;提取数据清洗后的多维网络安全参数历史数据的特征值,构成由多维网络安全参数组成的特征向量;获取专家根据网络安全参数的影响程度对特征向量进行评估得到的安全分值标签。
14.可选地,还包括:模型评估模块,用于使用f1-score作为评价指标,对训练好的xgboost模型进行评估。
15.从以上技术方案可以看出,本发明提供的基于机器学习的网络安全评估方法和系统具有以下优点:本发明提供的基于机器学习的网络安全评估方法和系统,通过多维网络安全参数历史数据和对应的安全分值标签,对xgboost模型进行训练,训练好的xgboost模型,可直接用于网络安全评分,不再需要依赖于专家来对网络安全进行评估,解决了现有技术采用专家评分法进行网络安全评估,存在依赖于专家经验,具有较强的主观性,时间成本高,效率低下,且可靠性不高,难以满足大数据环境下的网络安全评估要求的技术问题。
16.同时,在本发明提供的基于机器学习的网络安全评估方法和系统中,安全分值标签的制定是通过多个专家的评定,最后得到用于训练xgboost模型的数据标签,进而训练得到用于网络安全评估的模型,达到了模拟多专家评分的效果,消除了单个专家评分所具有的片面性、局限性,提高了标签的准确性的可信度。
附图说明
17.为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他相关的附图。
18.图1为本发明提供的一种基于机器学习的网络安全评估方法的流程示意图;图2为本发明提供的一种基于机器学习的网络安全评估方法的原理框架图;图3为本发明提供的一种基于机器学习的网络安全评估系统的结构示意图。
具体实施方式
19.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.为了便于理解,请参阅图1和图2,本发明中提供了一种基于机器学习的网络安全评估方法的实施例,包括:步骤101、获取多维网络安全参数历史数据和每组多维网络安全参数历史数据对应的安全分值标签。
21.需要说明的是,影响网络安全的参数有多个维度,本发明中考虑了影响网络安全的参数的全面性,囊括了9个维度的网络安全参数数据,分别是网络安全参数、端口安全参数、dns安全参数、邮件安全参数、补丁漏洞参数、应用安全参数、ip声誉参数、资产暴露参数和数据安全参数。例如,当评估维度为网络安全维度时,对应的指标因子可以包括: 检测到数字证书已吊销,ssl/tls协议使用了不安全的算法套件等。当评估维度为端口安全维度时,对应的指标因子可以包括:检测到elasticsearch服务,检测到redis服务等。当评估维度为dns安全维度时,对应的指标因子可以包括: 检测到开放的dns递归解析服务,检测到dns域传送漏洞等。当评估维度为邮件安全维度时,对应的指标因子可以包括: smtp服务反向dns解析失败,smtp服务未启用tls等。当评估维度为补丁漏洞维度时,对应的指标因子可以包括: sql注入漏洞、xss漏洞等。当评估维度为应用安全维度时,对应的指标因子可以包括:网站未强制应用https,网站未设置 content-security-policy等。当评估维度为数据安全维度时,对应的指标因子可以包括:检测到svn或git信息泄露,检测到疑似敏感文件泄露等。当评估维度为资产暴露维度时,对应的指标因子可以包括:代码管理后台暴露,web应用组件后台暴露等。当评估维度为ip声誉维度时,对应的指标因子可以包括:检测到p2p网络活动,检测到恶意软件事件等。
22.每个维度的参数,依据影响网络安全的严重程度,可分为高中低三个级别,每个级别下都有若干个特征指标。利用扫描技术对目标企业网络进行扫描,可得到每个维度下的特征指标对应的扫描发现的问题的个数,即特征值。获取到多维网络安全参数历史数据后,对历史数据进行数据清洗。专家可根据网络安全参数的影响程度对清洗后的网络安全参数历史数据,即每组多维网络安全参数历史数据对应的特征值构成的特征向量,进行评分。例如,每组多维网络安全参数历史数据包括的特征指标个数有102个,其中,网络安全维度下共有30个指标,其中高危指标10个,中危指标8个,低危指标12个。根据扫描结果,表示第一个高危指标对应的问题个数,表示第二个高危指标对应的问题个数,

, 表示第十个高危指标对应的问题个数;表示第一个中危指标对应的问题个数,

, 表示第
八个中危指标对应的问题个数;表示第一个低危指标对应的问题个数,

, 表示第十二个低危指标对应的问题个数;表示端口安全维度中第一个高危指标对应的问题个数。对于其他维度的,以此类推。最终可以生成对应的特征向量以及对应的安全分值标签z。
23.步骤102、使用多维网络安全参数历史数据和多维网络安全参数历史数据对应的安全分值标签对xgboost模型进行训练,得到训练好的xgboost模型。
24.需要说明的是,使用多维网络安全参数历史数据和多维网络安全参数历史数据对应的安全分值标签对xgboost模型进行训练。定义学习率、迭代轮数、最大树(回归树)深、每棵树的特征抽样(每棵树对应一个特征分裂点)、样本抽样以及正则项系数。每一轮迭代会产生一棵回归树,每次迭代依赖于前一棵树的参数,即当前回归树的参数为前一棵树的参数加上新训练出来的残差,令平方损失函数为,其中,为实际值,为预测值。xgboost的目标函数为:其中,n为样本数量,为第i条样本对应的损失,为正则化项,即将全部t棵树的复杂度进行求和。
25.从深度为1的树开始,对于每棵树从根节点开始,对当前节点枚举所有特征,把属于当前节点的样本按照特征值排序(即按每个特征所有可能的值的大小进行排序,如问题数量可能是0个,1个,2个,...,则按0,1,2...的顺序进行排序),通过信息增益决定该特征的最佳分裂点,分裂点的选择可以用贪心的方式,遍历每一个排好序的特征,该特征左边的为,右边的为,计算如下的收益:其中,表示当前分裂点对应的损失,i为特征集合,l和r分别表示左右子树,g和h分别为前一棵树对应的函数的泰勒展开项的一阶导数和二阶导数,和为表示模型复杂程度的正则化参数。
26.选择收益最大的特征作为分裂特征,用该特征的最佳分裂点进行分裂。选取收益最大的树为模型树。xgboost模型的训练过程就是通过上述迭代得到多棵模型树(每棵树的根节点为当前特征对应的分裂点,每个非叶子节点也为分裂点)。具体的学习过程可以形式
化为:,其中,t为当前训练轮数,为上一轮训练得到的函数,为新的要训练的函数,初始时,。最终学习到的参数为每棵树对应的参数之和,即。进行预测时,把特征带入,计算得到的值即为要预测的评分项。
27.步骤103、将待分析的网络安全参数数据作为变量输入训练好的xgboost模型进行网络安全风险评分,得到网络安全评分结果。
28.训练好xgboost模型之后,可直接用训练好的xgboost模型进行网络安全评估。
29.本发明提供的基于机器学习的网络安全评估方法,通过多维网络安全参数历史数据和对应的安全分值标签,对xgboost模型进行训练,训练好的xgboost模型,可直接用于网络安全评分,在经过专家评分数据的基础上,引入机器学习训练来自适应的生成模型参数,从而形成网络安全评估模型,不再需要依赖于专家来对网络安全进行评估,解决了现有技术采用专家评分法进行网络安全评估,存在依赖于专家经验,具有较强的主观性,时间成本高,效率低下,且可靠性不高,难以满足大数据环境下的网络安全评估要求的技术问题。
30.同时,在本发明提供的基于机器学习的网络安全评估方法和系统中,安全分值标签的制定是通过多个专家的评定,最后得到用于训练xgboost模型的数据标签,进而训练得到用于网络安全评估的模型,达到了模拟多专家评分的效果,消除了单个专家评分所具有的片面性、局限性,提高了标签的准确性的可信度。
31.在一个实施例中,在得到训练好的xgboost模型之后,还可以使用f1-score作为评价指标对训练好的xgboost模型进行评估。f1-score的数学表示为:其中,为预测的准确率,为召回值。
32.定义tp为预测答案正确,fp为错将其他类预测为本类,fn为本类标签预测为其他类标。类标。
33.通过计算f1-score的值,可评估模型的好坏,若f1-score不满足要求,则需要调整模型参数重新进行训练。以此可保证xgboost模型的评估准确性。
34.为了便于理解,请参阅图3,本发明中提供了一种基于机器学习的网络安全评估系统的实施例,包括:数据获取模块,用于获取多维网络安全参数历史数据和每组多维网络安全参数历史数据对应的安全分值标签;
模型训练模块,用于使用多维网络安全参数历史数据和多维网络安全参数历史数据对应的安全分值标签对xgboost模型进行训练,得到训练好的xgboost模型;网络安全评分模块,用于将待分析的网络安全参数数据作为变量输入训练好的xgboost模型进行网络安全风险评分,得到网络安全评分结果。
35.多维网络安全参数包括网络安全参数、端口安全参数、dns安全参数、邮件安全参数、补丁漏洞参数、应用安全参数、ip声誉参数、资产暴露参数和数据安全参数。
36.每组多维网络安全参数历史数据对应的安全分值标签由专家根据网络安全参数的影响程度对网络安全参数历史数据评估得到。
37.数据获取模块具体用于:获取多维网络安全参数历史数据;对多维网络安全参数历史数据进行数据清洗;提取数据清洗后的多维网络安全参数历史数据的特征值,构成由多维网络安全参数组成的特征向量;获取专家根据网络安全参数的影响程度对特征向量进行评估得到的安全分值标签。
38.还包括:模型评估模块,用于使用f1-score作为评价指标,对训练好的xgboost模型进行评估。
39.本发明提供的基于机器学习的网络安全评估系统,通过多维网络安全参数历史数据和对应的安全分值标签,对xgboost模型进行训练,训练好的xgboost模型,可直接用于网络安全风险评分,在经过专家评分数据的基础上,引入机器学习训练来自适应的生成模型参数,从而形成网络安全评估模型,不再需要依赖于专家来对网络安全风险进行评估,解决了现有技术采用专家评分法进行网络安全风险评估,存在依赖于专家经验,具有较强的主观性,时间成本高,效率低下,且可靠性不高,难以满足大数据环境下的网络安全评估要求的技术问题。
40.以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1