CN116192538A - 基于机器学习的网络安全评估方法、装置、设备及介质 - Google Patents

基于机器学习的网络安全评估方法、装置、设备及介质 Download PDF

Info

Publication number
CN116192538A
CN116192538A CN202310474150.5A CN202310474150A CN116192538A CN 116192538 A CN116192538 A CN 116192538A CN 202310474150 A CN202310474150 A CN 202310474150A CN 116192538 A CN116192538 A CN 116192538A
Authority
CN
China
Prior art keywords
data
model
sub
training
security
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
Application number
CN202310474150.5A
Other languages
English (en)
Other versions
CN116192538B (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.)
Beijing Yuanbao Technology Co ltd
Original Assignee
Beijing Yuanbao 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 Beijing Yuanbao Technology Co ltd filed Critical Beijing Yuanbao Technology Co ltd
Priority to CN202310474150.5A priority Critical patent/CN116192538B/zh
Publication of CN116192538A publication Critical patent/CN116192538A/zh
Application granted granted Critical
Publication of CN116192538B publication Critical patent/CN116192538B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供了一种基于机器学习的网络安全评估方法、装置、设备及介质,涉及网络安全技术领域,其中,该方法包括:获取待评估网络的网络安全相关数据,并将网络安全相关数据划分为连续型数据、文本数据、标签型数据以及类别型数据;将连续型数据输入第一子模型,第一子模型输出浮点型第一特征值;将文本数据分词后输入第二子模型,第二子模型输出浮点型第二特征值;将类别型数据输入第三子模型,第三子模型输出浮点型第三特征值;将浮点型第一特征值、浮点型第二特征值、浮点型第三特征值以及标签型数据输入第四子模型,第四子模型输出待评估网络的网络安全风险评分,各个子模型组成风险评估模型。该方案可以提高网络安全风险评估的精确度。

Description

