基于随机森林的策略自学习和优化方法及装置
技术领域
本发明涉及网络安全的技术领域,尤其是涉及一种基于随机森林的策略自学习和优化方法及装置。
背景技术
随着网络的发展和网络应用服务的普及,网络应用服务的安全直接关系到广大网络用户的利益,常用到的网络应用服务包括:网站建设、虚拟主机、企业邮箱,还有一些OA、CRM软件服务,网络应用服务的安全是网络信息安全中的重要组成部分。
目前,网络信息***的安全技术体系往往是通过安全策略指导网络信息资产的合理配置和部署,以保障网络信息资产的安全。其中,安全策略,是指在某个安全区域内(一个安全区域,通常是指属于某个组织的一系列处理资源和通信资源),用于所有与安全相关活动的一套规则,这些规则是由此安全区域中所设立的一个安全权力机构建立的,并由安全控制机构来描述、实施或实现的。每个管理员都可以随时对本企业的安全资源进行配置,从而调整安全策略,达到管理维护企业本身的安全事件的目的。即,网络信息***的安全技术体系中,为达成网络应用服务的安全目标,需要制定合适的安全策略;并且,为适应网络环境的发展,需要调整和优化安全策略。
安全策略属于较为专业的知识领域,安全策略的制定、调整和优化,对网络服务管理员或者安全服务提供者的要求非常高。在现有使用安全策略的产品中,安全策略都是静态的,属于无调整状态,这使得安全策略较为冗余,产生漏报和误报,导致安全检查结果精确度较差。
发明内容
有鉴于此,本发明的目的在于提供一种基于随机森林的策略自学习和优化方法及装置,以缓解传统安全策略的安全检查结果精确度较差的技术问题。
第一方面,本发明实施例提供了一种基于随机森林的策略自学习和优化方法,包括:
确定目标安全策略的正确率,其中,所述正确率用于表示所述目标安全策略对网络应用服务进行安全性判定时的准确程度;
判断所述正确率是否小于预设调优阈值;
在所述正确率小于所述预设调优阈值的情况下,采用随机森林算法将所述目标安全策略的原始安全策略模型进行优化,得到优化之后的安全策略模型,从而完成所述目标安全策略的优化。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,采用随机森林算法将所述目标安全策略的原始安全策略模型进行优化,得到优化之后的安全策略模型,包括:
获取所述目标安全策略的策略特征、判定结果和标注结果,其中,所述判定结果为所述目标安全策略判定网络应用服务是否安全的结果,所述标注结果为对所述判定结果是否正确进行标注的结果;
由所述策略特征、所述判定结果和所述标注结果构建样本数据,得到多个样本数据;
通过使用多个所述样本数据的随机森林算法确定所述优化后的安全策略模型。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,通过使用多个所述样本数据的随机森林算法确定优化后的安全策略模型,包括:
在多个所述样本数据中进行有放回的随机抽样,分别得到第一样本组、第二样本组和第三样本组;
通过所述第一样本组构建随机森林的模型,其中,所述随机森林的模型中包括多个决策树,一个所述决策树由所述第一样本组中的一个样本数据构建;
通过所述第二样本组对所述随机森林的模型参数进行训练,得到安全策略初始模型;
通过所述第三样本组对所述安全策略初始模型进行验证,确定所述优化后的安全策略模型。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,
通过所述第三样本组对所述安全策略初始模型进行验证,确定所述优化后的安全策略模型,包括:
将所述第三样本组导入所述安全策略初始模型中,验证所述安全策略初始模型对网络应用服务的安全性判定结果是否正确;
在所述安全性判定结果不正确的情况下,对所述随机森林的模型参数进行调整;
在所述安全性判定结果正确的情况下,将所述安全策略初始模型确定为所述优化后的安全策略模型。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述策略特征包括:访问所述网络应用服务的时间、访问所述网络应用服务的流量、访问所述网络应用服务的频率、访问所述网络应用服务的域名和访问所述网络应用服务的会话初始协议。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,确定目标安全策略的正确率,包括:
从网络应用的日志中采集所述目标安全策略、所述目标安全策略的判定结果和所述目标安全策略的标注结果,其中,所述判定结果为所述目标安全策略判定网络应用服务是否安全的结果,所述标注结果为对所述判定结果是否正确进行标注的结果;
计算目标判定结果的数量与所述判定结果的总数量之间的比值,并将所述比值确定为所述目标安全策略的正确率,其中,所述目标判定结果为标注结果为正确的判定结果。
第二方面,本发明实施例还提供一种基于随机森林的策略自学习和优化装置,包括:
第一确定模块,用于确定目标安全策略的正确率,其中,所述正确率用于表示所述目标安全策略对网络应用服务进行安全性判定时的准确程度;
判断模块,用于判断所述正确率是否小于预设调优阈值;
第二确定模块,用于在所述正确率小于所述预设调优阈值的情况下,采用随机森林算法将所述目标安全策略的原始安全策略模型进行优化,得到优化之后的安全策略模型,从而完成所述目标安全策略的优化。
第三方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行第一方面所述的方法。
本发明实施例带来了以下有益效果:
本发明所提供的基于随机森林的策略自学习和优化方法,包括:确定目标安全策略的正确率,其中,正确率用于表示目标安全策略对网络应用服务进行安全性判定时的准确程度;判断正确率是否小于预设调优阈值;在正确率小于预设调优阈值的情况下,采用随机森林算法确定目标安全策略优化后的安全策略模型,以对目标安全策略进行优化。从而达到了对正确率较低的目标安全策略实现调整的目的,有利于降低目标安全策略漏报和误报概率,缓解了传统安全策略的安全检查结果精确度较差的技术问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种基于随机森林的策略自学习和优化方法的流程图;
图2为本发明实施例一提供的一种确定目标安全策略的正确率的方法流程图;
图3为本发明实施例一提供的一种通过使用多个样本数据的随机森林算法确定优化后的安全策略模型的方法流程图;
图4为本发明实施例二提供的一种基于随机森林的策略自学习和优化装置的结构框图;
图5为本发明实施例二提供的一种第二确定模块的结构框图。
图标:100-第一确定模块;200-判断模块;300-第二确定模块;301-获取单元;302-构建单元;303-确定单元。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在现有使用安全策略的产品中,安全策略都是静态的,属于无调整状态,这使得安全策略较为冗余,产生漏报和误报,导致安全检查结果精确度较差。基于此,本发明实施例提供的一种基于随机森林的策略自学习和优化方法及装置,可以缓解传统安全策略的安全检查结果精确度较差的技术问题。
实施例一
本发明实施例提供的一种基于随机森林的策略自学习和优化方法,如图1所示,包括:
步骤S102,确定目标安全策略的正确率,其中,正确率用于表示目标安全策略对网络应用服务进行安全性判定时的准确程度;
步骤S104,判断正确率是否小于预设调优阈值;
步骤S106,在正确率小于预设调优阈值的情况下,采用随机森林算法将目标安全策略的原始安全策略模型进行优化,得到优化之后的安全策略模型,从而完成目标安全策略的优化。
具体地,目标安全策略具有一个原始安全策略模型,确定目标安全策略的正确率,即确定目标安全策略使用原始安全策略模型判定网络应用服务是否安全的正确率,在正确率小于预设调优阈值的情况下,重新确定目标安全策略的安全策略模型,并将重新确定的安全策略模型作为优化之后的安全策略模型,用优化之后的安全策略模型替代目标安全策略的原始安全策略模型。
随机森林算法属于机器学习中的一种算法,在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别决策树输出的类别的众数而定,输入到分类器中的数据被称作特征,每个决策树允许包含多个特征,因而,随机森林属于一种多维度的分类器。而安全策略往往在涉及较多网络应用服务的特征的情况下,能够对网络应用服务是否安全做出较准确的判定,因而,在确定目标安全策略优化后的安全策略模型方面,随机森林算法是一种较适合的机器学习算法。
而在决策树的构建过程中,需要按照一定的次序依次从全部的特征中选取特征以对决策树进行***,其中,在目前的步骤之前还没有被选择的特征的集合称作待选特征,每一次选取的特征称作***特征。决策树的每一个***过程并未用到所有的待选特征,而是从所有的待选特征中随机选取一定的特征,之后再在随机选取的特征中选取最优的特征,这样能够使得随机森林中的决策树都能够彼此不同,提升***的多样性,从而提升分类性能。
本发明实施例中,在判断出正确率小于预设调优阈值的情况下,采用随机森林算法确定目标安全策略优化后的安全策略模型,以对目标安全策略进行优化,使得正确率较低的目标安全策略得到调整,目标安全策略采用优化后的安全策略模型对网络应用服务安全判定时更加精准,有利于降低目标安全策略漏报和误报概率,缓解了传统安全策略的安全检查结果精确度较差的技术问题。
下面依次对步骤S102、步骤S104、步骤S106进行详细描述。
(一)参见图2,步骤S102,确定目标安全策略的正确率,包括:
步骤S201,从网络应用的日志中采集目标安全策略、目标安全策略的判定结果和目标安全策略的标注结果,其中,判定结果为目标安全策略判定网络应用服务是否安全的结果,标注结果为对判定结果是否正确进行标注的结果。
具体实现方式可以采用如下过程:
(1)采集目标安全策略:在产品的日志中,采集安全策略集S={S1,S2,S3,...,Sn-1,Sn},目标安全策略Si为安全策略集中的一个当前待验证准确率的安全策略。需要说明的是,本发明实施例中,产品是指内置安全策略的网络应用服务。
(2)采集目标安全策略的判定结果:安全策略对产品是否安全进行判定会得到判定结果,在产品日志中可以采集到安全策略的判定结果。
针对目标安全策略Si,在日志中采集到的对应判定结果集为:R={R1,R2,R3,...,Rm-1,Rm},其中Rj=告警/正常(j取值为1到m中的任一值)。需要说明的是,由于一些日志中没有使用目标安全策略,或者虽使用目标安全策略但没有判定结果,因而,0<m<N,N为日志的数量。
(3)采集目标安全策略的标注结果:针对产品安全策略判定结果,产品用户会对判定结果进行标注。在产品日志中可以采集到用户对安全策略判定结果的标注结果。
针对目标安全策略Si,在日志中采集到的对应标注结果集为:D={D1,D2,D3,...,Dm-1,Dm},其中,Dj=误判/正确(j取值为1到m中的任一值)。
步骤S202,计算目标判定结果的数量与判定结果的总数量之间的比值,并将比值确定为目标安全策略的正确率,其中,目标判定结果为标注结果为正确的判定结果。
针对目标安全策略Si、判定结果集R、标注结果集D,目标安全策略Si正确率的计算方法具体可以采用如下公式:P=M/m,其中,M为“Dj=正确”的情况下,j可以取的值的数量。
(二)步骤S104,判断正确率是否小于预设调优阈值,具体实现方式可以采用如下过程:
若假定预设调优阈值AE=0.6,在目标安全策略的正确率P<0.6的情况下,则执行步骤S106;在P≥0.6,则认为目标安全策略Si是合适的,无需优化。
(三)步骤S106,采用随机森林算法将目标安全策略的原始安全策略模型进行优化,得到优化之后的安全策略模型,包括:
获取目标安全策略的策略特征、判定结果和标注结果,其中,判定结果为目标安全策略判定网络应用服务是否安全的结果,标注结果为对判定结果是否正确进行标注的结果;
由策略特征、判定结果和标注结果构建样本数据,得到多个样本数据;
通过使用多个样本数据的随机森林算法确定优化后的安全策略模型。
本发明实施例中,标注结果为对判定结果是否正确进行标注的结果,样本数据中包括标注结果,即,使得目标安全策略优化后的安全策略模型是基于被标注过的数据进行学习而得到的。由于需要优化的安全策略的原始判定结果准确度较低,标注的数据是对判定结果的批改,其正确率大大得到提高,基于被标注过的数据学习得到的安全策略模型的正确率也随之大幅提高,更有利于缓解传统安全策略的安全检查结果精确度较差的技术问题。
具体地,本发明实施例的另一个可选实施方式中,策略特征包括:访问网络应用服务的时间、访问网络应用服务的流量、访问网络应用服务的频率、访问网络应用服务的域名和访问网络应用服务的会话初始协议(Session Initiation Protocol,简称,SIP)。
由策略特征、判定结果和标注结果构建样本数据,得到的多个样本数据如表一所示,其中,xuv是每条日志对特征集T中每个特征维度的取值,u=1,2,…,m;v=1,2,…,k,其中,m为样本的数量,k为策略特征中策略特征的维度。
表一
ID |
时间 |
流量 |
SIP |
… |
连接频率 |
域名 |
判定结果 |
标注结果 |
1 |
x<sub>11</sub> |
x<sub>12</sub> |
x<sub>13</sub> |
… |
x<sub>1(k-1)</sub> |
x<sub>1k</sub> |
R<sub>1</sub> |
D<sub>1</sub> |
2 |
x<sub>21</sub> |
x<sub>22</sub> |
x<sub>23</sub> |
… |
x<sub>2(k-1)</sub> |
x<sub>1k</sub> |
R<sub>2</sub> |
D<sub>2</sub> |
3 |
x<sub>31</sub> |
x<sub>32</sub> |
x<sub>33</sub> |
… |
x<sub>3(k-1)</sub> |
x<sub>1k</sub> |
R<sub>3</sub> |
D<sub>3</sub> |
… |
… |
… |
… |
… |
… |
… |
… |
… |
m-1 |
x<sub>(m-1)1</sub> |
x<sub>(m-1)2</sub> |
x<sub>(m-1)3</sub> |
… |
x<sub>(n1-1)(k-1)</sub> |
x<sub>(m-1)k</sub> |
R<sub>m-1</sub> |
D<sub>m-1</sub> |
m |
x<sub>m1</sub> |
x<sub>m2</sub> |
x<sub>m3</sub> |
… |
x<sub>m(k-1)</sub> |
x<sub>mk</sub> |
R<sub>m</sub> |
D<sub>m</sub> |
本发明实施例的另一个可选实施方式中,参见图3,通过使用多个样本数据的随机森林算法确定优化后的安全策略模型,包括:
步骤S301,在多个样本数据中进行有放回的随机抽样,分别得到第一样本组、第二样本组和第三样本组。
具体地,由于进行的是有放回的随机抽样,因而,三个样本组中任一次抽样都可能会抽到m个样本数据中的任一个样本数据。
步骤S302,通过第一样本组构建随机森林的模型,其中,随机森林的模型中包括多个决策树,一个决策树由第一样本组中的一个样本数据构建。
具体地,森林算法中,决策树的主要工作就是选取特征对样本数据进行分类,最后把样本数据贴上两类不同的标签,即,通过森林算法这种机器分类算法得到分类结果。需要说明的是,如果特征的顺序不同,同样的样本数据构建出的决策树也可能不同。多个决策树组成随机森林的模型。
在多个样本数据中进行有放回的随机抽样,得到第一样本组,以通过第一样本组构建随机森林的模型,可以采用如下详细过程:在多个样本数据中进行有放回的随机抽样,每次抽取的一个样本数据构造一个子数据集,每个子数据集构建一个决策树,多个子数据集构建多个决策树,多个决策树即构建了随机森林的模型。
步骤S303,通过第二样本组对随机森林的模型参数进行训练,得到安全策略初始模型。
具体地,决策树中的每个特征数据都需一个标签以对特征数据进行分类,最后通过各特征数据的分类对一个样本数据进行分类,上述标签即为随机森林的模型参数。通过第二样本组对随机森林的模型参数进行训练后,对随机森林的模型参数进行了确定,即得到了安全策略初始模型。
步骤S304,通过第三样本组对安全策略初始模型进行验证,确定优化后的安全策略模型。
需要说明的是,第二样本组为训练样本数据,第三样本组为验证样本数据,训练样本数据用于训练安全策略模型,验证样本数据用于验证安全策略模型及对模型参数进行调优。
在有放回的随机抽样中,每轮样本组的随机采样中,大约会有36.8%的数据没有被才集中。总样本数据中没有被第二样本组的采样器采集到的36.8%的数据,即没有参与安全策略初始模型的拟合,因而可以较好地用来检测安全策略初始模型的泛化能力,可以使第三样本组对安全策略初始模型进行较准确的验证。
本发明实施例的另一个可选实施方式中,通过第三样本组对安全策略初始模型进行验证,确定优化后的安全策略模型,包括:
将第三样本组导入安全策略初始模型中,验证安全策略初始模型对网络应用服务的安全性判定结果是否正确;
在安全性判定结果不正确的情况下,对随机森林的模型参数进行调整;
在安全性判定结果正确的情况下,将安全策略初始模型确定为优化后的安全策略模型。
具体地,随机森林算法中,随机森林中的多数决策树的分类结果决定机器学习的最终分类结果,例如,51%的决策树具有相同的分类结果,则最终分类结果即为这51%的决策树所得出的分类结果。上述安全性判定结果正确还可以进一步通过决定最终分类结果的决策树的数量是否达到预设值来进行衡量,对决策树的数量,这里不做具体限定。为了提高优化后的安全策略模型的精准度,可以提高决定最终分类结果的决策树的占比,例如,取一个大于51%的占比。
实施例二
本发明实施例提供的一种基于随机森林的策略自学习和优化装置,如图4所示,包括:
第一确定模块100,用于确定目标安全策略的正确率,其中,正确率用于表示目标安全策略对网络应用服务进行安全性判定时的准确程度;
判断模块200,用于判断正确率是否小于预设调优阈值;
第二确定模块300,用于在正确率小于预设调优阈值的情况下,采用随机森林算法将目标安全策略的原始安全策略模型进行优化,得到优化之后的安全策略模型,从而完成目标安全策略的优化。
在本发明实施例中,第一确定模块100确定目标安全策略的正确率,判断模块200判断正确率是否小于预设调优阈值,第二确定模块300在正确率小于预设调优阈值的情况下,采用随机森林算法确定目标安全策略优化后的安全策略模型,以对目标安全策略进行优化。从而达到了对正确率较低的目标安全策略实现调整的目的,有利于降低目标安全策略漏报和误报概率,缓解了传统安全策略的安全检查结果精确度较差的技术问题。
本发明实施例的一个可选实施方式中,如图5所示,第二确定模块包括:
获取单元301,用于获取目标安全策略的策略特征、判定结果和标注结果,其中,判定结果为目标安全策略判定网络应用服务是否安全的结果,标注结果为对判定结果是否正确进行标注的结果;
构建单元302,用于由策略特征、判定结果和标注结果构建样本数据,得到多个样本数据;
确定单元303,用于通过使用多个样本数据的随机森林算法确定优化后的安全策略模型。
本发明实施例的另一个可选实施方式中,确定单元包括:
抽样子单元,用于在多个样本数据中进行有放回的随机抽样,分别得到第一样本组、第二样本组和第三样本组;
构建子单元,用于通过第一样本组构建随机森林的模型,其中,随机森林的模型中包括多个决策树,一个决策树由第一样本组中的一个样本数据构建;
训练子单元,用于通过第二样本组对随机森林的模型参数进行训练,得到安全策略初始模型;
验证子单元,用于通过第三样本组对安全策略初始模型进行验证,确定优化后的安全策略模型。
本发明实施例的另一个可选实施方式中,验证子单元用于:
将第三样本组导入安全策略初始模型中,验证安全策略初始模型对网络应用服务的安全性判定结果是否正确;
在安全性判定结果不正确的情况下,对随机森林的模型参数进行调整;
在安全性判定结果正确的情况下,将安全策略初始模型确定为优化后的安全策略模型。
本发明实施例的另一个可选实施方式中,策略特征包括:访问网络应用服务的时间、访问网络应用服务的流量、访问网络应用服务的频率、访问网络应用服务的域名和访问网络应用服务的会话初始协议。
本发明实施例的另一个可选实施方式中,第一确定模块用于:
从网络应用的日志中采集目标安全策略、目标安全策略的判定结果和目标安全策略的标注结果,其中,判定结果为目标安全策略判定网络应用服务是否安全的结果,标注结果为对判定结果是否正确进行标注的结果;
计算目标判定结果的数量与判定结果的总数量之间的比值,并将比值确定为目标安全策略的正确率,其中,目标判定结果为标注结果为正确的判定结果。
实施例三
本发明实施例提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行实施例一的方法。
具体地,存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明实施例中,程序代码使处理器执行实施例一的方法,即,首先确定目标安全策略的正确率,其中,正确率用于表示目标安全策略对网络应用服务进行安全性判定时的准确程度;然后,判断所述正确率是否小于预设调优阈值;最后,在正确率小于预设调优阈值的情况下,采用随机森林算法确定目标安全策略优化后的安全策略模型,以对目标安全策略进行优化。从而,本发明实施例达到了对正确率较低的目标安全策略实现调整的目的,有利于降低目标安全策略漏报和误报概率,缓解了传统安全策略的安全检查结果精确度较差的技术问题。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。