CN115277205A - 模型训练方法及装置、端口的风险识别方法 - Google Patents
模型训练方法及装置、端口的风险识别方法 Download PDFInfo
- Publication number
- CN115277205A CN115277205A CN202210899920.6A CN202210899920A CN115277205A CN 115277205 A CN115277205 A CN 115277205A CN 202210899920 A CN202210899920 A CN 202210899920A CN 115277205 A CN115277205 A CN 115277205A
- Authority
- CN
- China
- Prior art keywords
- data
- risk
- type
- model
- port
- 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.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000012502 risk assessment Methods 0.000 claims abstract description 44
- 230000006870 function Effects 0.000 claims description 31
- 238000012360 testing method Methods 0.000 claims description 21
- 238000000605 extraction Methods 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 5
- 238000004519 manufacturing process Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 8
- 238000012706 support-vector machine Methods 0.000 description 8
- 238000013210 evaluation model Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000035515 penetration Effects 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种模型训练方法及装置、端口的风险识别方法。其中,该方法包括:采集第一类数据,其中,第一类数据包括网络端口及与网络端口关联的数据;对第一类数据进行分类,得到第二类数据和第三类数据,其中,第二类数据和第三类数据的风险等级是不同的;对第二类数据和第三类数据进行特征提取,得到第一数据集,并采用第一数据集中的样本数据对预设模型进行训练,生成风险评估模型。本申请解决了由于现有技术存在端口信息来源单一,数据维度低,无法与企业的生产实际相结合造成的在对网络端口进行风险识别时,整体识别效果差的技术问题。
Description
技术领域
本申请涉及网络与信息安全领域,具体而言,涉及一种模型训练方法及装置、端口的风险识别方法。
背景技术
随着国家对网络安全的要求日益提高和监管单位对企业网络安全漏洞的考核力度日益加大,做好企业公共互联网资产的漏洞管控工作也越来越重要。公共互联网上终端服务器的漏洞与其开放的端口密切相关。因此,做好对公网端口的风险识别,实现终端服务器公网端口管控,对减少企业的公网暴露的风险具有十分重要的意义。传统的风险端口识别技术存在端口信息来源单一,数据维度低以及无法与企业的生产实际相结合,导致整体识别效果差的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种模型训练方法及装置、端口的风险识别方法,以至少解决由于现有技术存在端口信息来源单一,数据维度低,无法与企业的生产实际相结合造成的在对网络端口进行风险识别时,整体识别效果差的技术问题。
根据本申请实施例的一个方面,提供了一种模型训练方法,包括:采集第一类数据,其中,第一类数据包括网络端口及与网络端口关联的数据;对第一类数据进行分类,得到第二类数据和第三类数据,其中,第二类数据和第三类数据的风险等级是不同的;对第二类数据和第三类数据进行特征提取,得到第一数据集,并采用第一数据集中的样本数据对预设模型进行训练,生成风险评估模型。
可选地,对第一类数据进行分类,得到第二类数据和第三类数据,包括:根据第一类数据创建第二数据集和第三数据集,其中,第二数据集为与网络端口关联的软件资源数据及硬件资源数据的集合,第三数据集为与网络端口关联的风险数据的集合;将第二数据集和第三数据集关联,生成第四数据集;利用第四数据集对网络端口进行风险测试,并利用风险测试的结果确定网络端口的风险等级,将网络端口分为第二类数据和第三类数据。
可选地,采用第一数据集中的样本数据对预设模型进行训练,包括:将样本数据输入到预设模型的隐藏层,得到隐藏层的第一输出结果;将第一输出结果输入到预设模型的可见层,得到可见层的第二输出结果,其中,第二输出结果作为下一隐藏层的输入;利用第一输出结果更新样本数据的隐藏偏差值,利用第二输出结果更新样本数据的可见偏差值,利用第一输出结果和第二输出结果更新样本数据的权重。
可选地,采用第一数据集中的样本数据对预设模型进行训练,生成风险评估模型,包括:根据样本数据的风险等级确定样本数据的标签;根据标签,更新后的隐藏偏差值,可见偏差值以及权重确定目标函数;对目标函数进行求解,得到预设模型的第三输出结果,根据第三输出结果创建风险评估模型。
可选地,采用第一数据集中的样本数据对预设模型进行训练,生成风险评估模型之后,上述方法还包括:确定测试数据集,将测试数据集中的各个数据输入到风险评估模型,得到第四输出结果;根据第四输出结果确定风险评估模型的误差值;根据误差值对风险评估模型进行优化。
可选地,采集第一类数据,包括:采集网络端口的风险数据;采集与网络端口关联的软件资源及硬件资源,采集与软件资源关联的漏洞信息,以及采集与硬件资源关联的漏洞信息;对软件资源及硬件资源进行漏洞扫描,采集扫描后的结果。
根据本申请实施例的另一个方面,提供了一种端口的风险识别方法,包括:采集目标端口的风险数据;依据风险数据确定目标端口的特征数据;采用风险评估模型对目标端口的特征数据进行分析,得到目标端口的风险级别,其中,风险评估模型为采用上述方法训练得到的。
根据本申请实施例的另一个方面,还提供了一种模型训练装置,包括:采集模块,用于采集第一类数据,其中,第一类数据包括网络端口及与网络端口关联的数据;分类模块,用于对第一类数据进行分类,得到第二类数据和第三类数据,其中,第二类数据和第三类数据的风险等级是不同的;提取模块,用于对第二类数据和第三类数据进行特征提取,得到第一数据集,并采用第一数据集中的样本数据对预设模型进行训练,生成风险评估模型。
根据本申请实施例的另一个方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述模型训练方法。
根据本申请实施例的另一个方面,还提供了一种处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行上述模型训练方法。
在本申请实施例中,采用采集第一类数据,其中,第一类数据包括网络端口及与网络端口关联的数据;对第一类数据进行分类,得到第二类数据和第三类数据,其中,第二类数据和第三类数据的风险等级是不同的;对第二类数据和第三类数据进行特征提取,得到第一数据集,并采用第一数据集中的样本数据对预设模型进行训练,生成风险评估模型的方式,根据采集的与网络端口关联的风险数据对网络端口进行分类;根据分类的结果,提取不同风险等级的王网络端口对应的特征值;利用提取的特征值对预设模型进行训练生成风险评估模型,达到了全方位对服务端口风险识别的目的,从而实现了与生产实际相结合,提高风险端口的识别率的技术效果,进而解决了由于现有技术存在端口信息来源单一,数据维度低,无法与企业的生产实际相结合造成的在对网络端口进行风险识别时,整体识别效果差技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种模型训练方法的流程图;
图2是根据本申请实施例的一种训练深度置信网络模型的示意图;
图3是根据本申请实施例的一种利用向量机建立风险识别模型的流程图;
图4是根据本申请实施例的一种优化优化风险评估模型的流程图;
图5是根据本申请实施例的一种信息采集流程图;
图6是根据本申请实施例的一种模型训练装置的结构图;
图7是根据本申请实施例的一种建立和应用风险评估模型的流程图;
图8是根据本申请实施例的一种应用风险识别模型的示意图;
图9是根据本申请实施例的一种端口的风险识别方法的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例,提供了一种模型训练的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的一种模型训练方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,采集第一类数据,其中,第一类数据包括网络端口及与网络端口关联的数据。
基于步骤S102提供的方法,采集网络端口数据和与网络端口关联的风险数据;其中,采集风险数据的方式包括;从权威漏洞情报网站搜集网络安全风险情报,如从国家信息安全漏洞共享平台(China National Vulnerability Database,CNVD)和公共漏洞和暴露平台(Common Vulnerabilities&Exposure,CVE)采集漏洞关联的软件资源及硬件资源的相关信息,得到风险情报数据集(第一类数据)。
步骤S104,对第一类数据进行分类,得到第二类数据和第三类数据,其中,第二类数据和第三类数据的风险等级是不同的。
依据网络端口的关联的漏洞的等级将网络端口分为第二类数据和第三类数据,其中,第二类数据为不存在关联漏洞的端口,第三类数据为存在关联漏洞的端口,其中,第三类数据中的端口又依据关联的漏洞的等级分类为低危漏洞端口,中危漏洞端口以及高危漏洞端口三类。
需要说明的是,对数据进行分类后,利用网络安全渗透测试的方式对所有端口进行打标,在打标时将未发现漏洞的端口标记为[0],而对于存在漏洞的端口,根据通用漏洞评分系统(Common Vulnerability Scoring System,CVSS),将0分—3.9分的漏洞确定为低危漏洞,并将存在低危漏洞的端口标记为[1];将4.0分—6.9分的漏洞确定为中危漏洞,并将存在中危漏洞的端口标记为[2];将7.0分—10.0分的漏洞确定为高危漏洞,并将存在高危漏洞的端口标记为[3],并去除空值以及重复值,得到预处理数据集(即第四数据集)。
步骤S106,对第二类数据和第三类数据进行特征提取,得到第一数据集,并采用第一数据集中的样本数据对预设模型进行训练,生成风险评估模型。
对上述与处理数据中的样本数据进行特征提取,将经过特征提取得到的数据作为用于建模的原始数据(即样本数据),并利用该数据训练预设模型——深度置信网络-前馈神经网络(Feed Forward Network-Deep Belief Network,FFN-DBN)模型,生成风险评估模型。
通过上述步骤,利用机器学习算法,结合网络服务端口历史漏洞数据、开源漏洞情报等数据建立服务端口的风险评估模型,可以在获得少量的数据的前提下对端口的风险程度进行识别,减少了渗透测试的成本,提高了高危端口识别的准确性,极大的提升了识别风险端口的准确性与全面性。显著提升了公网服务端口的管理效率。
根据本申请一个可选的实施例,对第一类数据进行分类,得到第二类数据和第三类数据,包括以下步骤:根据第一类数据创建第二数据集和第三数据集,其中,第二数据集为与网络端口关联的软件资源数据及硬件资源数据的集合,第三数据集为与网络端口关联的风险数据的集合;将第二数据集和第三数据集关联,生成第四数据集;利用第四数据集对网络端口进行风险测试,并利用风险测试的结果确定网络端口的风险等级,将网络端口分为第二类数据和第三类数据。
在本实施例中,将上述模型训练方法应用在某一企业对其使用的网络端口进行风险识别的场景下,为将网络端口与企业信息技术(Information Technology,IT)资产漏洞集以及其他信息如漏洞管理责任人,漏洞关联应用服务,IT资产安全防护情况,IT资产部署位置,IT资产可访问范围等信息进行关联,得到一个统一的数据集(即第四数据集),对获取的网络端口的相关数据做出如下处理:
将与第一类数据中的网络端口关联的IT资产(即软件资源数据及硬件资源数据)归为一类,建立资产端口集合(即第二数据集):P={Pa1,…,Pst,...,PnN}其中,Pst为第s个IT资产的第t个端口,n为资产总数,N为网络端口总数;将第一类数据中的风险数据归为一类,建立风险端口情报集合(即第三数据集)V={V1,V2,...,Vt,...,Vn},其中Vt表示与端口t有关的风险情报;并根据上述资产端口集合(即第二数据集)和风险端口情报集合(即第三数据集)建立企业IT资产漏洞集合T={Ta1,Ta2,...,Tst,...,TnN},其中Tst表示第Pst个资产所具有的漏洞数量。
根据本申请另一个可选的实施例,采用第一数据集中的样本数据对预设模型进行训练,包括以下操作:将样本数据输入到预设模型的隐藏层,得到隐藏层的第一输出结果;将第一输出结果输入到预设模型的可见层,得到可见层的第二输出结果,其中,第二输出结果作为下一隐藏层的输入;利用第一输出结果更新样本数据的隐藏偏差值,利用第二输出结果更新样本数据的可见偏差值,利用第一输出结果和第二输出结果更新样本数据的权重。
图2是根据本申请实施例的一种训练深度置信网络模型(DBN)的示意图,如图2所示,DBN使用两阶段法对预处理后的端口相关信息数据(即第一数据集的数据)进行特征提取,其中,第一阶段为对受限波尔茨曼机(Restricted Boltzmann Machine,RBM)进行预训练的阶段,给定训练数据集D={(x(1),y(1)),…,(x(|D|),y(|D|))},其中,x|D|为DBN模型的输入,y|D|为输入x|D|的标签,用于表示输入x|D|是否为线性可分的,x(1)表示DBN模型的第一个输入,y(1)为x(1)的标签。
在本实施例中,将上述步骤S106中得到的样本数据作为RBM的输入,对RBM进行训练,RBM通过训练输出结果第一数据集中各个数据的概率分布。对于RBM,可以使用有监督学习或无监督学习的方法进行训练。在本实施例中选用有监督学习的方法训练RBM,对于每一条样本数据x,采用对比散度算法对其进行训练,具体训练方法包括以下步骤:
以下出现的公式中,i表示可见层,j表示隐藏层,v是输入向量,h是输出向量,xi表示输入,Wi,j表示xi的权重,bj表示可见偏差,ci表示隐藏偏差,σ为随机概率,λ为系数,K为RBM的堆叠层数。
步骤一;将x赋给隐藏层v1,利用公式P(hj|v)=σ(bj+∑iWi,jxi)计算出隐藏层中每个神经元被激活的概率:P(h1|v1),利用吉布斯(Gibbs)采样方法从中抽取一个样本数据h1(即第一输出结果),其中:h1~P(h1|v1)。
步骤二:将h1作为与上述隐藏层紧邻的可见层的输入,用h1重构可见层:利用公式P(hj|v)=σ(bj+∑iWi,jxi)计算显层中每个神经元被激活的概率:P(v2|h1),利用Gibbs采样方法从中抽取一个样本数据v2(即第二输出结果),其中,v2~P(v2|h1)。
还需要说明的是,由于RBM不只包括一个显层和一个隐层,因此可同样根据上述方法,通过v2再次计算与可见层紧邻的,不同于上述隐藏层的另一个隐藏层中每个神经元被激活的概率:P(h2|v2)。
步骤三:根据公式W←Wi,j+λ(P(h1|v1)v1-P(h2|v2)v2)更新每一个样本数据的权重,得到更新后的权重W,根据公式b←bj+λ(v1-v2)更新每一个样本数据的可见偏差值,得到更新后的可见偏差值b,根据公式c←ci+λ(h1-h2)更新每一个数据的隐藏偏差值,得到更新后的隐藏偏差值c。
在本申请一些优选的实施例中,根据以上三个步骤训练第一个RBM,固定训练后的第一个RBM的权重,可见偏差值以及隐藏偏差值,然后使用其隐性神经元的状态,作为第二个RBM的输入向量利用上述方法训练第二个RBM后,将第二个RBM堆叠在第一个RBM的上方,逐层训练RBM,直到全部K层RBM均训练完毕,至此,DBN模型训练的预训练阶段完毕。通过上述训练方法,解决了预训练阶段在每层k处的优化问题,该优化问题由以下的目标函数表示:
根据本申请又一个可选的实施例,采用第一数据集中的样本数据对预设模型进行训练,生成风险评估模型,包括:根据样本数据的风险等级确定样本数据的标签;根据标签,更新后的隐藏偏差值,可见偏差值以及权重确定目标函数;对目标函数进行求解,得到预设模型的第三输出结果,根据第三输出结果创建风险评估模型。
需要说明的是,根据本实施例提供的方法创建风险评估模型之前,还需要完成训练的第二阶段——对DBN模型进行微调,是根据样本数据的特征训练一个单独的分类器,其目的是使DBN模型整体的重构误差最小,第二阶段的训练为采用有监督训练的方法,将微调阶段(第二阶段)解决的问题通过以下函数表示:
其中,L是损失函数,h表示最终隐藏层j的特征,表示层的参数分类器。在将DBN和前馈神经网络(FFN)与信念网络(sigmoid)激活相结合时,样本数据的权重,隐藏偏差在DBN训练的两个阶段是共享的,因此,可以通过训练DBN来初始化FFN。本实施例中的FFN是受DBN输出约束的模型,即DBN两个训练阶段中得到的训练结果均对FFN有约束。将训练后得到的FFN-DBN模型用以下函数表示:
其中,θL和θDBN分别为两阶段训练中得到的DBN参数(即样本数据的权重,可见偏差、隐藏偏差),是经过两阶段训练后的DBN参数的最优值,δ是超参数。利用上述表示FFN-DBN模型的函数对DBN训练的两阶段得到的结果再次训练,对无监督训练(预训练阶段)得到的结果和有监督训练(DBN模型训练的第二阶段)得到的结果进行正则化来提高分类精度。将归一化后的训练集数据(样本数据)作为输入数据,输入到完成训练的FFN-DBN模型,得到中间向量G(第三输出结果)。
图3为利用向量机(Support Vector Machine,SVM)建立风险识别模型的流程图,在本实施例中,将上述FFN-DBN模型输出结果的特征向量G(即第三输出结果)传给顶层向量机(SVM),进而利用SVM建立风险识别模型,如图3所示,详细步骤如下:
步骤一,构建优化函数:构建凸优化问题求解模型,将目标函数转化为:
上述目标函数的约束条件为:yi(w·xi+b)≥1-ξi,i=1,2,…,N,ξi≥0,i=1,2,…,N,由于对目标函数转化的过程实际上是求解目标函数的原函数的过程,因此,ξi是在对目标函数进行转化时对于每一个ck的一个原函数,C为不影响目标函数的常数项。
步骤二,引入核函数:构建上述目标函数的拉格朗日函数形式,引入拉格朗日乘子将上述拉格朗日函数转化为拉格朗日对偶函数(即核函数)并求解:
①:构建拉格朗日函数:
其中,αi和μi为未知的拉格朗日乘子,αi≥0,μi≥0,将上述拉格朗日函数对偶化并选择核函数,原始问题转化为以下函数:
步骤三,最小优化算法(Sequential Minimal Optimization,SMO)求解:利用库恩—塔克(Karush-Kuhn-Tucher,KTT)条件,基于最小优化算法(SMO)求解αi和αj,将所有αi和αj的集合以a*表示,在a*中选择一个0<aj<C,得到b为
步骤四,创建风险评估模型:基于步骤三的结果建立风险评估模型,将风险评估模型用函数表示为:
根据本申请一些优选的实施例,采用第一数据集中的样本数据对预设模型进行训练,生成风险评估模型后,包括:确定测试数据集,将测试数据集中的各个数据输入到风险评估模型,得到第四输出结果;根据第四输出结果确定风险评估模型的误差值;根据误差值对风险评估模型进行优化。
图4是根据本申请实施例的一种优化风险评估模型的流程图,如图4所示,在本实施例中,采集互联网协议(Internet Protocol,IP)地址,端口号,开放服务以及该服务常见的漏洞,漏扫漏洞数量,历史漏洞数量,责任人,端口关联的系统名称等数据,作为测试集数据;将上述测试集中的数据输入风险评估模型(识别模型);该模型输出FFN-DBN预测值,将风险评估模型输出的上述结果与测试集中端口的实际风险值对比,得到模型的误差,判断误差是否在允许范围内,若在允许范围内,的到优化后的风险评估模型,若不在,将误差传回底层FFN-DBN网络中,微调整个FFN-DBN网络的参数;多次重复执行SVM分类的操作(即上述实施例中的操作),直到整个模型误差在设定范围内;最终获得优化后的风险评估模型。
根据本申请一些可选的实施例,采集第一类数据,包括:采集网络端口的风险数据;采集与网络端口关联的软件资源及硬件资源,采集与软件资源关联的漏洞信息,以及采集与硬件资源关联的漏洞信息;对软件资源及硬件资源进行漏洞扫描,采集扫描后的结果。
图5是信息采集流程图,在本实施例中将模型训练方法得到的模型应用在企业识别其所使用的网络服务端口的风险的场景下时,按照图5所示的流程采集信息;采集采集网络端口的风险数据包括:从权威漏洞情报网站搜集网络安全风险情报,如CNVD中的风险数据、以及CVE漏洞关联资产等数据;采集与上述企业使用的端口关联的IT资产(即与网络端口关联的软件资源及硬件资源,采集与软件资源),继而利用端口扫描工具对企业的所有IT资产进行端口扫描,指纹识别和漏洞扫描,采集扫描结果;整理企业近两年来所有互联网资产的漏洞信息,包括漏洞关联的网络层协议(IP),漏洞关联的端口,漏洞的管理责任人,漏洞关联应用服务,互联网资产安全防护情况,互联网资产部署位置等数据;上述采集到的数据的集合即为训练FFN-DBN模型的的训练数据集。
图6是根据本实施例提供的一种模型训练装置的结构图,该装置包括:
采集模块60,用于采集第一类数据,其中,第一类数据包括网络端口及与网络端口关联的数据;
分类模块62,用于对第一类数据进行分类,得到第二类数据和第三类数据,其中,第二类数据和第三类数据的风险等级是不同的;
提取模块64,用于对第二类数据和第三类数据进行特征提取,得到第一数据集,并采用第一数据集中的样本数据对预设模型进行训练,生成风险评估模型。
需要说明的是,图6所示实施例的优选实施方式可以参见图1所示实施例的相关描述,此处不再赘述。
图7是建立和应用风险评估(FFN-DBN)模型的流程图,具体实施时,为解决受限玻尔兹曼机(RBM)有监督学习问题,在深度置信网络(DBN)算法基础上,引入前馈神经网络(FFN),建立一个基于DBN的模型的FFN-DBN模型,利用该FFN-DBN模型充分挖掘标签数据特征。再利用支持向量机(SVM)对特征进行风险识别和建模,如图7所示,将上述建模的过程分解为信息采集,数据预处理,FFN-DBN特征提取,SVM风险端口识别四大步骤,其中每个步骤的具体过程如下:
信息采集:搜集网络安全风险端口相关情报,包括基于企业相关的自身高危端口以及相关漏洞、相关的应用及其默认端口、相关的CNVD漏洞、相关的协议漏洞信息、企业现有网络所有开放的网络端口数据以及企业历史漏洞数据,以上信息作为建模原始数据。
数据预处理:对信息采集阶段数据进行预处理,结合漏洞信息对企业现有开放的网络端口进行渗透测试,根据渗透测试结果对端口进行打标。打标后的数据进行处理,处理后的数据作为特征提取的样本集。
FFN-DBN特征提取:在DBN算法基础上,为使RBM在解决有监督学习问题时,引入前馈神经网络,建立一个基于FFN-DBN模型,DBN方法使用两阶段法对预处理后的端口相关信息数据进行特征提取。第一步称为预训练,这可以通过训练捕获输入分布的RBM,用于分类的特征进行建模。第二步称为微调,是根据第一步的特征训练一个单独的分类器。FFN-DBN对两阶段方法多进行一个训练阶段,可以通过使用为无监督和有监督目的训练的值对模型参数进行正则化来提高分类精度。因此得到安全端口风险评估模型的特征信息。
SVM风险端口识别:引入前馈神经网络,建立一个基于FFN-DBN模型,使用两阶段法对预处理后的端口相关信息数据进行特征提取,并利用提取的特征数据建立风险评估模型。至此,建模过程结束,进入图7所示的模型应用的步骤。
图8为应用风险识别模型的示意图,将图8中所示的IP地址,端口号,开放服务以及该服务常见的漏洞,漏扫漏洞数量,历史漏洞数量,责任人,端口关联的系统名称等数据输入风险识别模型,该模型输出FFN-DBN预测值,将FFN-DBN预测值与上述端口的实际风险值对比,得到FFN-DBN偏离值;另外还将上述IP地址,端口号,开放服务以及该服务常见的漏洞,漏扫漏洞数量,历史漏洞数量,责任人,端口关联的系统名称等数据输入现有技术使用的DBN模型,DBN模型输出DBN预测值,将DBN预测值与上述端口的实际风险值对比,得到DBN偏离值。根据图8中的测试结果可知,在测试的20个端口中,使用FFN-DBN模型提取特征信息识别出的服务风险端口与使用DBN模型提取特征信息识别出的风险端口偏离值更小,准确率更高。由此可见,本方法可在获得少量的数据的前提下对端口的风险程度进行识别,实现了高危端口识别的准确性,极大的提升了风险端口准确性与全面性。减少了渗透测试的成本,显著提升了公网服务端口的管理效率。
图9是根据本申请实施例的一种端口的风险识别方法的流程图,如图9所示,该方法包括以下步骤:
步骤S902,采集目标端口的风险数据。
步骤S904,依据风险数据确定目标端口的特征数据。
步骤S906,采用风险评估模型对目标端口的特征数据进行分析,得到目标端口的风险级别,其中,风险评估模型为采用上述方法训练得到的。
需要说明的是,图9所示实施例的优选实施方式可以参见图1所示实施例的相关描述,此处不再赘述。
本申请实施例还提供了一种非易失性存储介质,上述非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行以上的模型训练方法。
上述非易失性存储介质用于存储执行以下功能的程序:采集第一类数据,其中,第一类数据包括网络端口及与网络端口关联的数据;对第一类数据进行分类,得到第二类数据和第三类数据,其中,第二类数据和第三类数据的风险等级是不同的;对第二类数据和第三类数据进行特征提取,得到第一数据集,并采用第一数据集中的样本数据对预设模型进行训练,生成风险评估模型。
本申请实施例还提供了一种处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行以上的模型训练方法。
上述处理器用于运行执行以下功能的程序:采集第一类数据,其中,第一类数据包括网络端口及与网络端口关联的数据;对第一类数据进行分类,得到第二类数据和第三类数据,其中,第二类数据和第三类数据的风险等级是不同的;对第二类数据和第三类数据进行特征提取,得到第一数据集,并采用第一数据集中的样本数据对预设模型进行训练,生成风险评估模型。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种模型训练方法,其特征在于,包括:
采集第一类数据,其中,所述第一类数据包括网络端口及与所述网络端口关联的数据;
对所述第一类数据进行分类,得到第二类数据和第三类数据,其中,所述第二类数据和所述第三类数据的风险等级是不同的;
对所述第二类数据和第三类数据进行特征提取,得到第一数据集,并采用所述第一数据集中的样本数据对预设模型进行训练,生成风险评估模型。
2.根据权利要求1所述的方法,其特征在于,对所述第一类数据进行分类,得到第二类数据和第三类数据,包括:
根据所述第一类数据创建第二数据集和第三数据集,其中,所述第二数据集为与所述网络端口关联的软件资源数据及硬件资源数据的集合,所述第三数据集为与所述网络端口关联的风险数据的集合;
将所述第二数据集和所述第三数据集关联,生成第四数据集;
利用所述第四数据集对所述网络端口进行风险测试,并利用风险测试的结果确定所述网络端口的风险等级,将所述网络端口分为所述第二类数据和所述第三类数据。
3.根据权利要求1所述的方法,其特征在于,采用所述第一数据集中的样本数据对预设模型进行训练,包括:
将所述样本数据输入到所述预设模型的隐藏层,得到所述隐藏层的第一输出结果;
将所述第一输出结果输入到所述预设模型的可见层,得到所述可见层的第二输出结果,其中,所述第二输出结果作为下一所述隐藏层的输入;
利用所述第一输出结果更新所述样本数据的隐藏偏差值,利用所述第二输出结果更新所述样本数据的可见偏差值,利用所述第一输出结果和所述第二输出结果更新所述样本数据的权重。
4.根据权利要求3所述的方法,其特征在于,采用所述第一数据集中的样本数据对预设模型进行训练,生成风险评估模型,包括:
根据所述样本数据的风险等级确定所述样本数据的标签;
根据所述标签,更新后的所述隐藏偏差值,所述可见偏差值以及所述权重确定目标函数;
对所述目标函数进行求解,得到所述预设模型的第三输出结果,根据所述第三输出结果创建所述风险评估模型。
5.根据权利要求1所述的方法,其特征在于,采用所述第一数据集中的样本数据对预设模型进行训练,生成风险评估模型之后,所述方法还包括:
确定测试数据集,将所述测试数据集中的各个数据输入到所述风险评估模型,得到第四输出结果;
根据所述第四输出结果确定所述风险评估模型的误差值;
根据所述误差值对所述风险评估模型进行优化。
6.根据权利要求1所述的方法,其特征在于,采集第一类数据,包括:
采集所述网络端口的风险数据;
采集与所述网络端口关联的软件资源及硬件资源,采集与所述软件资源关联的漏洞信息,以及采集与所述硬件资源关联的漏洞信息;
对所述软件资源及所述硬件资源进行漏洞扫描,采集扫描后的结果。
7.一种端口的风险识别方法,其特征在于,包括:
采集目标端口的风险数据;
依据所述风险数据确定所述目标端口的特征数据;
采用风险评估模型对所述目标端口的特征数据进行分析,得到所述目标端口的风险级别,其中,所述风险评估模型为采用权利要求1至6中任意一项所述的方法训练得到的。
8.一种模型训练装置,其特征在于,包括:
采集模块,用于采集第一类数据,其中,所述第一类数据包括网络端口及与所述网络端口关联的数据;
分类模块,用于对所述第一类数据进行分类,得到第二类数据和第三类数据,其中,所述第二类数据和所述第三类数据的风险等级是不同的;
提取模块,用于对所述第二类数据和第三类数据进行特征提取,得到第一数据集,并采用所述第一数据集中的样本数据对预设模型进行训练,生成风险评估模型。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至6中任意一项所述的模型训练方法。
10.一种处理器,其特征在于,所述处理器用于运行存储在存储器中的程序,其中,所述程序运行时执行权利要求1至6任意一项所述的模型训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210899920.6A CN115277205B (zh) | 2022-07-28 | 2022-07-28 | 模型训练方法及装置、端口的风险识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210899920.6A CN115277205B (zh) | 2022-07-28 | 2022-07-28 | 模型训练方法及装置、端口的风险识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115277205A true CN115277205A (zh) | 2022-11-01 |
CN115277205B CN115277205B (zh) | 2024-05-14 |
Family
ID=83770243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210899920.6A Active CN115277205B (zh) | 2022-07-28 | 2022-07-28 | 模型训练方法及装置、端口的风险识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115277205B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117807604A (zh) * | 2024-03-01 | 2024-04-02 | 天津华来科技股份有限公司 | 固件文件系统中开源组件cve漏洞检测方法 |
CN117807604B (zh) * | 2024-03-01 | 2024-08-30 | 天津华来科技股份有限公司 | 固件文件系统中开源组件cve漏洞检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7003561B1 (en) * | 2001-06-29 | 2006-02-21 | Mcafee, Inc. | System, method and computer program product for improved efficiency in network assessment utilizing a port status pre-qualification procedure |
CN107391569A (zh) * | 2017-06-16 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 数据类型的识别、模型训练、风险识别方法、装置及设备 |
CN112508580A (zh) * | 2021-02-03 | 2021-03-16 | 北京淇瑀信息科技有限公司 | 基于拒绝推断方法的模型构建方法、装置和电子设备 |
US20220129727A1 (en) * | 2020-10-27 | 2022-04-28 | Paypal, Inc. | Multi-Phase Training Techniques for Machine Learning Models Using Weighted Training Data |
-
2022
- 2022-07-28 CN CN202210899920.6A patent/CN115277205B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7003561B1 (en) * | 2001-06-29 | 2006-02-21 | Mcafee, Inc. | System, method and computer program product for improved efficiency in network assessment utilizing a port status pre-qualification procedure |
CN107391569A (zh) * | 2017-06-16 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 数据类型的识别、模型训练、风险识别方法、装置及设备 |
US20220129727A1 (en) * | 2020-10-27 | 2022-04-28 | Paypal, Inc. | Multi-Phase Training Techniques for Machine Learning Models Using Weighted Training Data |
CN112508580A (zh) * | 2021-02-03 | 2021-03-16 | 北京淇瑀信息科技有限公司 | 基于拒绝推断方法的模型构建方法、装置和电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117807604A (zh) * | 2024-03-01 | 2024-04-02 | 天津华来科技股份有限公司 | 固件文件系统中开源组件cve漏洞检测方法 |
CN117807604B (zh) * | 2024-03-01 | 2024-08-30 | 天津华来科技股份有限公司 | 固件文件系统中开源组件cve漏洞检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115277205B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Improving performance of autoencoder-based network anomaly detection on nsl-kdd dataset | |
US11257041B2 (en) | Detecting disability and ensuring fairness in automated scoring of video interviews | |
CN110147726B (zh) | 业务质检方法和装置、存储介质及电子装置 | |
CN112613501A (zh) | 信息审核分类模型的构建方法和信息审核方法 | |
US20230281298A1 (en) | Using multimodal model consistency to detect adversarial attacks | |
WO2018235252A1 (ja) | 分析装置、ログの分析方法及び記録媒体 | |
CN109376766B (zh) | 一种画像预测分类方法、装置及设备 | |
CN111723870B (zh) | 基于人工智能的数据集获取方法、装置、设备和介质 | |
CN118153016B (zh) | 基于人工智能的鉴权系统 | |
CN116611071A (zh) | 一种基于多模态的函数级漏洞检测的方法 | |
CN117290508A (zh) | 一种基于自然语言处理的贷后文本数据处理方法和系统 | |
Sujatha et al. | Loan prediction using machine learning and its deployement on web application | |
CN116821759A (zh) | 类别标签的识别预测方法、装置和处理器及电子设备 | |
CN115277205A (zh) | 模型训练方法及装置、端口的风险识别方法 | |
Alharthi et al. | An efficient classification of secure and non-secure bug report material using machine learning method for cyber security | |
Bhat et al. | Class imbalanced problem: Taxonomy, open challenges, applications and state-of-the-art solutions | |
Deshpande et al. | How much data analytics is enough? the roi of machine learning classification and its application to requirements dependency classification | |
Hashemi Chaleshtori et al. | Automation of vulnerability information extraction using transformer-based language models | |
CN114202428A (zh) | 基于图卷积神经网络的资产数据处理方法、装置及设备 | |
CN110852854B (zh) | 一种量化收益模型的生成方法和风险控制策略的评价方法 | |
Madugula et al. | Advanced Machine Learning Scenarios for Real World Applications using Weka Platform | |
Wang et al. | Using age information as a soft biometric trait for face image analysis | |
Huang et al. | Financial Fraud Detection Using Deep Learning Based on Modified Tabular Learning | |
Singh et al. | Fake News Detection Using LSTM in TensorFlow and Deep Learning | |
Joshi et al. | Stock Market Prediction Approach: An Analysis |
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 |