基于机器学习的网络安全评估方法、装置、设备及介质
技术领域
本发明涉及网络安全技术领域,特别涉及一种基于机器学习的网络安全评估方法、装置、设备及介质。
背景技术
网络安全风险评估主要是通过获取待评估目标数据,并通过把数据输入对应的评分模型来生成针对待评估目标的网络安全评分。现有的网络安全风险评估方法主要是采用基于规则的评分模型,即通过专家根据经验给出一套计算公式及其参数的权重,再根据事先制定好的模型规则进行评分,生成待评估目标的网络安全风险值。
上述方法的关键问题在于专家对计算公式的设计以及权重的选取,而专家评价的准确程度,主要取决于专家的阅历经验以及知识丰富的广度和深度。这就要求参加评价的专家对评价的系统具有较高的学术水平和丰富的实践经验。总的来说,专家评分法具有使用简单、直观性强的特点,但其理论性和系统性尚有欠缺,有时难以保证评价结果的客观性和准确性。
此外,基于专家经验的评价系统往往有着较强的针对性,即只适用于特定的场景或系统,针对新的业务需求,往往需要重新进行专家评估以及系统搭建,会引入大量的重复工作,不具有普遍性和通用性,专家的时间成本也比较高,在出现特征维度变化的情况下往往需要重新评估,因此专家评价的方法难以满足大数据环境下的网络安全评估要求。
此外,部分使用机器学习方法进行网络安全评分的模型也存在着精准性差的原因,在网络安全场景下,数据存在多源异构的特性,而不同维度、不同类型的数据使用的处理及训练方式不同,在进行网络安全风险评估时,往往难以取得最优的效果。因此,目前尚缺少一种准确评估网络安全风险的技术方案。
发明内容
有鉴于此,本发明实施例提供了一种基于机器学习的网络安全评估方法,以解决现有技术中网络安全评估存在的精准性差的技术问题。该方法包括:
获取待评估网络的网络安全相关数据,并将所述网络安全相关数据划分为连续型数据、文本数据、标签型数据以及类别型数据;
将所述连续型数据输入第一子模型,所述第一子模型输出浮点型第一特征值,其中,所述第一子模型是以历史连续型数据为样本训练深度神经网络得到的;
将所述文本数据分词后输入第二子模型,所述第二子模型输出浮点型第二特征值,其中,所述第二子模型是以历史文本数据为样本训练预训练模型和文本卷积层得到的;
将所述类别型数据输入第三子模型,所述第三子模型输出浮点型第三特征值,其中,所述第三子模型是以历史类别型数据为样本训练树模型得到的;
将所述浮点型第一特征值、所述浮点型第二特征值、所述浮点型第三特征值以及所述标签型数据输入第四子模型,所述第四子模型输出所述待评估网络的网络安全风险评分,其中,所述第四子模型是以历史浮点型第一特征值、历史浮点型第二特征值、历史浮点型第三特征值、历史标签型数据以及历史评分标签为样本训练逻辑回归模型得到的,所述第一子模型、所述第二子模型、所述第三子模型以及所述第四子模型构成风险评估模型。
本发明实施例还提供了一种基于机器学习的网络安全评估装置,以解决现有技术中网络安全评估存在的精准性差的技术问题。该装置包括:
数据获取模块,用于获取待评估网络的网络安全相关数据,并根据数据类型将所述网络安全相关数据划分为连续型数据、文本数据、标签型数据以及类别型数据;
第一评估模块,用于将所述连续型数据输入第一子模型,所述第一子模型输出浮点型第一特征值,其中,所述第一子模型是以历史连续型数据为样本训练深度神经网络得到的;
第二评估模块,用于将所述文本数据分词后输入第二子模型,所述第二子模型输出浮点型第二特征值,其中,所述第二子模型是以历史文本数据为样本训练预训练模型和文本卷积层得到的;
第三评估模块,用于将所述类别型数据输入第三子模型,所述第三子模型输出浮点型第三特征值,其中,所述第三子模型是以历史类别型数据为样本训练树模型得到的;
风险评估模块,用于将所述浮点型第一特征值、所述浮点型第二特征值、所述浮点型第三特征值以及所述标签型数据输入第四子模型,所述第四子模型输出所述待评估网络的网络安全风险评分,其中,所述第四子模型是以历史浮点型第一特征值、历史浮点型第二特征值、历史浮点型第三特征值、历史标签型数据以及历史评分标签为样本训练逻辑回归模型得到的,所述第一子模型、所述第二子模型、所述第三子模型以及所述第四子模型构成风险评估模型。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的网络安全评估方法,以解决现有技术中网络安全评估存在的精准性差的技术问。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的网络安全评估方法的计算机程序,以解决现有技术中网络安全评估存在的精准性差的技术问。
与现有技术相比,本说明书实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:获取待评估网络的网络安全相关数据后,将网络安全相关数据划分为连续型数据、文本数据、标签型数据以及类别型数据,进而将所述连续型数据输入第一子模型,所述第一子模型输出浮点型第一特征值,将所述文本数据分词后输入第二子模型,所述第二子模型输出浮点型第二特征值,将所述类别型数据输入第三子模型,所述第三子模型输出浮点型第三特征值,最后,将所述浮点型第一特征值、所述浮点型第二特征值、所述浮点型第三特征值以及所述标签型数据输入第四子模型,所述第四子模型输出所述待评估网络的网络安全风险评分,所述第一子模型、所述第二子模型、所述第三子模型以及所述第四子模型构成风险评估模型。考虑到网络安全相关数据的多源异构的特性,将网络安全相关数据划分为连续型数据、文本数据、标签型数据以及类别型数据等多种数据类型,进而针对不同数据类型的特点,分别采用适应的、精度高的对应的子模型进行处理,最后,将其他子模型的输出和标签型数据输入第四子模型,第四子模型直接输出待评估网络的网络安全风险评分,所述第一子模型、所述第二子模型、所述第三子模型以及所述第四子模型组成风险评估模型,该风险评估模型实现了通过逻辑回归将多模型聚合的方式进行网络安全风险评分,相对使用单一模型或方法进行网络安全风险评估的方案而言,可以进一步提高网络安全风险评估的精确度。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种网络安全评估方法的流程图;
图2是本发明实施例提供的一种实施上述网络安全评估方法的原理示意图;
图3是本发明实施例提供的一种表示评估标签的特征的树结构示意图;
图4是本发明实施例提供的一种深度神经网络的结构示意图;
图5是本发明实施例提供的一种Bert模型的结构示意图;
图6是本发明实施例提供的一种文本卷积层的结构示意图;
图7是本发明实施例提供的一种训练XGBoost模型的流程示意图;
图8是本发明实施例提供的一种训练基于机器学习的网络安全评分模型的框架图;
图9是本发明实施例提供的一种计算机设备的结构框图;
图10是本发明实施例提供的一种网络安全评估装置的结构框图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本发明实施例中,提供了一种基于机器学习的网络安全评估方法,如图1所示,该方法包括:
步骤S101:获取待评估网络的网络安全相关数据,并将所述网络安全相关数据划分为连续型数据、文本数据、标签型数据以及类别型数据;
步骤S102:将所述连续型数据输入第一子模型,所述第一子模型输出浮点型第一特征值,其中,所述第一子模型是以历史连续型数据为样本训练深度神经网络得到的;
步骤S103:将所述文本数据分词后输入第二子模型,所述第二子模型输出浮点型第二特征值,其中,所述第二子模型是以历史文本数据为样本训练预训练模型和文本卷积层得到的;
步骤S104:将所述类别型数据输入第三子模型,所述第三子模型输出浮点型第三特征值,其中,所述第三子模型是以历史类别型数据为样本训练树模型得到的;
步骤S105:将所述浮点型第一特征值、所述浮点型第二特征值、所述浮点型第三特征值以及所述标签型数据输入第四子模型,所述第四子模型输出所述待评估网络的网络安全风险评分,其中,所述第四子模型是以历史浮点型第一特征值、历史浮点型第二特征值、历史浮点型第三特征值、历史标签型数据以及历史评分标签为样本训练逻辑回归模型得到的,所述第一子模型、所述第二子模型、所述第三子模型以及所述第四子模型构成风险评估模型。
由图1所示的流程可知,在本发明实施例中,考虑到网络安全相关数据的多源异构的特性,将网络安全相关数据划分为连续型数据、文本数据、标签型数据以及类别型数据等多种数据类型,进而针对不同数据类型的特点,分别采用适应的、精度高的对应的子模型进行处理,最后,将其他子模型的输出和标签型数据输入第四子模型,第四子模型直接输出待评估网络的网络安全风险评分,所述第一子模型、所述第二子模型、所述第三子模型以及所述第四子模型构成风险评估模型,风险评估模型实现了通过逻辑回归将多模型聚合的方式进行网络安全风险评分,相对使用单一模型或方法进行网络安全风险评估的方案而言,可以进一步提高网络安全风险评估的精确度。
在一个实施例中,上述网络安全相关数据可以包括待评估网络的安全相关数据和安全风险相关数据等。例如,安全相关数据包括但不限于以下种类:ip地址、域名、域名访问量、域名复杂度、资产类别、资产mac地址、安全漏洞、补丁更新频率、风险类别等。例如,可以通过公开数据爬虫及数据接口服务等方式获取安全风险相关数据,安全风险相关数据主要包括但不限于以下种类:ip声誉、安全论坛文本数据(如漏洞报告、公开的CVE文本等)、国际网安态势、企业安全防护设备监测数据、企业历史安全事件等。
在一个实施例中,获取上述网络安全相关数据后,可以进行数据清洗。对获取到的网络安全相关数据进行数据清洗合并等操作,例如,可以将网络安全相关数据划分为IP地址、域名、域名访问量、安全论坛文本数据、补丁更新频率、安全漏洞、资产类别、历史事件、mac地址、风险类别等多个安全漏洞指标,如图2所示。
在一个实施例中,如图2所示,将网络安全相关数据分为四类数据,即连续型数据(例如,域名访问量、更新频率等连续数据的)、文本数据(例如,安全论坛、历史事件等文本形式的数据)、标签型数据(例如,IP地址、mac地址等标签形式的数据)以及类别型数据(例如,风险类别、资产类别、安全漏洞等表示类别的数据)。进而根据网络安全数据的数据维度多、数据来源丰富、数据类型多样的特点,对上述网络安全相关数据进行分类,并针对不同数据类型的特性分别采用更适合、精度更高的子模型进行处理,例如,对于连续型数据,结合深度神经网络(DNN)对连续型数据拟合精度高的特点,采用 DNN进行第一子模型的训练;对于文本数据,由于文本型数据训练复杂,获取的数据量有限,引入预训练模型(BERT)及文本卷积层(TextCNN)进行第二子模型的训练;对于类别型数据,结合树模型在类别型数据训练上的优势,引入XGBoost模型进行第三子模型的训练;对于标签型数据,由于标签型数据特征维度高,对训练性能要求高,因此引入逻辑回归模型进行第四子模型的训练,在此基础上,将上述第一子模型的输出、第二子模型的输出、第三子模型的输出以及标签型数据均作为逻辑回归模型(即第四子模型)的输入,最终由逻辑回归模型输出网络安全风险评分,实现由第一子模型、第二子模型、第三子模型以及第四子模型组成整体的风险评估模型。
具体实施时,每一条样本数据都包含了上述所有子模型所需的字段。上述历史评分标签为一个统一的值,是对应上述风险评估模型整体的标签。
在一个实施例中,在类别型数据包括的多个安全漏洞指标的基础上,还可以根据风险类别将各个安全漏洞指标划分为多个安全维度,例如,安全维度可以分为“网络安全”、“端口安全”、“DNS安全”、“邮件安全”、“补丁漏洞”、“应用安全”、“IP声誉”、“资产暴露”、“数据安全”等9个安全维度,每个安全维度中可以包括多个安全漏洞指标,每个安全漏洞指标对应一个风险级别,根据风险严重程度分为高、中、低等三个风险级别,每个风险级别下边都有若干个安全漏洞指标。可以利用扫描技术对目标企业(即待评估网络)进行扫描,可得到这些安全漏洞指标对应的扫描所发现安全漏洞的个数。具体的,每个安全漏洞指标的所属安全维度、风险级别、漏洞所依附于的资产的重要性以及对应的扫描出来的安全漏洞个数等等,这些都可以作为这个安全漏洞指标的特征或特征因子,每个特征或特征因子对应的具体值则为每个特征或特征因子的特征值,各个特征或特征因子的特征值组成安全漏洞指标的特征值。
例如,上述9个安全维度下共有102个安全漏洞指标,举例如下:
1)当安全维度为网络安全维度时,对应的安全漏洞指标可以包括:检测到数字证书已吊销、SSL/TLS协议使用了不安全的算法套件、存在CVE暴露漏洞等。
2)当安全维度为端口安全维度时,对应的安全漏洞指标可以包括:检测到Elasticsearch服务、检测到Redis服务等。
3)当安全维度为DNS安全维度时,对应的安全漏洞指标可以包括:检测到开放的DNS递归解析服务、检测到DNS域传送漏洞等。
4)当安全维度为邮件安全维度时,对应的安全漏洞指标可以包括:SMTP服务反向DNS解析失败、SMTP服务未启用TLS等。
5)当安全维度为补丁漏洞维度时,对应的安全漏洞指标可以包括:SQL注入漏洞、XSS漏洞等。
6)当安全维度为应用安全维度时,对应的安全漏洞指标可以包括:网站未强制应用HTTPS、网站未设置 Content-Security-Policy等。
7)当安全度为数据安全维度时,对应的安全漏洞指标可以包括:检测到SVN或GIT信息泄露、检测到疑似敏感文件泄露等。
8)当安全维度为资产暴露维度时,对应的安全漏洞指标可以包括:代码管理后台暴露web应用组件后台暴露等。
9)当安全维度为IP声誉维度时,对应的安全漏洞指标可以包括:检测到P2P网络活动、检测到恶意软件事件等。
在一个实施例中,为了进一步提高网络安全风险评估的精确度,提出了训练出效果较好的上述第一子模型、第二子模型模型、第三子模型、第四子模型的方法,以提高整体风险评估模型的效果。例如,将历史连续型数据输入深度神经网络来训练第一子模型,第一子模型输出历史第一特征值,将历史文本数据输入预训练模型和文本卷积层来训练第二子模型,第二子模型输出历史第二特征值,将历史类别型数据输入树模型来训练第三子模型,第三子模型输出历史第三特征值,进而将历史第一特征值、历史第二特征值、历史第三特征值、历史标签型数据以及历史评分标签输入第四子模型(即逻辑回归模型),以训练得到整体的风险评估模型。具体实施时,在每次训练过程中,第一子模型、第二子模型、第三子模型以及第四子模型均参与训练。
在一个实施例中,该历史评分标签是根据所述历史连续型数据、所述历史文本数据、所述历史类别型数据以及所述历史标签型数据评估得到的,是对应历史连续型数据、所述历史文本数据、所述历史类别型数据以及所述历史标签型数的整体的一个标签。该历史评分标签的确定不依赖安全维度、安全漏洞指标的变化,也不依赖第一子模型、第二子模型第、第三子模型及第四子模型的模型结构,在不知道子模型相关的特征及模型结构的前提下,就可以根据风险评估系统获取到的原始数据(历史网络安全相关数据)进行安全风险评分,得到历史安全风险评分(即标签),并将该历史安全风险评分作为历史评分标签进行有监督学习,通过引入机器学习算法来自适应的生成第四子模型的参数,从而形成风险评估模型。这样做的好处是,如果原始数据的特征有增减,只需要依据新的特征重新进行风险评估模型训练,而历史评分标签不需要变化,即可得到一个新的风险评估模型。具体的,上述原始数据的数据维度足以满足评估安全风险评分的需求,后续的特征增减不会从根本上影响安全风险评分的判断。
在一个实施例中,上述历史安全风险评分可以通过专家完全依赖自己的经验作出评分,也可以其他算法、数据处理等方式进行评分。
在一个实施例中,在训练各个子模型的过程中,针对连续型数据、文本数据、标签型数据以及类别型数据等四类数据,输入各自模型的参数解释如下:
1)对于历史类别型数据。根据风险类别,将安全漏洞数据分为“网络安全”、“端口安全”、“DNS安全”、“邮件安全”、“补丁漏洞”、“应用安全”、“IP声誉”、“资产暴露”、“数据安全”9个安全维度。举例来说,可对这9个安全维度下的102个指标进行编号;还可以对每个安全漏洞指标的扫描出的问题个数进行数量编号;还可以对每个安全漏洞指标的风险等级进行级别编号;同时根据扫描出的漏洞所依附于的指纹资产类别的不同,进行资产重要性等级划分,还可以对每个安全漏洞指标所依附的资产重要性等级进行重要性编号;最后,将每个安全漏洞指标的顺序编号、数量编号、级别编号以及重要性编号组合起来进行编码,即可得到每个安全漏洞指标的特征值的编码。对于其他安全维度下的安全漏洞指标的特征值,也可以按照该原理进行类推。如图3所示,在图3中左图示出了采取自顶向下的树形逻辑结构来表示一个安全漏洞指标的特征值的构成,根节点为单个安全漏洞指标,子节点为安全漏洞指标的各个特征或特征因子,叶子节点为各个特征或特征因子的特征值,图3中右图示出了对安全漏洞指标自身进行顺序编号、对各个特征的特征值进行编号之后,得到安全漏洞指标的特征值编码后的结果可表示为0010203090025。其中第一个字段001代表评估指标1(即上述顺序编号),第二个字段02代表指标所属的安全维度为“端口安全”(即上述维度编号,各个安全维度“网络安全”、“端口安全”、“DNS安全”、“邮件安全”、“补丁漏洞”、“应用安全”、“IP声誉”、“资产暴露”、“数据安全”也可以按照顺序进行编号,分别对应01,02,03,04,05,06,07,08,09),第三个字段03代表安全漏洞指标的严重性为高危(即上述与风险级别对应的级别编号,01代表低危,02代表中危,03代表高危,数值越大,危险度越高),第四个字段代表指纹资产的重要性为9(即上述重要性编号),代表数据库资产(例如,重要性编号可以取值1~9,如09代表数据库,06代表邮件服务,02代表中间件服务等,数值越大,指纹资产越重要),第五个字段代表扫描到的问题的个数为25个(即上述数量编号),将每个评估指标的特征值编码后的结果输入到XGBoost,来训练第三子模型。
2)对于历史文本数据,主要包括分词后的漏洞及风险相关文本、如“StackOverflow问答文本”、CVE漏洞集合、论坛舆论情况数据等,进而将历史文本数据分词后的文本数据(如“漏洞”,“风险”,“IP地址”,“缓冲区”,“溢出”等)输入到BERT+TextCNN模型中,来训练上述第二子模型。
3)对于历史连续型数据,主要包括浮点型的特征数据,如补丁更新频率、域名访问量、设备故障率、连续运行时间等,进而将历史连续型数据的浮点数值(如1.1,2.2,3.3...)输入深度神经网络,来训练上述第一子模型。
4)对于标签型数据,主要包括id、哈希值等高维数据,如ip地址信息、资产mac地址等此类信息,将历史标签型数据做完独热编码后的向量(如
Figure SMS_1
,对于
Figure SMS_2
,编码后的值为
Figure SMS_3
,即
Figure SMS_4
的位置为1,其他位置都为0),进行独热编码后数据维度较高,将独热编码后的数据输入逻辑回归模型,直接参与上述第四子模型的训练。
在一个实施例中,用于训练上述第一子模型的深度神经网络的结构如图4所示,DNN(深度神经网络)模型包含输入层、隐藏层以及输出层,输入层的输入为历史连续型数据,即将特征值直接作为DNN模型的输入,最终通过非线性激活函数输出,该输出结果即历史浮点型第一特征值,作为一个整体的特征输入到逻辑回归模型参与最终的训练。DNN的输入多为连续型特征,此类特征首先通过线性模型进行聚合,然后通过非线性激活函数(如softmax)进行处理,其中softmax函数可以表示为
Figure SMS_5
,(其中,w为每个输入对应的权重,x为特征值(即上述第一特征值),如补丁更新频率,域名访问量等)可以看出,上述函数的值域为
Figure SMS_6
,即0和1之间的浮点型数据,从而可以将DNN的输出直接作为一个整体特征,输入到逻辑回归模型。
在一个实施例中,在训练上述第二子模型的过程中,预训练模型(Bert模型)的结构如图5所示,在Bert模型中,将历史文本数据分词后的词向量为Bert模型的输入,并输出词嵌入之后的结果,该结果作为文本卷积层(TextCNN)的输入,TextCNN的结构如图6所示,最终TextCNN的输出为上述历史浮点型第二特征值,该历史浮点型第二特征值作为LR模型的输入进行联合训练。与DNN模型类似,Bert+TextCNN的输入为分词后的文本数据(如对于漏洞报告文本的处理,“根据CVE追踪,2021-2022年,Debian Linux系统中发现漏洞512处”,分词并预处理后的结果为“CVE | 2021-2022年 | Debian | Linux | 系统 | 漏洞 |512”),输出则为经过非线性激活函数的连续值(如0.035),该输出也可直接作为逻辑回归模型的输入参与训练。
在一个实施例中,在训练上述第三子模型的过程中,可以通过以下步骤实现:
将所述历史类别型数据中的每个安全漏洞指标作为训练数据集一条样本数据,每个安全漏洞指标对应多个特征,每个特征对应一个特征值,对每个特征对应的特征值进行编码,得到每个特征对应的编码特征值,每个安全漏洞指标对应的多个特征的编码特征值构成每个安全漏洞指标的特征值;
构建多棵回归树,不同回归树的根节点映射的安全漏洞指标不同,每棵回归树包括非叶子节点和叶子节点,每个非叶子节点映射所述训练数据集中的一个安全漏洞指标,每个叶子节点映射基于该棵回归树中与该叶子节点相关联的非叶子节点的安全漏洞指标的特征值得到的预测结果,针对每棵回归树中的每个非叶子节点,对所述训练数据集中当前未映射有非叶子节点的所有安全漏洞指标分别计算收益值,将收益值最大的安全漏洞指标映射到该非叶子节点上;将多棵回归树结合样本数据,进行训练,得到所述第三子模型。
具体的,在构建每棵回归树时,回归树的非叶子节点代表一个分割规则,叶子节点代表这棵树的预测结果。回归树的结构可将输入样本中类别型数据的安全漏洞指标映射到一个确定的非叶子节点上。
具体实施时,为了使得到的每棵回归树都是最优回归树,并提高回归树生成的效率,上述在确定每个非叶子节点映射的安全漏洞指标的过程中,提出了针对每棵回归树中的每个非叶子节点,对所述训练数据集中当前未映射有非叶子节点的所有安全漏洞指标分别计算收益值,将收益值最大的安全漏洞指标映射到该非叶子节点上,即利用了贪心算法的思路生成每棵回归树,计算每一次节点(分裂点即为每个非叶子节点)分裂后产生的收益,通过对每一次分裂,选取收益最大的安全漏洞指标映射到该分裂点对应的非叶子节点上,从而使得每个非叶子节点均是映射的收益值最大的安全漏洞指标,进而可以保证生成的整棵回归树是最优的;同时,在确定每个非叶子节点映射的安全漏洞指标时直接基于收益值确定最优的安全漏洞指,避免了构建每个分裂点对应的所有子树后再从所有子树中选取最后树的过程,从而提高了回归树的生成效率,降低了计算量。
具体实施时,在对所述训练数据集中当前未映射有非叶子节点的所有安全漏洞指标分别计算收益值的过程中,将每个非叶子节点视为当前分裂点,可以通过以下公式计算收益值:
Figure SMS_7
其中,
Figure SMS_8
表示当前分裂点对应的收益值,
Figure SMS_12
为当前分裂点对应的特征集合,
Figure SMS_14
为当前分裂点分裂后的左子节点对应的特征集合,
Figure SMS_9
为当前分裂点分裂后的右子节点对应的特征集合,
Figure SMS_11
为前一棵回归树对应的损失函数的泰勒展开项的一阶导数,
Figure SMS_13
为前一棵回归树对应的损失函数的泰勒展开项的二阶导数,
Figure SMS_15
表示节点切分的难度,
Figure SMS_10
为正则化参数。
具体实施时,如图7所示,通过以下步骤得到多棵回归树:
1、确定参与XGBoost训练的训练集,定义学习率、迭代轮数、最大树深、每棵树(此处每棵树对应一个特征分裂点)的特征抽样,样本抽样以及正则项系数,此处的树指的是回归树,每一轮迭代会产生一颗回归树,每次迭代依赖于前一棵树的参数,即当前回归树的参数为前一棵树的参数加上新训练出来的残差,令平方损失函数为
Figure SMS_16
,其中
Figure SMS_17
为实际值,
Figure SMS_18
为预测值,XGBoost的目标函数如下:
Figure SMS_19
其中
Figure SMS_20
为样本数量,
Figure SMS_21
表示第
Figure SMS_22
条样本对应的损失,
Figure SMS_23
为正则化项,即将全部
Figure SMS_24
棵树(每迭代一轮产生一颗回归树)的复杂度进行求和,n为样本总数。
2、从深度为1的树开始,对于每棵树从根节点开始,对当前节点枚举所有特征,把属于当前节点的样本(即上述安全漏洞指标)按照特征值排序(即按每个特征所有可能的值的大小进行排序,如问题数量可能是0个,1个,2个……,则按0,1,2……的顺序进行排序,此处是为了保证特征参数结构一致,用来提高并行性),通过信息增益决定该特征的最佳分裂点,逐层去确定每一个分裂点的时候,都需要采用贪心算法去计算,如此处的公式,来确定每一分裂点的选择都是最优的,最终使得这棵决策树也是最优的。分裂点的选择可以用贪心算法的方式,如下面的公式,遍历每一个排好序的特征(即上述安全漏洞指标),计算如下的收益(收益指的是损失函数减少的最多的分类方法,即上述收益值):
Figure SMS_25
其中,
Figure SMS_26
表示当前分裂点对应的收益,
Figure SMS_27
为当前分裂点的特征集合,
Figure SMS_28
Figure SMS_29
分别为当前分裂点分裂后的左、右子节点的特征集合,
Figure SMS_30
分别为前一棵树对应的损失函数的泰勒展开项的一阶导数和二阶导数,
Figure SMS_31
表示节点切分的难度,
Figure SMS_32
为正则化参数。
3、选择收益最大(此处收益同步骤2中的收益)的特征作为分裂特征,用该特征的最佳分裂点进行分裂。
4、重复步骤2–3,收益最大的树为模型树,xgboost训练的过程就是通过上述迭代得到多颗模型树(每棵树的根节点为当前特征对应的分裂点,每个非叶子节点也为分裂点),通过贪心算法的方式,可保证每一步都是最优解,从而达到全局最优解的方法,即保证每一次节点的分裂产生的新的树,都是目标函数值最小的,从而实现得到的回归树为最优的。
具体学习的过程可以形式化如下:
Figure SMS_33
,其中
Figure SMS_34
为当前训练轮数,
Figure SMS_35
为当前轮训练得到的函数,
Figure SMS_36
为上一轮训练得到的函数,
Figure SMS_37
为新的要训练的函数。初始时,
Figure SMS_38
Figure SMS_39
为第k棵树对应的目标函数。具体训练过程如下公式所示:
Figure SMS_40
最终学习到的参数为每棵树对应的参数之和,即上公式中的
Figure SMS_41
。xgboost的输出为上述
Figure SMS_42
根据权重聚合后的结果(如0.011),该结果作为 LR 模型的输入(即整体模型的中间结果,共同参与训练过程的参数迭代)。
在一个实施例中,为了进一步提高训练上述第三子模型的精准度,达到高性能、轻量级训练的效果,在本实施例中,提出了对所述第三子模型的训练数据集进行蒸馏处理,得到蒸馏数据集;
以所述蒸馏数据集和新增的类别型数据为样本,训练更新所述第三子模型。
在一个实施例中,通过以下步骤实现对所述第三子模型的训练数据集进行蒸馏处理,得到蒸馏数据集:
将所述第三子模型的每个叶子结点对应的所述训练数据集中的样本数据,划分为连续数据、离散数据和标签数据;
针对连续数据,通过以下公式提取蒸馏数据:
Figure SMS_43
其中,
Figure SMS_44
表示从所有与第i个叶子节点关联的非叶子节点对应的样本数据的连续数据中提取的蒸馏数据,
Figure SMS_45
表示所有与第i个叶子节点关联的非叶子节点对应的样本数据,
Figure SMS_46
表示所有叶子节点集合,求和是对参与蒸馏的原始数据样本的集合,
Figure SMS_47
为求均值函数。
针对离散数据,通过以下公式提取蒸馏数据:
Figure SMS_48
其中,
Figure SMS_49
表示从所有与第i个叶子节点关联的非叶子节点对应的样本数据的离散数据中提取的蒸馏数据,
Figure SMS_50
表示所有与第i个叶子节点关联的非叶子节点对应的样本数据,
Figure SMS_51
表示所有叶子节点集合,
Figure SMS_52
为求中位数函数。
针对标签数据,通过以下公式提取蒸馏数据:
Figure SMS_53
其中,
Figure SMS_54
表示从所述训练数据集的标签数据中提取的蒸馏后标签值,
Figure SMS_55
表示所述训练数据集中参与蒸馏的第j个样本数据对应的标签值,
Figure SMS_56
表示所述训练数据集中所有参与蒸馏的样本数据集合,
Figure SMS_57
表示取众数函数,函数作用范围为参与蒸馏的原始数据样本集合。
从连续数据中提取的蒸馏数据、从离散数据中提取的蒸馏数据以及从标签数据中提取的蒸馏后标签值组成初始蒸馏数据集;
对所述初始蒸馏数据集进行数据增值,得到所述蒸馏数据集。
具体实施时,对于xgboost模型(树模型)训练复杂度高的特点,引入数据蒸馏的思想。数据蒸馏主要用于压缩训练数据的样本规模,实现对样本数据关键有效信息提取、数据规模简化的目的,从而简化机器学习训练,实现原始训练数据的复用,提升数据质量。由于数据蒸馏的过程不改变原始模型结构,因此,在此基础上,通过引入新的数据,可以轻易地训练出来效果较好的模型,并用于新的业务需求,实现对数据复杂度的简化,从而达到高性能、轻量级训练的效果。同时,由于蒸馏数据集并非原始数据,可以一定程度上保护原始数据的密码信息或个人信息,从而实现密码信息或个人信息保护的模型训练的效果,减少了原始数据泄露的风险。
现有的数据蒸馏算法多针对神经网络模型,通过反向传播以及梯度下降算法进行模型的训练和微调,本申请中把神经网络下的数据蒸馏思想引入到xgboost模型中,通过区分连续型数据和离散型数据并对齐采用不同的数据提取方法,最终实现对xgboost模型进行数据蒸馏的目的。
例如,基于XGBoost数据集进行数据蒸馏的过程包括以下步骤:
针对xgboost的数据集蒸馏包括两个步骤,1)针对原始树模型进行模型训练;2)蒸馏数据提取。
蒸馏数据提取的过程如下:
XGboost模型存在T个叶子节点,每个叶子节点关联的非叶子节点对应训练数据中不同的安全漏洞指标数据,即每个叶子节点代表特定的特征空间(特征空间指安全漏洞指标所有可能的特征值),上述训练数据为针对当前特征空间的原始数据分布,蒸馏数据提取的过程即对该特征空间内的样本数据进行特征值提取,提取的策略如下(其中
Figure SMS_58
表示叶子节点,
Figure SMS_59
表示第i个叶子节点关联的非叶子节点对应的原始样本数据):
1、当前特征值数据分布为连续型,采用求均值的方式进行提取;
Figure SMS_60
2、当前特征值数据分布为离散型,采用求中位数的方式进行提取。
Figure SMS_61
3、对于标签数据,取参与蒸馏的原始样本数据集中出现次数最多的类别标签值,
Figure SMS_62
,从连续数据中提取的蒸馏数据、从离散数据中提取的蒸馏数据以及从标签数据中提取的蒸馏数据组成每个蒸馏后的样本数据,从而得到蒸馏数据集
Figure SMS_64
,其中,
Figure SMS_65
代表第i个蒸馏后数据,
Figure SMS_66
代表蒸馏后样本数据,其包括
Figure SMS_67
两种类型数据,
Figure SMS_68
代表蒸馏后标签数据。
4、数据增殖,设每个叶子节点的对应的蒸馏后数据为
Figure SMS_69
Figure SMS_70
其中
Figure SMS_71
代表与第j个叶子节点关联的蒸馏后数据,
Figure SMS_72
代表与第j个叶子节点关联的所有非叶子节点对应的蒸馏后的样本数据,
Figure SMS_73
代表与第j个叶子节点对应的蒸馏后的标签数据。按每个叶子节点对应的数据量占样本量总数的比例进行增殖,得到新的蒸馏数据集
Figure SMS_74
其中,每个叶子节点对应数据集的规模为
Figure SMS_75
Figure SMS_76
指的是第T个叶子节点对应的蒸馏后的样本数据,T为叶子节点的总数。
其中,N表示蒸馏数据量,n表示训练样本量,
Figure SMS_77
表示当前第j个叶子节点对应的样本数,
Figure SMS_78
表示取整函数。
上述过程后得到的蒸馏后的数据可以直接作为训练集参与模型的训练,对于一个新的第三子模型,只需要加载蒸馏数据集并结合少量本地数据,即可高效训练出具有足够精度的第三子模型,实现第三子模型的更新。
在一个实施例中,如图8所示,将原始数据中的历史连续型数据输入深度神经网络来训练第一子模型,第一子模型输出历史第一特征值,将原始数据中的历史文本数据输入预训练模型和文本卷积层来训练第二子模型,第二子模型输出历史第二特征值,将原始数据中的历史类别型数据输入树模型来训练第三子模型,第三子模型输出历史第三特征值,进而将历史第一特征值、历史第二特征值、历史第三特征值、原始数据中的历史标签型数据以及历史评分标签输入逻辑回归(LR)模型(即第四子模型),进而训练得到由第一子模型、第二子模型、第三子模型以及第四子模型组成的风险评估模型。
在一个实施例中,逻辑回归(LR)模型主要用于处理高维离散特征,并聚合其他模型的结果,其中高维特征主要指id类特征,如IP地址、MAC地址等,由于这类特征在进行读热编码后得到的向量维度较高,其他复杂模型难以处理这类特征,而采用LR模型可以实现高效训练及预测,同时保证模型的精度。通过LR模型,最终训练得到安全评分模型。
在一个实施例中,采用F1-score作为风险评估模型的评价指标(评价指标是为了评价训练出来模型的好坏,即该指标不好的话需要调整参数重新训练,不在预测过程中进行应用):
Figure SMS_79
其中
Figure SMS_80
为预测的准确率,
Figure SMS_81
为召回值。
具体计算过程如下:
首先定义:TP(1 Positive):预测答案正确;FP(0 Positive):错将其他类预测为本类;FN(0 Negative):本类标签预测为其他类标,计算
Figure SMS_82
从而可以计算对应的
Figure SMS_83
在本实施例中,提供了一种计算机设备,如图9所示,包括存储器901、处理器902及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的基于机器学习的网络安全评估方法。
具体的,该计算机设备可以是计算机终端、服务器或者类似的运算装置。
在本实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的基于机器学习的网络安全评估方法的计算机程序。
具体的,计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
基于同一发明构思,本发明实施例中还提供了一种基于机器学习的网络安全评估装置,如下面的实施例所述。由于基于机器学习的网络安全评估装置解决问题的原理与基于机器学习的网络安全评估方法相似,因此基于机器学习的网络安全评估装置的实施可以参见基于机器学习的网络安全评估方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图10是本发明实施例的基于机器学习的网络安全评估装置的一种结构框图,如图10所示,该装置包括:
数据获取模块1001,用于获取待评估网络的网络安全相关数据,并根据数据类型将所述网络安全相关数据划分为连续型数据、文本数据、标签型数据以及类别型数据;
第一评估模块1002,用于将所述连续型数据输入第一子模型,所述第一子模型输出浮点型第一特征值,其中,所述第一子模型是以历史连续型数据为样本训练深度神经网络得到的;
第二评估模块1003,用于将所述文本数据分词后输入第二子模型,所述第二子模型输出浮点型第二特征值,其中,所述第二子模型是以历史文本数据为样本训练预训练模型和文本卷积层得到的;
第三评估模块1004,用于将所述类别型数据输入第三子模型,所述第三子模型输出浮点型第三特征值,其中,所述第三子模型是以历史类别型数据为样本训练树模型得到的;
风险评估模块1005,用于将所述浮点型第一特征值、所述浮点型第二特征值、所述浮点型第三特征值以及所述标签型数据输入第四子模型,所述第四子模型输出所述待评估网络的网络安全风险评分,其中,所述第四子模型是以历史浮点型第一特征值、历史浮点型第二特征值、历史浮点型第三特征值、历史标签型数据以及历史评分标签为样本训练逻辑回归模型得到的,所述第一子模型、所述第二子模型、所述第三子模型以及所述第四子模型构成风险评估模型。
在一个实施例中,上述装置还包括:
子模型训练模块,用于将所述历史文本数据分词后的词向量输入所述预训练模型,将所述预训练模型输出的词嵌入之后的结果输入所述文本卷积层,所述文本卷积层的输出为历史浮点型第二特征值。
在一个实施例中,子模型训练模块,还用于将所述历史类别型数据中的每个安全漏洞指标作为训练数据集一条样本数据,每个安全漏洞指标对应多个特征,每个特征对应一个特征值,对每个特征对应的特征值进行编码,得到每个特征对应的编码特征值,每个安全漏洞指标对应的多个特征的编码特征值构成每个安全漏洞指标的特征值;构建多棵回归树,不同回归树的根节点映射的安全漏洞指标不同,每棵回归树包括非叶子节点和叶子节点,每个非叶子节点映射所述训练数据集中的一个安全漏洞指标,每个叶子节点映射基于该棵回归树中与该叶子节点相关联的非叶子节点的安全漏洞指标的特征值得到的预测结果,针对每棵回归树中的每个非叶子节点,对所述训练数据集中当前未映射有非叶子节点的所有安全漏洞指标分别计算收益值,将收益值最大的安全漏洞指标映射到该非叶子节点上;将多棵回归树结合样本数据,进行训练,得到所述第三子模型。
在一个实施例中,子模型训练模块,还用于将每个非叶子节点视为当前分裂点,通过以下公式计算收益值:
Figure SMS_84
其中,
Figure SMS_86
表示当前分裂点对应的收益值,
Figure SMS_88
为当前分裂点对应的特征集合,
Figure SMS_90
为当前分裂点分裂后的左子节点对应的特征集合,
Figure SMS_85
为当前分裂点分裂后的右子节点对应的特征集合,
Figure SMS_89
为前一棵回归树对应的损失函数的泰勒展开项的一阶导数,
Figure SMS_91
为前一棵回归树对应的损失函数的泰勒展开项的二阶导数,
Figure SMS_92
表示节点切分的难度,
Figure SMS_87
为正则化参数。
在一个实施例中,上述装置还包括:
数据蒸馏模块,用于对所述第三子模型的训练数据集进行蒸馏处理,得到蒸馏数据集;以所述蒸馏数据集和新增的类别型数据为样本,训练更新所述第三子模型。
在一个实施例中,数据蒸馏模块,用于将所述第三子模型的每个叶子节点对应的样本数据的特征值划分为连续数据、离散数据和标签数据;针对连续数据,通过以下公式提取蒸馏数据:
Figure SMS_93
其中,
Figure SMS_94
表示从所有与第i个叶子节点关联的非叶子节点对应的样本数据的连续数据中提取的蒸馏数据,
Figure SMS_95
表示所有与第i个叶子节点关联的非叶子节点对应的样本数据,
Figure SMS_96
表示所有叶子节点集合,
Figure SMS_97
为求均值函数。
针对离散数据,通过以下公式提取蒸馏数据:
Figure SMS_98
其中,
Figure SMS_99
表示从所有与第i个叶子节点关联的非叶子节点对应的样本数据的离散数据中提取的蒸馏数据,
Figure SMS_100
表示所有与第i个叶子节点关联的非叶子节点对应的样本数据,
Figure SMS_101
表示所有叶子节点集合,
Figure SMS_102
为求中位数函数。
针对标签数据,通过以下公式提取蒸馏数据:
Figure SMS_103
其中,
Figure SMS_104
表示从所述训练数据集的标签数据中提取的蒸馏后标签值,
Figure SMS_105
表示所述训练数据集中参与蒸馏的第j个样本数据对应的标签值,
Figure SMS_106
表示所述训练数据集中所有参与蒸馏的样本数据集合,
Figure SMS_107
表示取众数函数;
从连续数据中提取的蒸馏数据、从离散数据中提取的蒸馏数据以及从标签数据中提取的蒸馏后标签值组成蒸馏后的数据样本,多个蒸馏后数据样本形成初始蒸馏数据集;对所述初始蒸馏数据集进行数据增值,得到所述蒸馏数据集。
本发明实施例实现了如下技术效果:考虑到网络安全相关数据的多源异构的特性,将网络安全相关数据划分为连续型数据、文本数据、标签型数据以及类别型数据等多种数据类型,进而针对不同数据类型的特点,分别采用适应的、精度高的对应的子模型进行处理,最后,将其他模型的输出和标签型数据输入第四子模型,第四子模型直接输出待评估网络的网络安全风险评分,所述第一子模型、所述第二子模型、所述第三子模型以及所述第四子模型组成风险评估模型,风险评估模型实现了通过逻辑回归将多模型聚合的方式进行网络安全风险评分,相对使用单一模型或方法进行网络安全风险评估的方案而言,可以进一步提高网络安全风险评估的精确度。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于机器学习的网络安全评估方法,其特征在于,包括:
获取待评估网络的网络安全相关数据,并将所述网络安全相关数据划分为连续型数据、文本数据、标签型数据以及类别型数据;
将所述连续型数据输入第一子模型,所述第一子模型输出浮点型第一特征值,其中,所述第一子模型是以历史连续型数据为样本训练深度神经网络得到的;
将所述文本数据分词后输入第二子模型,所述第二子模型输出浮点型第二特征值,其中,所述第二子模型是以历史文本数据为样本训练预训练模型和文本卷积层得到的;
将所述类别型数据输入第三子模型,所述第三子模型输出浮点型第三特征值,其中,所述第三子模型是以历史类别型数据为样本训练树模型得到的;
将所述浮点型第一特征值、所述浮点型第二特征值、所述浮点型第三特征值以及所述标签型数据输入第四子模型,所述第四子模型输出所述待评估网络的网络安全风险评分,其中,所述第四子模型是以历史浮点型第一特征值、历史浮点型第二特征值、历史浮点型第三特征值、历史标签型数据以及历史评分标签为样本训练逻辑回归模型得到的,所述第一子模型、所述第二子模型、所述第三子模型以及所述第四子模型构成风险评估模型。
2.如权利要求1所述的基于机器学习的网络安全评估方法,其特征在于,所述历史评分标签是根据所述历史连续型数据、所述历史文本数据、所述历史类别型数据以及所述历史标签型数据评估得到的。
3.如权利要求1所述的基于机器学习的网络安全评估方法,其特征在于,以历史文本数据为样本训练预训练模型和文本卷积层得到所述第二子模型,包括:
将所述历史文本数据分词后的词向量输入所述预训练模型,将所述预训练模型输出的词嵌入之后的结果输入所述文本卷积层,所述文本卷积层的输出为历史浮点型第二特征值。
4.如权利要求1所述的基于机器学习的网络安全评估方法,其特征在于,以历史类别型数据为样本训练树模型得到所述第三子模型,包括:
将所述历史类别型数据中的每个安全漏洞指标作为训练数据集一条样本数据,每个安全漏洞指标对应多个特征,每个特征对应一个特征值,对每个特征对应的特征值进行编码,得到每个特征对应的编码特征值,每个安全漏洞指标对应的多个特征的编码特征值构成每个安全漏洞指标的特征值;
构建多棵回归树,不同回归树的根节点映射的安全漏洞指标不同,每棵回归树包括非叶子节点和叶子节点,每个非叶子节点映射所述训练数据集中的一个安全漏洞指标,每个叶子节点映射基于该棵回归树中与该叶子节点相关联的非叶子节点的安全漏洞指标的特征值得到的预测结果,针对每棵回归树中的每个非叶子节点,对所述训练数据集中当前未映射有非叶子节点的所有安全漏洞指标分别计算收益值,将收益值最大的安全漏洞指标映射到该非叶子节点上;
将多棵回归树结合样本数据,进行训练,得到所述第三子模型。
5.如权利要求4所述的基于机器学习的网络安全评估方法,其特征在于,对所述训练数据集中当前未映射有非叶子节点的所有安全漏洞指标分别计算收益值,包括:
将每个非叶子节点视为当前分裂点,通过以下公式计算收益值:
Figure QLYQS_1
其中,
Figure QLYQS_3
表示当前分裂点对应的收益值,
Figure QLYQS_5
为当前分裂点对应的特征集合,
Figure QLYQS_7
为当前分裂点分裂后的左子节点对应的特征集合,
Figure QLYQS_4
为当前分裂点分裂后的右子节点对应的特征集合,
Figure QLYQS_6
为前一棵回归树对应的损失函数的泰勒展开项的一阶导数,
Figure QLYQS_8
为前一棵回归树对应的损失函数的泰勒展开项的二阶导数,
Figure QLYQS_9
表示节点切分的难度,
Figure QLYQS_2
为正则化参数。
6.如权利要求4所述的基于机器学习的网络安全评估方法,其特征在于,还包括:
对所述第三子模型的训练数据集进行蒸馏处理,得到蒸馏数据集;
以所述蒸馏数据集和新增的类别型数据为样本,训练更新所述第三子模型。
7.如权利要求6所述的基于机器学习的网络安全评估方法,其特征在于,对所述第三子模型的训练数据集进行蒸馏处理,得到蒸馏数据集,包括:
将所述第三子模型的每个叶子节点相关联的非叶子节点对应的样本数据的特征值划分为连续数据、离散数据和标签数据;
针对连续数据,通过以下公式提取蒸馏数据:
Figure QLYQS_10
其中,
Figure QLYQS_11
表示从所有与第i个叶子节点关联的非叶子节点对应的样本数据的连续数据中提取的蒸馏数据,
Figure QLYQS_12
表示所有与第i个叶子节点关联的非叶子节点对应的样本数据,
Figure QLYQS_13
表示所有叶子节点集合,
Figure QLYQS_14
为求均值函数;
针对离散数据,通过以下公式提取蒸馏数据:
Figure QLYQS_15
其中,
Figure QLYQS_16
表示从所有与第i个叶子节点关联的非叶子节点对应的样本数据的离散数据中提取的蒸馏数据,
Figure QLYQS_17
表示所有与第i个叶子节点关联的非叶子节点对应的样本数据,
Figure QLYQS_18
表示所有叶子节点集合,
Figure QLYQS_19
为求中位数函数;
针对标签数据,通过以下公式提取蒸馏数据:
Figure QLYQS_20
其中,
Figure QLYQS_21
表示从所述训练数据集的标签数据中提取的蒸馏后标签值,
Figure QLYQS_22
表示所述训练数据集中参与蒸馏的第j个样本数据对应的标签值,
Figure QLYQS_23
表示所述训练数据集中所有参与蒸馏的样本数据集合,
Figure QLYQS_24
表示取众数函数;
从连续数据中提取的蒸馏数据、从离散数据中提取的蒸馏数据以及从标签数据中提取的蒸馏后标签值组成初始蒸馏数据集;
对所述初始蒸馏数据集进行数据增值,得到所述蒸馏数据集。
8.一种基于机器学习的网络安全评估装置,其特征在于,包括:
数据获取模块,用于获取待评估网络的网络安全相关数据,并根据数据类型将所述网络安全相关数据划分为连续型数据、文本数据、标签型数据以及类别型数据;
第一评估模块,用于将所述连续型数据输入第一子模型,所述第一子模型输出浮点型第一特征值,其中,所述第一子模型是以历史连续型数据为样本训练深度神经网络得到的;
第二评估模块,用于将所述文本数据分词后输入第二子模型,所述第二子模型输出浮点型第二特征值,其中,所述第二子模型是以历史文本数据为样本训练预训练模型和文本卷积层得到的;
第三评估模块,用于将所述类别型数据输入第三子模型,所述第三子模型输出浮点型第三特征值,其中,所述第三子模型是以历史类别型数据为样本训练树模型得到的;
风险评估模块,用于将所述浮点型第一特征值、所述浮点型第二特征值、所述浮点型第三特征值以及所述标签型数据输入第四子模型,所述第四子模型输出所述待评估网络的网络安全风险评分,其中,所述第四子模型是以历史浮点型第一特征值、历史浮点型第二特征值、历史浮点型第三特征值、历史标签型数据以及历史评分标签为样本训练逻辑回归模型得到的,所述第一子模型、所述第二子模型、所述第三子模型以及所述第四子模型构成风险评估模型。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的基于机器学习的网络安全评估方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7中任一项所述的基于机器学习的网络安全评估方法的计算机程序。
CN202310474150.5A 2023-04-28 2023-04-28 基于机器学习的网络安全评估方法、装置、设备及介质 Active CN116192538B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310474150.5A CN116192538B (zh) 2023-04-28 2023-04-28 基于机器学习的网络安全评估方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310474150.5A CN116192538B (zh) 2023-04-28 2023-04-28 基于机器学习的网络安全评估方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN116192538A true CN116192538A (zh) 2023-05-30
CN116192538B CN116192538B (zh) 2023-07-11

