CN114189346A - 操作***识别方法和装置 - Google Patents
操作***识别方法和装置 Download PDFInfo
- Publication number
- CN114189346A CN114189346A CN202111173598.0A CN202111173598A CN114189346A CN 114189346 A CN114189346 A CN 114189346A CN 202111173598 A CN202111173598 A CN 202111173598A CN 114189346 A CN114189346 A CN 114189346A
- Authority
- CN
- China
- Prior art keywords
- fingerprint
- operating system
- model
- format
- data
- 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
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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- 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
-
- 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)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Collating Specific Patterns (AREA)
Abstract
本申请公开了操作***识别方法和装置,对网络流量进行分析获得对应的P0f格式的指纹;将P0f格式的指纹进行向量化后输入到模型中,其中,所述模型是使用多组训练数据训练出来的,所述多组训练数据中的每一组训练数据均包括:P0f格式的指纹和用来标识其对应操作***的类型的标识信息;获取所述模型的输出信息,其中,所述输出信息包括所述操作***的类型。通过上述方法,实现对操作***的被动识别,识别过程不易被发现,从而提高识别操作***的效率。
Description
技术领域
本申请涉及到网络安全技术领域,具体涉及一种操作***识别的方法和装置。
背景技术
随着计算机的广泛使用和计算机网络的大范围普及,方便了人们的资源共享和通信的同时,网络安全问题也随之增多。隐私泄露,大到服务器瘫痪国家基础设施出现问题威胁人类安全。
网络安全问题在我国以及全球显著地增加,并且有持续增长的趋势。无论在网络安全的攻击还是防护中,对信息的采集和分类都至关重要,其中远程主机的***类型通常是黑客们的首要出发点,因为某些类型的操作***有着众所周知的漏洞可以利用。绝大多数的漏洞都是从识别操作***的类型出发。所以主机操作***识别技术的研究具有极其重要的意义。
现有技术中,进行操作***识别一般是通过主动式识别工具向目标机器发送数据包,并根据目标的响应确定其使用的操作***,这种方式的缺点是目标主机可能会发现探测操作***的行为,从而对探测行为进行拦截,导致无法获得结果。
发明内容
本申请实施例提供了一种操作***识别方法和装置,用于解决现有技术中主动式操作***识别方法容易被拦截导致无法获得结果的技术问题。
本发明的第一方面,在于提供一种操作***识别方法,
对网络流量进行分析获得对应的P0f格式的指纹;
将P0f格式的指纹输入到模型中,其中,所述模型是使用多组训练数据训练出来的,所述多组训练数据中的每一组训练数据均包括:P0f格式的指纹和用来标识其对应操作***的类型的标识信息;
获取所述模型的输出信息,其中,所述输出信息包括所述操作***的类型。
进一步的,在本发明中,所述训练数据包括已知操作***对应的P0f指纹数据库,以及实时P0f指纹数据,所述实时P0f指纹数据通过网络流量分析获得。
进一步的,在本发明中,所述模型为LSTM模型。
进一步的,在本发明中,所述输出信息还包括所述操作***的版本号。
进一步的,在本发明中,所述对网络流量进行分析通过libcap的定制工具进行。
进一步的,在本发明中,所述将P0f格式的指纹输入到模型中前,对所述P0f格式的指纹按照其不同数据项的数据类型进行如下方式的向量化处理:
对于数据项取值为数值Xi的,输入向量为一维且取值为Xi/max(Xi),所述max(Xi)为该数据项所有取值中的最大值;
对于数据项取值为有和无标示位的,输入向量为一维且取值0或1,所述0、1分别与标示位所指示的结果对应;
对于数据项取值为N种非数字字符序列的组合的,其中N≥1,输入向量为N维且所述N维向量中的每一维与所述组合中的N个字符一一对应,若所述字符在数据项取值中出现,则输入向量中对应该字符的维的取值为1,否则为0;
对于数据项取值为空的,与该数据项对应的输入向量中的所有维均取0。
进一步的,在本发明中,所述将P0f格式的指纹输入到模型中前,在所述P0f格式的指纹中筛选出如下5个特征值输入至模型中:报文生存时间、窗口大小、最大报文长度、窗口扩大因子以及头长度字段。
本发明的第二方面,在于提供一种操作***识别装置,包括
获得模块,用于对网络流量进行分析获得对应的P0f格式的指纹;
输入模块,用于将P0f格式的指纹输入到模型中,其中,所述模型是使用多组训练数据训练出来的,所述多组训练数据中的每一组训练数据均包括:P0f格式的指纹和用来标识其对应操作***的类型的标识信息;
输出模块,获取所述模型的输出信息,其中,所述输出信息包括所述操作***的类型。
本发明的第三方面,在于提供一种处理器,用于执行软件,所述软件用于执行上述第一方面中的方法。
本发明的第四方面,在于提供一种存储器,用于存储软件,所述软件用于执行上述第一方面中的方法。
有益效果:
本发明提供一种操作***识别方法,对网络流量进行分析获得对应的P0f格式的指纹;将P0f格式的指纹输入到模型中,其中,所述模型是使用多组训练数据训练出来的,所述多组训练数据中的每一组训练数据均包括:P0f格式的指纹和用来标识其对应操作***的类型的标识信息;获取所述模型的输出信息,其中,所述输出信息包括所述操作***的类型。通过上述方法,实现对操作***的被动识别,识别过程不易被发现,从而提高识别操作***的效率。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
下面结合附图对本发明的实施例进行介绍。如图1所示为本发明的实施例中操作***识别方法的流程图,包括
步骤S102、对网络流量进行分析获得对应的P0f格式的指纹;
步骤S104、将P0f格式的指纹输入到模型中,其中,所述模型是使用多组训练数据训练出来的,所述多组训练数据中的每一组训练数据均包括:P0f格式的指纹和用来标识其对应操作***的类型的标识信息;
步骤S106、获取所述模型的输出信息,其中,所述输出信息包括所述操作***的类型。
上述方法不同于现有技术中主动识别的方式,而是通过对网络流量进行分析获得间接获P0f指纹,利用一系列复杂的、纯被动的流量指纹识别机制来识别任何偶然TCP/IP通信背后的参与者得相对应的操作***,而不会以任何方式进行干扰。上述方法属于一种较为隐匿的探测方法,具体通过训练模型实现上述功能。该方法可以在计算机本地部署也可以远程部署,通过训练模型的输出获得操作***的类型,绕开防火墙,有效提高了识别效率。
P0f指纹库经常出现在以下设置需求中:
对普通TCP连接的两个端点上的操作***和软件的高度可扩展性和极快的识别——特别是在Nmap探针被阻止、太慢、不可靠或只会触发警报的设置中;
测量***正常运行时间和网络连接、距离(包括NAT或数据包过滤器后面的拓扑)、用户语言首选项等;
自动检测连接共享/NAT、负载平衡和应用程序级代理设置;
检测伪造声明性语句的客户端和服务器,例如X-Mailer或User-Agent;
P0f指纹的常见用途包括渗透测试期间的侦查;例行网络监控;检测企业环境中未经授权的网络互连;为滥用预防工具提供信号;和各种取证。
为了提高模型的识别准确率、普遍性和性能,需要有足够多的训练数据,现有的P0f指纹库记录了已知的操作***的指纹,但是很多未知的操作***的指纹信息可以通过实时网络流量数据分析获得。因此,在本实施例中,所述训练数据包括已知操作***对应的P0f指纹数据库,以及实时P0f指纹数据,所述实时P0f指纹数据通过网络流量分析获得。
由于需要对大量数据进行学习,因此,选择网络存储量较大的模型,即在本实施例中,所述模型为LSTM(Long Short-Term Memory,长短时记忆网络)模型。该模型采用了特殊隐式单元,其自然行为便是长期的保存输入。记忆细胞的特殊单元类似累加器和门控神经元:它在下一个时间步长将拥有一个权值并联接到自身,拷贝自身状态的真实值和累积的外部信号。
通过上述模型,为了能够对操作***的信息尽可能多地识别,对已知操作***,还进一步识别出具体的版本号,因此所述输出信息还包括所述操作***的版本号。对未知操作***,仅识别出其具体操作***内核,而不提供版本号。
具体的,在上述实施例中,所述对网络流量进行分析通过libcap的定制工具进行。
作为优选的,在上述实施例中,由于p0f格式的操作***指纹无法直接作为LSTM的输入,所以首先要把p0f指纹转化为LSTM能够接受的输入向量形式,即对p0f指纹中的每一项,输入向量都必须以特定的数值来表示该指纹项的值。因此,所述将P0f格式的指纹输入到模型中前,对所述P0f格式的指纹按照其不同数据项的数据类型进行如下方式的向量化处理:
对于数据项取值为数值Xi的,输入向量为一维且取值为Xi/max(Xi),所述max(Xi)为该数据项所有取值中的最大值;如表1的指纹向量化示意表中,TG表示对数据包中的IP初始生存时间的值。
对于数据项取值为有和无标示位的,输入向量为一维且取值0或1,所述0、1分别与标示位所指示的结果对应,即Y或者N(yes or no),出现则Y取值为1,出现N则取值为0。如下图R表示目标***是否有回应包。如表1中,F表示TCP标志,分别为URG(表示TCP包的紧急指针域)、ACK(表示应答域有效)、PSH(表示Push操作)、RST(表示连接复位请求)、SYN(表示同步序号,用来建立连接)、FIN(表示断开,双方的数据传送完成)。
对于数据项取值为N种非数字字符序列的组合的,其中N≥1,输入向量为N维且所述N维向量中的每一维与所述组合中的N个字符一一对应,若所述字符在数据项取值中出现,则输入向量中对应该字符的维的取值为1,否则为0。
对于数据项取值为空的,与该数据项对应的输入向量中的所有维均取0。
表1
P0f指纹库中的指纹包含所有与操作***识别相关的属性,属性较多能够保证准确率。但是当指纹库中指纹样本数量较大时,分类器的识别效率显著降低,所以从P0f指纹库中选取5个具有代表性的指纹特征,找到尽可能低维数的特征子集,在未明显降低识别准确率的同时,提高未知操作***识别的效率。所述将P0f格式的指纹输入到模型中前,在所述P0f格式的指纹中筛选出如下5个特征值输入至模型中:报文生存时间、窗口大小、最大报文长度、窗口扩大因子以及头长度字段。具体的,上述5个特征介绍如下:
报文生存时间(TTL):记录数据包在网络中存活时间,通常是经过路由器的跳数,不同的操作***的默认TTL值是不同的,所以我们可以通过TTL值来判断主机的操作***,下表2是一些默认的操作***的TTL;
表2
操作***类型 | TTL值 |
WindowsNT/2000 | 128 |
Windows95/98 | 32 |
UNIX | 225 |
Linux | 64 |
窗口大小(WIN):标识内核缓冲区可接受或发送数据的大小。下表3是不同操作***对应的WIN大小。
表3
最大报文长度(MSS):TCP连接时协商选项,通常表示双方主机可接受数据包大小。
窗口扩大因子(WS):在TCP连接时,标识窗口大小的扩容倍数。
头长度字段(LEN):IP头长度通常4位大小,IP选项的不固定,导致IP头长度的变化,因此需要IP头长度字段标识IP头边界。
本实施例中,提供一种操作***识别装置,包括
获得模块,用于对网络流量进行分析获得对应的P0f格式的指纹;
输入模块,用于将P0f格式的指纹输入到模型中,其中,所述模型是使用多组训练数据训练出来的,所述多组训练数据中的每一组训练数据均包括:P0f格式的指纹和用来标识其对应操作***的类型的标识信息;
输出模块,获取所述模型的输出信息,其中,所述输出信息包括所述操作***的类型。
在本实施例中,提供一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行以上实施例中的方法。
这些计算机程序也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤,对应与不同的步骤可以通过不同的模块来实现。
上述程序可以运行在处理器中,或者也可以存储在存储器中(或称为计算机可读介质),计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.操作***识别方法,其特征在于:
对网络流量进行分析获得对应的P0f格式的指纹;
将P0f格式的指纹输入到模型中,其中,所述模型是使用多组训练数据训练出来的,所述多组训练数据中的每一组训练数据均包括:P0f格式的指纹和用来标识其对应操作***的类型的标识信息;
获取所述模型的输出信息,其中,所述输出信息包括所述操作***的类型。
2.根据权利要求1所述的方法,其特征在于:所述训练数据包括已知操作***对应的P0f指纹数据库,以及实时P0f指纹数据,所述实时P0f指纹数据通过网络流量分析获得。
3.根据权利要求1所述的方法,其特征在于:所述模型为LSTM模型。
4.根据权利要求1所述的方法,其特征在于:所述输出信息还包括所述操作***的版本号。
5.根据权利要求1所述的方法,其特征在于:所述对网络流量进行分析通过libcap的定制工具进行。
6.根据权利要求1所述的方法,其特征在于:所述将P0f格式的指纹输入到模型中前,对所述P0f格式的指纹按照其不同数据项的数据类型进行如下方式的向量化处理:
对于数据项取值为数值Xi的,输入向量为一维且取值为Xi/max(Xi),所述max(Xi)为该数据项所有取值中的最大值;
对于数据项取值为有和无标志位的,输入向量为一维且取值0或1,所述0、1分别与标志位所指示的结果对应;
对于数据项取值为N种非数字字符序列的组合的,其中N≥1,输入向量为N维且所述N维向量中的每一维与所述组合中的N个字符一一对应,若所述字符在数据项取值中出现,则输入向量中对应该字符的维的取值为1,否则为0;
对于数据项取值为空的,与该数据项对应的输入向量中的所有维均取0。
7.根据权利要求1所述的方法,其特征在于:所述将P0f格式的指纹输入到模型中前,在所述P0f格式的指纹中筛选出如下5个特征值输入至模型中:报文生存时间、窗口大小、最大报文长度、窗口扩大因子以及头长度字段。
8.操作***识别装置,其特征在于:包括
获得模块,用于对网络流量进行分析获得对应的P0f格式的指纹;
输入模块,用于将P0f格式的指纹输入到模型中,其中,所述模型是使用多组训练数据训练出来的,所述多组训练数据中的每一组训练数据均包括:P0f格式的指纹和用来标识其对应操作***的类型的标识信息;
输出模块,获取所述模型的输出信息,其中,所述输出信息包括所述操作***的类型。
9.一种处理器,用于执行软件,其特征在于,所述软件用于执行权利要求1至4中任一项所述的方法。
10.一种存储器,用于存储软件,其特征在于,所述软件用于执行权利要求1至4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111173598.0A CN114189346A (zh) | 2021-10-09 | 2021-10-09 | 操作***识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111173598.0A CN114189346A (zh) | 2021-10-09 | 2021-10-09 | 操作***识别方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114189346A true CN114189346A (zh) | 2022-03-15 |
Family
ID=80539474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111173598.0A Pending CN114189346A (zh) | 2021-10-09 | 2021-10-09 | 操作***识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114189346A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846275A (zh) * | 2018-04-11 | 2018-11-20 | 哈尔滨工程大学 | 基于ripper算法的未知操作***类型识别方法 |
CN110213124A (zh) * | 2019-05-06 | 2019-09-06 | 清华大学 | 基于tcp多会话的被动操作***识别方法及装置 |
CN112115965A (zh) * | 2020-08-04 | 2020-12-22 | 西安交通大学 | 一种基于svm的被动操作***识别方法、存储介质及设备 |
-
2021
- 2021-10-09 CN CN202111173598.0A patent/CN114189346A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846275A (zh) * | 2018-04-11 | 2018-11-20 | 哈尔滨工程大学 | 基于ripper算法的未知操作***类型识别方法 |
CN110213124A (zh) * | 2019-05-06 | 2019-09-06 | 清华大学 | 基于tcp多会话的被动操作***识别方法及装置 |
CN112115965A (zh) * | 2020-08-04 | 2020-12-22 | 西安交通大学 | 一种基于svm的被动操作***识别方法、存储介质及设备 |
Non-Patent Citations (3)
Title |
---|
易运晖;刘海峰;朱振显;: "基于决策树的被动操作***识别技术研究", 计算机科学, no. 08 * |
李良盛;段海新;郑晓峰;: "基于HTTP User-Agent标记的被动操作***识别指纹库自动生成方法", 计算机应用与软件, no. 05 * |
陈军;万亚平;陈虹;饶婕;: "高性能操作***检测方法研究", 南华大学学报(自然科学版), no. 01 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9386028B2 (en) | System and method for malware detection using multidimensional feature clustering | |
CN110071829B (zh) | Dns隧道检测方法、装置及计算机可读存储介质 | |
CN109450721B (zh) | 一种基于深度神经网络的网络异常行为识别方法 | |
CN113206860B (zh) | 一种基于机器学习和特征选择的DRDoS攻击检测方法 | |
CN113328985B (zh) | 一种被动物联网设备识别方法、***、介质及设备 | |
CN103532969A (zh) | 一种僵尸网络检测方法、装置及处理器 | |
CN117216660A (zh) | 基于时序网络流量集成异常点和异常集群检测方法及装置 | |
CN109726340A (zh) | 统一资源定位符分类的查询方法及装置 | |
CN111953665B (zh) | 服务器攻击访问识别方法及***、计算机设备、存储介质 | |
CN113507461B (zh) | 基于大数据的网络监控***及网络监控方法 | |
CN112468487B (zh) | 实现模型训练的方法、装置、实现节点检测的方法及装置 | |
CN112565229B (zh) | 隐蔽通道检测方法及装置 | |
CN113179260A (zh) | 僵尸网络的检测方法、装置、设备及介质 | |
Yin et al. | Anomaly traffic detection based on feature fluctuation for secure industrial internet of things | |
CN117407865A (zh) | 一种接口安全防护方法及装置、电子设备、存储介质 | |
CN116684329A (zh) | 一种网络资产发现方法、装置和存储介质 | |
CN108650274B (zh) | 一种网络入侵检测方法及*** | |
CN114189346A (zh) | 操作***识别方法和装置 | |
WO2016173327A1 (zh) | 用于检测网站攻击的方法和设备 | |
CN116346434A (zh) | 电力***网络攻击行为监测准确度提升方法及*** | |
Ullah et al. | NIDS-VSB: Network intrusion detection system for VANET using spark-based big data optimization and transfer learning | |
CN115622720A (zh) | 一种网络异常检测方法、装置及检测设备 | |
CN117041070B (zh) | 一种网络空间测绘节点发现与归属判别方法和装置 | |
Chen et al. | Trust-based federated learning for network anomaly detection | |
CN116488947B (zh) | 一种安全要素的治理方法 |
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 |