CN114662557A - 基于机器学习的主机操作系统识别方法及装置 - Google Patents
基于机器学习的主机操作系统识别方法及装置 Download PDFInfo
- Publication number
- CN114662557A CN114662557A CN202210126798.9A CN202210126798A CN114662557A CN 114662557 A CN114662557 A CN 114662557A CN 202210126798 A CN202210126798 A CN 202210126798A CN 114662557 A CN114662557 A CN 114662557A
- Authority
- CN
- China
- Prior art keywords
- operating system
- fingerprint
- host
- target host
- model
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000010801 machine learning Methods 0.000 title claims abstract description 29
- 238000000605 extraction Methods 0.000 claims abstract description 15
- 238000012549 training Methods 0.000 claims description 11
- 238000007637 random forest analysis Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 238000013075 data extraction Methods 0.000 claims description 3
- 230000008030 elimination Effects 0.000 claims description 3
- 238000003379 elimination reaction Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000003066 decision tree Methods 0.000 description 2
- 230000007123 defense Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Collating Specific Patterns (AREA)
Abstract
本发明公开了一种基于机器学习的主机操作系统识别方法及装置,方法包括:获取目标主机的IP地址;构造请求数据包,并发送至目标主机;接收目标主机返回的报文数据,并分析报文数据,生成目标主机的指纹信息;通过将指纹信息输入到已训练的第一模型,进行特征提取以及特征选择,得到指纹特征数据;通过将指纹特征数据输入到已训练的第二模型,最终输出目标主机的操作系统的识别结果。本发明提供的基于机器学习的主机操作系统识别方法及装置,提高了主机操作系统类型的准确率,摆脱了对于指纹库的依赖,可识别未收录指纹的操作系统。
Description
技术领域
本发明涉及网络信息安全技术领域,具体涉及一种基于机器学习的主机操作系统识别方法及装置。
背景技术
随着全球信息技术的飞速深入的发展,网络安全的局面日趋严峻。在网络信息安全系统,尤其是在攻防和安全评估系统中,信息的收集和分析至关重要,操作系统识别技术是网络安全攻防的关键技术之一,因为各种各样的漏洞依附于不同的操作系统之上,只有精确地识别出操作系统类型,才能更有目的性的发掘弱点和漏洞所在,准确的对目标主机进行评估。
目前,基于TCP/IP协议栈指纹匹配是操作系统识别的主流技术。不同类型的操作系统在实现TCP/IP协议栈时存在细微的差别,这些差异主要表现在数据包首部的标志字段。安全评估工具收集这些特征,生成每个操作系统特有的指纹,建立指纹库。在进行识别时,评估系统向目标主机发送一系列TCP/IP探测包,根据目标主机返回的响应包提取特征生成一份目标主机指纹,然后遍历指纹库进行匹配,以识别目标操作系统。
因此,基于协议栈指纹匹配的方法能够准确识别出库中已有指纹对应的操作系统,但对于某一目标指纹,如果在库中没有匹配成功,或者指纹库中没有收录该类型的指纹,则很难判断其类型。同时,指纹数据库的冗余度高,对于某一测试的操作系统指纹可能出现两个或多个匹配项,从而无法判断其操作系统类型。
发明内容
为此,本发明实施例提供一种基于机器学习的主机操作系统识别方法及装置,以解决现有技术存在的因目标指纹在库中没有匹配成功或指纹数据库的冗余度高而无法判断其操作系统类型的问题。
为了实现上述目的,本发明实施例提供如下技术方案:
第一方面,一种基于机器学习的主机操作系统识别方法,包括:
获取目标主机的IP地址;
构造请求数据包,并发送至所述目标主机;
接收所述目标主机返回的报文数据,并分析所述报文数据,生成所述目标主机的指纹信息;
通过将所述指纹信息输入到已训练的第一模型,进行特征提取以及特征选择,得到指纹特征数据;
通过将所述指纹特征数据输入到已训练的第二模型,最终输出所述目标主机的操作系统的识别结果。
进一步的,所述第一模型为基模型。
进一步的,所述基模型在进行特征提取时,具体包括:统计所述指纹信息中各特征项、各字段的取值情况,并将对应的取值映射成特定的数值。
进一步的,所述基模型在进行特征提取时,还包括:对于所述指纹信息中未出现的特征,将其映射成-1。
进一步的,所述基模型在特征选择时,采用递归特征消除法进行训练。
进一步的,所述基模型进行训练时,具体包括:每轮训练后,消除权值系数的特征,再基于新的特征集,进行下一轮训练,直至筛选最能够代表所述指纹信息的所述指纹特征数据。
进一步的,所述第二模型为随机森林分类模型。
进一步的,所述随机森林分类模型将投票次数最多的类别作为所述目标主机的操作系统类别输出。
进一步的,所述数据包包括TCP数据包、UDP数据包和ICMP数据包。
第二方面,一种基于机器学习的主机操作系统识别装置,包括:
获取模块,用于获取目标主机的IP地址;
构造模块,用于构造请求数据包,并发送至目标主机;
分析模块,用于接收所述目标主机返回的报文数据,并分析所述报文数据,生成所述目标主机的指纹信息;
指纹特征数据提取模块,通过将所述指纹信息输入到已训练的第一模型,进行特征提取以及特征选择,得到指纹特征数据;
输出模块,用于通过将所述指纹特征数据输入到已训练的第二模型,最终输出所述目标主机的操作系统的识别结果。
本发明至少具有以下有益效果:本发明提供了一种基于机器学习的主机操作系统识别方法及装置,方法包括:获取目标主机的IP地址;构造请求数据包,并发送至目标主机;接收目标主机返回的报文数据,并分析报文数据,生成目标主机的指纹信息;通过将指纹信息输入到已训练的第一模型,进行特征提取以及特征选择,得到指纹特征数据;通过将指纹特征数据输入到已训练的第二模型,最终输出目标主机的操作系统的识别结果。本发明提供的基于机器学习的主机操作系统识别方法及装置,提高了主机操作系统类型的准确率,摆脱了对于指纹库的依赖,可识别未收录指纹的操作系统。
附图说明
为了更清楚地说明现有技术以及本发明,下面将对现有技术以及本发明实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其它的附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
图1为本发明实施例提供的基于机器学习的主机操作系统识别方法第一种流程图;
图2为本发明实施例提供的基于机器学习的主机操作系统识别方法第二种流程图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)旨在区别指代的对象。对于具有时序流程的方案,这种术语表述方式不必理解为描述特定的顺序或先后次序,对于装置结构的方案,这种术语表述方式也不存在对重要程度、位置关系的区分等。
此外,术语“包括”、“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包括了一系列步骤或单元的过程、方法、系统、产品或设备不必限于已明确列出的那些步骤或单元,而是还可包含虽然并未明确列出的但对于这些过程、方法、产品或设备固有的其它步骤或单元,或者基于本发明构思进一步的优化方案所增加的步骤或单元。
本发明提出了一种基于机器学习的主机操作系统识别方法,在经过一定数量训练集合有监督的训练之后,可实现依据操作系统指纹信息进行特征提取,特征选择,对系统类别进行分类。该方法能有效地识别未知指纹所对应的操作系统,使操作系统识别摆脱了对于指纹数据库的依赖。
请参阅图1和图2,本发明的实施例提供一种基于机器学习的主机操作系统识别方法,包括:
S1:获取目标主机的IP地址;
具体的,收集已知操作系统类型的IP地址,即目标主机。
S2:构造请求数据包,并发送至所述目标主机;
具体的,数据包包括TCP数据包、UDP数据包和ICMP数据包。
S3:接收所述目标主机返回的报文数据,并分析所述报文数据,生成所述目标主机的指纹信息;
具体的,目标主机会针对请求数据包返回相应的报文数据,分析报文数据,生成该目标主机的指纹信息。
S4:通过将所述指纹信息输入到已训练的第一模型,进行特征提取以及特征选择,得到指纹特征数据;
具体的,第一模型为基模型,基模型在进行特征提取时,包括:统计指纹信息中各特征项、各字段的取值情况,并将对应的取值映射成特定的数值,即该字段对应的特征,对于指纹中未出现的特征,将其映射成-1。
在特征选择时,基模型采用递归特征消除法进行训练,具体为:使用一个基模型进行多轮训练,每轮训练后,消除若干权值系数的特征,再基于新的特征集,进行下一轮训练,直至筛选最能够代表数据信息的特征。
S5:通过将所述指纹特征数据输入到已训练的第二模型,最终输出所述目标主机的操作系统的识别结果;
具体的,第二模型为随机森林分类模型,将经过特征提取,特征选择之后的指纹数据作为训练数据,输入随机森林分类模型中训练该随机森林分类模型。
随机森林,过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树,每棵决策树都是一个分类器,那么对于一个输入样本,N棵树会有N个分类结果。而随机森林集成了所有的分类投票结果,将投票次数最多的类别指定为最终的输出。
本发明提供的基于机器学习的主机操作系统识别方法及装置,提高了主机操作系统类型的准确率,摆脱了对于指纹库的依赖,可识别未收录指纹的操作系统。
本发明的实施例提供一种基于机器学习的主机操作系统识别装置,包括:
获取模块,用于获取目标主机的IP地址;
构造模块,用于构造请求数据包,并发送至所述目标主机;
分析模块,用于接收所述目标主机返回的报文数据,并分析所述报文数据,生成所述目标主机的指纹信息;
指纹特征数据提取模块,通过将所述指纹信息输入到已训练的第一模型,进行特征提取以及特征选择,得到指纹特征数据;
输出模块,用于通过将所述指纹特征数据输入到已训练的第二模型,最终输出所述目标主机的操作系统的识别结果。
关于基于机器学习的主机操作系统识别装置的具体限定可以参见上文中对于基于机器学习的主机操作系统识别方法的限定,在此不再赘述。上述基于机器学习的主机操作系统识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
以上几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
以上实施例的各技术特征可以进行任意的组合(只要这些技术特征的组合不存在矛盾),为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述;这些未明确写出的实施例,也都应当认为是本说明书记载的范围。
上文中通过一般性说明及具体实施例对本发明作了较为具体和详细的描述。应当指出的是,在不脱离本发明构思的前提下,显然还可以对这些具体实施例作出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于机器学习的主机操作系统识别方法,其特征在于,包括:
获取目标主机的IP地址;
构造请求数据包,并发送至所述目标主机;
接收所述目标主机返回的报文数据,并分析所述报文数据,生成所述目标主机的指纹信息;
通过将所述指纹信息输入到已训练的第一模型,进行特征提取以及特征选择,得到指纹特征数据;
通过将所述指纹特征数据输入到已训练的第二模型,最终输出所述目标主机的操作系统的识别结果。
2.根据权利要求1所述的基于机器学习的主机操作系统识别方法,其特征在于,所述第一模型为基模型。
3.根据权利要求2所述的基于机器学习的主机操作系统识别方法,其特征在于,所述基模型在进行特征提取时,具体包括:统计所述指纹信息中各特征项、各字段的取值情况,并将对应的取值映射成特定的数值。
4.根据权利要求3所述的基于机器学习的主机操作系统识别方法,其特征在于,所述基模型在进行特征提取时,还包括:对于所述指纹信息中未出现的特征,将其映射成-1。
5.根据权利要求2所述的基于机器学习的主机操作系统识别方法,其特征在于,所述基模型在特征选择时,采用递归特征消除法进行训练。
6.根据权利要求5所述的基于机器学习的主机操作系统识别方法,其特征在于,所述基模型进行训练时,具体包括:每轮训练后,消除权值系数的特征,再基于新的特征集,进行下一轮训练,直至筛选最能够代表所述指纹信息的所述指纹特征数据。
7.根据权利要求1所述的基于机器学习的主机操作系统识别方法,其特征在于,所述第二模型为随机森林分类模型。
8.根据权利要求7所述的基于机器学习的主机操作系统识别方法,其特征在于,所述随机森林分类模型将投票次数最多的类别作为所述目标主机的操作系统类别输出。
9.根据权利要求1所述的基于机器学习的主机操作系统识别方法,其特征在于,所述数据包包括TCP数据包、UDP数据包和ICMP数据包。
10.一种基于机器学习的主机操作系统识别装置,其特征在于,包括:
获取模块,用于获取目标主机的IP地址;
构造模块,用于构造请求数据包,并发送至所述目标主机;
分析模块,用于接收所述目标主机返回的报文数据,并分析所述报文数据,生成所述目标主机的指纹信息;
指纹特征数据提取模块,通过将所述指纹信息输入到已训练的第一模型,进行特征提取以及特征选择,得到指纹特征数据;
输出模块,用于通过将所述指纹特征数据输入到已训练的第二模型,最终输出所述目标主机的操作系统的识别结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210126798.9A CN114662557A (zh) | 2022-02-10 | 2022-02-10 | 基于机器学习的主机操作系统识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210126798.9A CN114662557A (zh) | 2022-02-10 | 2022-02-10 | 基于机器学习的主机操作系统识别方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114662557A true CN114662557A (zh) | 2022-06-24 |
Family
ID=82028129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210126798.9A Pending CN114662557A (zh) | 2022-02-10 | 2022-02-10 | 基于机器学习的主机操作系统识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114662557A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213124A (zh) * | 2019-05-06 | 2019-09-06 | 清华大学 | 基于tcp多会话的被动操作系统识别方法及装置 |
CN110519128A (zh) * | 2019-09-20 | 2019-11-29 | 西安交通大学 | 一种基于随机森林的操作系统识别方法 |
CN111612640A (zh) * | 2020-05-27 | 2020-09-01 | 上海海事大学 | 一种数据驱动的车险欺诈识别方法 |
CN112418653A (zh) * | 2020-11-19 | 2021-02-26 | 重庆邮电大学 | 一种基于机器学习算法的携号转网潜客识别系统及方法 |
-
2022
- 2022-02-10 CN CN202210126798.9A patent/CN114662557A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213124A (zh) * | 2019-05-06 | 2019-09-06 | 清华大学 | 基于tcp多会话的被动操作系统识别方法及装置 |
CN110519128A (zh) * | 2019-09-20 | 2019-11-29 | 西安交通大学 | 一种基于随机森林的操作系统识别方法 |
CN111612640A (zh) * | 2020-05-27 | 2020-09-01 | 上海海事大学 | 一种数据驱动的车险欺诈识别方法 |
CN112418653A (zh) * | 2020-11-19 | 2021-02-26 | 重庆邮电大学 | 一种基于机器学习算法的携号转网潜客识别系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3948604B1 (en) | Computer security | |
CN102420723A (zh) | 一种面向多类入侵的异常检测方法 | |
Peraković et al. | Artificial neuron network implementation in detection and classification of DDoS traffic | |
CN113992349B (zh) | 恶意流量识别方法、装置、设备和存储介质 | |
GB2583892A (en) | Adaptive computer security | |
CN112685272B (zh) | 一种具备可解释性的用户行为异常检测方法 | |
CN115396169B (zh) | 基于ttp的多步骤攻击检测与场景还原的方法及系统 | |
US11477225B2 (en) | Pre-emptive computer security | |
GB2582609A (en) | Pre-emptive computer security | |
CN117614742B (zh) | 一种蜜点感知增强的恶意流量检测方法 | |
US11436320B2 (en) | Adaptive computer security | |
CN113205134A (zh) | 一种网络安全态势预测方法及系统 | |
Ourston et al. | Coordinated internet attacks: responding to attack complexity | |
CN118041587A (zh) | 一种网络安全测试评估系统及方法 | |
Arya et al. | Ensemble filter-based feature selection model for cyber attack detection in industrial Internet of Things | |
Thanh et al. | An approach to reduce data dimension in building effective network intrusion detection systems | |
CN117675273A (zh) | 网络扫描行为检测方法及装置 | |
CN114662557A (zh) | 基于机器学习的主机操作系统识别方法及装置 | |
CN111680286B (zh) | 物联网设备指纹库的精细化方法 | |
CN109145298B (zh) | 一种非合法外发邮箱的识别系统、方法、设备及存储介质 | |
Atmojo et al. | A New Approach for ARP Poisoning Attack Detection Based on Network Traffic Analysis | |
CN115987689B (zh) | 一种网络入侵检测方法及装置 | |
Guo | A Novel Intrusion Detection Framework for Internet of Things Based on Machine Learning Techniques | |
CN115580490B (zh) | 工业互联网边缘设备行为检测方法、装置、设备及介质 | |
KR102546815B1 (ko) | 통계적 특징점 선별 장치 및 방법 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220624 |