Family

ID=86446626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310474150.5A Active CN116192538B (zh) 2023-04-28 2023-04-28 基于机器学习的网络安全评估方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116192538B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117978545A (zh) * 2024-03-29 2024-05-03 北京源堡科技有限公司 基于大模型的网络安全风险评估方法、系统、设备及介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109508864A (zh) * 2018-10-19 2019-03-22 南京理工大学 一种基于xgboost的企业违约风险模型的建立方法
US20190279218A1 (en) * 2014-08-08 2019-09-12 Brighterion, Inc. Behavior tracking smart agents for artificial intelligence fraud protection and management
US20210203575A1 (en) * 2019-12-30 2021-07-01 Armis Security Ltd. System and method for determining device attributes using a classifier hierarchy
EP3975080A1 (en) * 2020-09-29 2022-03-30 Siemens Aktiengesellschaft Automated risk driven patch management
CN114422269A (zh) * 2022-03-28 2022-04-29 北京源堡科技有限公司 一种基于机器学习的网络安全评估方法和系统
US20220215298A1 (en) * 2020-02-18 2022-07-07 Tencent Technology (Shenzhen) Company Limited Method for training sequence mining model, method for processing sequence data, and device
CN114816909A (zh) * 2022-04-13 2022-07-29 北京计算机技术及应用研究所 一种基于机器学习的实时日志检测预警方法及系统
US20230004979A1 (en) * 2020-08-20 2023-01-05 Tencent Technology (Shenzhen) Company Limited Abnormal behavior detection method and apparatus, electronic device, and computer-readable storage medium
WO2023030513A1 (zh) * 2021-09-05 2023-03-09 汉熵通信有限公司 物联网系统
CN115796312A (zh) * 2022-12-09 2023-03-14 北京数洋智慧科技有限公司 一种多变量时间序列预测方法及系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190279218A1 (en) * 2014-08-08 2019-09-12 Brighterion, Inc. Behavior tracking smart agents for artificial intelligence fraud protection and management
CN109508864A (zh) * 2018-10-19 2019-03-22 南京理工大学 一种基于xgboost的企业违约风险模型的建立方法
US20210203575A1 (en) * 2019-12-30 2021-07-01 Armis Security Ltd. System and method for determining device attributes using a classifier hierarchy
US20220215298A1 (en) * 2020-02-18 2022-07-07 Tencent Technology (Shenzhen) Company Limited Method for training sequence mining model, method for processing sequence data, and device
US20230004979A1 (en) * 2020-08-20 2023-01-05 Tencent Technology (Shenzhen) Company Limited Abnormal behavior detection method and apparatus, electronic device, and computer-readable storage medium
EP3975080A1 (en) * 2020-09-29 2022-03-30 Siemens Aktiengesellschaft Automated risk driven patch management
WO2023030513A1 (zh) * 2021-09-05 2023-03-09 汉熵通信有限公司 物联网系统
CN114422269A (zh) * 2022-03-28 2022-04-29 北京源堡科技有限公司 一种基于机器学习的网络安全评估方法和系统
CN114816909A (zh) * 2022-04-13 2022-07-29 北京计算机技术及应用研究所 一种基于机器学习的实时日志检测预警方法及系统
CN115796312A (zh) * 2022-12-09 2023-03-14 北京数洋智慧科技有限公司 一种多变量时间序列预测方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
D. JIANG等: "Federated Learning Algorithm Based on Knowledge Distillation", 《2020 INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE AND COMPUTER ENGINEERING (ICAICE)》, pages 163 - 167 *
余正飞等: "面向网络空间防御的对抗机器学习研究综述", 《自动化学报》, vol. 48, no. 7, pages 1625 - 1649 *
张银杰等: "基于特征工程与集成学习的恶意软件预测研究", 《计算机时代》, no. 07, pages 7 - 11 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117978545A (zh) * 2024-03-29 2024-05-03 北京源堡科技有限公司 基于大模型的网络安全风险评估方法、系统、设备及介质
CN117978545B (zh) * 2024-03-29 2024-06-07 北京源堡科技有限公司 基于大模型的网络安全风险评估方法、系统、设备及介质

Also Published As

Publication number Publication date
CN116192538B (zh) 2023-07-11

Similar Documents

Publication Publication Date Title
US11528290B2 (en) Systems and methods for machine learning-based digital content clustering, digital content threat detection, and digital content threat remediation in machine learning-based digital threat mitigation platform
Monteleoni et al. Tracking climate models
Azzeh A replicated assessment and comparison of adaptation techniques for analogy-based effort estimation
CN111597247A (zh) 一种数据异常分析方法、装置及存储介质
Su et al. CoFlux: robustly correlating KPIs by fluctuations for service troubleshooting
CN116192538B (zh) 基于机器学习的网络安全评估方法、装置、设备及介质
Sriramoju Review on Big Data and Mining Algorithm
Zhang et al. Detecting Insider Threat from Behavioral Logs Based on Ensemble and Self‐Supervised Learning
Tang et al. A factorization machine-based QoS prediction approach for mobile service selection
CN115378988A (zh) 基于知识图谱的数据访问异常检测及控制方法、装置
Yang et al. Place deduplication with embeddings
Lawrence et al. Explaining neural matrix factorization with gradient rollback
Awad et al. Addressing imbalanced classes problem of intrusion detection system using weighted extreme learning machine
CN115114484A (zh) 异常事件检测方法、装置、计算机设备和存储介质
CN117150416B (zh) 一种工业互联网异常节点的检测方法、系统、介质及设备
CN117973535A (zh) 一种多双曲空间的知识感知推荐方法
Wu et al. An efficient intrusion detection method using federated transfer learning and support vector machine with privacy-preserving
Guo An intrusion detection system for the internet of things using machine learning models
Ghimeş et al. Neural network models in big data analytics and cyber security
Jones et al. Federated xgboost on sample-wise non-iid data
Ding et al. Improving the robustness of wasserstein embedding by adversarial PAC-Bayesian learning
Yang Intelligent informatization early warning analysis of agricultural economy based on support vector sequential regression model
Junfeng et al. Dynamic trust model based on extended subjective logic
Liu et al. A Web Back-End Database Leakage Incident Reconstruction Framework Over Unlabeled Logs
Wang et al. Application of Deep Neural Network with Frequency Domain Filtering in the Field of Intrusion Detection

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