CN105959321A - 网络远程主机操作系统被动识别方法及装置 - Google Patents
网络远程主机操作系统被动识别方法及装置 Download PDFInfo
- Publication number
- CN105959321A CN105959321A CN201610549933.5A CN201610549933A CN105959321A CN 105959321 A CN105959321 A CN 105959321A CN 201610549933 A CN201610549933 A CN 201610549933A CN 105959321 A CN105959321 A CN 105959321A
- Authority
- CN
- China
- Prior art keywords
- operating system
- packet
- tcp
- rule
- feature
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- 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/16—Implementing security features at a particular protocol layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种网络远程主机操作系统被动识别方法及装置。方法包括如下步骤:(10)分组嗅探:嗅探并捕获由网络主机发送的TCP分组;(20)应用层数据分析:当为HTTP协议数据时,提取应用层数据中携带的操作系统信息,识别出操作系统,并提取TCP SYN分组中的操作系统特征更新由规则组成的特征库和由样本组成的样本库;(30)首部特征识别,当从TCP SYN分组或者TCP SYNACK分组提取的操作系统特征与特征库中规则匹配时,识别出操作系统;(40)最小距离识别:当不匹配时,基于最小距离,识别出操作系统;(50)识别结果输出:输出操作系统类别。本发明的识别方法,识别准确率高、能识别新版操作系统、特征库维护容易。
Description
技术领域
本发明属于电数字数据监控技术领域,特别是一种识别准确率高、能识别新版操作系统、特征库维护容易的综合应用层信息并基于最小距离的网络远程主机操作系统被动识别方法及装置。
背景技术
准确、及时识别网络中远程主机所运行的操作系统,对网络安全具有重要意义。识别网络中远程主机操作系统的方法可分为主动识别和被动识别。
主动识别方法通过向目标系统主动发送若干探测分组,根据探测分组的响应来判断目标操作系统。Nmap、Xprobe等工具就是采用了这种主动识别方法。主动识别方法需要主动发送探测分组,大规模地探测会造成大量的网络流量,会对网络的正常服务造成影响,同时容易被安全检测软件发现甚至被误判为网络攻击。
被动识别方法则不主动发送探测分组,它通过嗅探网络流量,根据获取的网络分组包含的信息来判断目标操作系统,特别是可通过分组首部的一些字段来进行判断。采用被动识别方法的工具包括p0f、ettercap等。被动识别方法的具体实现可有多种方法,主要包括两种方法:根据应用层数据进行判断、根据TCP/IP分组首部进行判断。
根据应用层数据判断操作系统的方法的基本原理是一些应用的应用层数据中包含操作系统的信息,例如在Web应用中HTTP协议的User-Agent字段包含了客户端操作系统的信息。但是,这种识别方法依赖于特定的应用,只能够利用特定应用的特定分组才能够识别操作系统,应用面比较窄。
根据TCP/IP分组首部判断操作系统的方法应用面比较宽,只要能够获得目标主机发送的TCP分组,就能够根据TCP首部和IP首部判断操作系统的类型。其基本原理是:采用被动嗅探的方式从网络中获取网络流量,当捕获的TCP分组是TCP SYN分组或者TCPSYNACK分组时,提取TCP分组首部以及该分组IP首部中的特征字段,这些特征字段的组合形成操作系统的特征;将提取的操作系统特征与特征库中的规则进行匹配;当操作系统特征与特征库中的规则完全匹配时,输出规则所示的操作系统,否则输出为未知。基于这种方法的典型工具包括p0f、ettercap等。
综上所述,现有技术存在的问题是:对网络远程主机所运行的操作系统的识别准确率低、不能识别新版操作系统、特征库维护困难。
发明内容
本发明的目的在于提供一种网络远程主机操作系统被动识别方法,识别准确率高、能识别新版操作系统、特征库维护容易。
本发明的另目的在于提供一种网络远程主机操作系统被动识别装置。
实现本发明目的的技术解决方案为:
一种网络远程主机操作系统被动识别方法,其特征在于,包括如下步骤:
(10)分组嗅探:嗅探并捕获由网络主机发送的TCP分组,包括TCP SYN分组和TCPSYNACK分组;
(20)应用层数据分析:分析TCP分组中携带的应用层数据,当为HTTP协议数据时,提取应用层数据中携带的操作系统信息,识别出发送TCP分组的主机的操作系统,并提取TCP SYN分组中的操作系统特征更新由规则组成的特征库和由样本组成的样本库,转至(50)识别结果输出步骤;
(30)首部特征识别:当从TCP SYN分组或者TCP SYNACK分组提取的操作系统特征与特征库中规则匹配时,识别出发送TCP分组的主机的操作系统,转至(50)识别结果输出步骤;
(40)最小距离识别:当从TCP SYN分组或者TCP SYNACK分组提取的操作系统特征与特征库中规则不匹配时,基于最小距离,识别出发送TCP分组的主机的操作系统;
(50)识别结果输出:输出发送TCP分组的主机的操作系统类别。
实现本发明另一目的的技术解决方案为:
一种网络远程主机操作系统被动识别装置,其特征在于,包括:
分组嗅探模块(10),用于嗅探并捕获由网络主机发送的TCP分组;
应用层数据分析模块(20),用于分析TCP分组中携带的应用层数据,当为HTTP协议数据时,提取应用层数据中携带的操作系统信息,识别出发送TCP分组的主机的操作系统,并提取TCP SYN分组中的操作系统特征更新由规则组成的特征库和由样本组成的样本库,转至(50)识别结果输出步骤;
首部特征识别模块(30),用于当从TCP SYN分组或者TCP SYNACK分组提取的操作系统特征与特征库中规则匹配时,识别出发送TCP分组的主机的操作系统,转至(50)识别结果输出步骤;
最小距离识别模块(40),用于当从TCP SYN分组或者TCP SYNACK分组提取的操作系统特征与特征库中规则不匹配时,基于最小距离,识别出发送TCP分组的主机的操作系统;
识别结果输出模块(50),用于输出发送TCP分组的主机的操作系统类别。
本发明与现有技术相比,其显著优点为:
1、本发明具有操作系统判断准确率高的特点,当特征库和应用层都无法判断操作系统时,综合利用特征库和样本库,采用基于最小距离的操作系统判断方法,可大大提高判断的准确率;
2、本发明具有可判断新版本操作系统类型的特点,新版本操作系统由于缺乏判断规则,无法判断其类型,基于最小距离的操作系统判断方法可判断新版本操作系统的类型;
3、本发明具有自动生成特征库规则的特点,利用应用层的分析结果,自动生成新的特征规则。
下面结合附图和具体实施方式对本发明作进一步的详细描述。
附图说明
图1为本发明网络远程主机操作系统被动识别方法的主流程图。
图2为图1中应用层数据分析步骤的流程图。
图3为规则示例。
图4为特征字段示例。
图5为图1中首部特征识别步骤的流程图。
图6为本发明网络远程主机操作系统被动识别方法的准确率随应用层识别数据增加而变化的示意图。
具体实施方式
如图1所示,本发明网络远程主机操作系统被动识别方法,包括如下步骤:
(10)分组嗅探:嗅探并捕获由网络主机发送的TCP分组,包括TCP SYN分组和TCPSYNACK分组;
(20)应用层数据分析:分析TCP分组中携带的应用层数据,当为HTTP协议数据时,提取应用层数据中携带的操作系统信息,识别出发送TCP分组的主机的操作系统,并提取TCP SYN分组中的操作系统特征更新由规则组成的特征库和由样本组成的样本库,转至(50)识别结果输出步骤;
如图2所示,所述(20)应用层数据分析步骤包括:
(21)协议判断:根据TCP分组的目的端口号,判定TCP分组的数据是否为HTTP协议;
(22)操作系统特征提取:如果目的端口为80端口,则提取TCP SYN分组及该分组所在IP分组首部的特征字段,形成操作系统特征;
(23)操作系统信息提取:在TCP分组中查找HTTP协议请求分组中的User-Agent字段,并提取该字段中的操作系统信息;
(24)样本库更新:将从TCP SYN分组及该分组所在IP分组首部提取的操作系统特征和从HTTP协议User-Agent字段提取的操作系统信息形成样本和规则,将样本加入样本库;
(25)特征库更新:如果形成的规则在特征库中无相同的规则,则将规则加入特征库。
如图3所示,为规则示例。
规则是操作系统的特征的具体取值以及该取值对应的操作系统。如图3,这是规则的示例。各个字段间用“:”隔开,规则前9个字段分别对应图4中识别操作系统的特征字段,最后一个字段为规则对应的操作系统。
规则的集合构成特征库。特征库的形成需要一个不断地积累过程。特征库中的规则可以通过人工分析网络流量的方式形成。但是,这种方式更新比较滞后,特征库中往往缺少新版本系统的特征,从而无法识别新版本系统。本发明应用层数据分析模块可根据应用层信息自动形成规则。
本发明提出样利用样本来判断操作系统。样本在形式上与规则相同。一个样本是系统在网络中运行过程中从TCP SYN分组以及该分组所在IP分组首部中提取操作系统特征以及通过分析结果判决模块或者应用层数据分析模块得到的操作系统识别结果所形成的一条记录。样本的集合形成样本库。随着系统的运行,样本库中的样本逐渐积累,随着样本数量的增长,样本库中的操作系统的分布体现了当前网络中操作系统的分布。
(30)首部特征识别:当从TCP SYN分组或者TCP SYNACK分组提取的操作系统特征与特征库中规则匹配时,识别出发送TCP分组的主机的操作系统,转至(50)识别结果输出步骤;
如图4所示,所述特征字段包括TCP首部中的窗口大小、最大报文段大小、窗口比例因子、选择性ACK是否有效、TCP选项中是否包含NOP、时间戳选项是否有效、以及IP首部中的生存时间、IP是否分片标志位、IP分组长度。
如图5所示,为首部特征识别过程。
所述(30)首部特征识别步骤包括:
(31)操作系统特征获取:当捕获的TCP分组是SYN分组或者SYN ACK分组时,提取TCP分组首部以及该分组IP首部中的特征字段,形成操作系统特征;
(32)特征匹配:将提取的操作系统特征与特征库中的规则进行匹配,根据操作系统特征与特征库中规则的匹配情况,识别出发送TCP分组的主机的操作系统。
所述(32)特征匹配步骤包括:
(321)当操作系统的特征与特征库中的规则唯一匹配时,该规则对应的操作系统为识别结果;
(322)当操作系统的特征与特征库中的多个规则匹配时,所匹配的规则中指向最多的操作系统作为识别结果,如不同操作系统匹配规则数相同,则根据操作系统使用分布,选择当前使用更为广泛的操作系统作为识别结果;
(323)当操作系统的特征与特征库中的规则无匹配时,继续后续步骤。
应用层数据分析模块分析TCP分组中携带的应用层数据,提取应用数据中携带的操作系统信息并将结果发送至分析结果判决模块。一些应用层的数据会携带应用层的信息,比较常见的是HTTP协议的User-Agent字段中通常会携带操作系统信息。应用层中携带的操作系统信息只要应用程序不存在欺骗的行为,其准确度是100%,但是,相对于基于TCP/IP分组首部特征字段的操作系统识别方法来说,携带操作系统信息的应用层数据较少,能够识别的主机较少。
本发明综合应用层的信息,将其作为一种辅助方法。一方面,可用于识别新版本的操作系统;另一方面,可作为自动产生特征库规则的方法,使特征库的维护更加容易。
基于TCP/IP分组首部特征字段的操作系统识别方法识别的准确率较低,其中一个重要的原因是对于同一个操作系统,其特征不唯一,这导致不同操作系统的特征存在相似性。然而,同一类别不同版本操作系统特征的相似性要大于不同类别的操作系统特征。
为了描述操作系统间的相似性,本发明定义了操作系统特征的距离为不相同的操作系统特征字段的数量。同样,操作系统特征与特征库中规则间的距离同样为不相同的操作系统特征字段的数量。操作系统间的相似性越大,则两者的距离越小。
TCP分组首部特征分析是在基本的基于TCP/IP分组首部特征字段的操作系统识别方法上的改进,考虑了操作系统的特征与多个规则匹配的情况,这时将结果判定为匹配规则中出现最多的操作系统。同时也考虑到可能出现不同操作系统匹配规则数相同的情况,例如,对于操作系统特征A,分别匹配规则B、C,而规则B判断操作系统为S,规则C判断操作系统为S’,S和S’为不同的操作系统,那么如果当前操作系统S分布更为广泛,那么判定操作系统特征A对应的操作系统为S。
本发明中操作系统的分布来源于因特网知名网站的统计网站的统计数据,包括StatCounter和W3Techs。一种根据当前操作系统分布的排序如下:Windows 7、Windows10、Windows 8、Mac OS X、Windows XP、Linux、BSD、Darwin、HP-UX、Solaris。对于其它使用较少的系统排在Solaris之后,且认为分布相等。排序越靠前,认为其分布越广,出现的概率越大。
为了提高操作系统识别的准确率,采用了两级的识别结构,分别由TCP分组首部特征分析识别和基于最小距离的判断识别完成。
(40)最小距离识别:当从TCP SYN分组或者TCP SYNACK分组提取的操作系统特征与特征库中规则不匹配时,基于最小距离,识别出发送TCP分组的主机的操作系统;
所述(40)最小距离识别步骤包括:
(41)计算操作系统特征与特征库中规则以及样本库中样本的最小距离dmin;
(42)找出特征库和样本库中与操作系统特征距离为dmin的所有规则和样本的集合R;
(43)计算R中规则和样本指出的出现次数最多的操作系统类别S作为识别结果;
(44)如果多个不同类别的操作系统出现次数相同,根据操作系统使用分布选择当前使用更为广泛的操作系统S作为识别结果。
基于最小距离的判断模块所采用的方法与K近邻方法相近,又存在区别。K近邻方法是以距离最近的K个邻居为判断依据。而基于最小距离的判断模块所采用的方法其距离为dmin的规则和样本的集合R中样本和规则的数量是不确定的,这与K近邻的方法存在差别。
基于最小距离的判断模块不仅利用了特征库,同时利用了样本库。特征库中的规则不能代表网络中操作系统的实际分布,每一条规则只能代表某一个操作系统可能的特征。但是,样本库则是当前网络中实际推断的结果,随着系统的不断运行,样本库中操作系统的分布能够趋近于网络中实际操作系统的分布,对特定样本的推断起到促进作用,能够提高操作系统识别的准确率。
(50)识别结果输出:输出发送TCP分组的主机的操作系统类别。
所述(50)识别结果输出步骤包括:
(51)将(20)应用层数据分析步骤识别出的发送TCP分组的主机的操作系统作为最终判定结果输出;
(52)否则,将(30)首部特征识别步骤识别出的发送TCP分组的主机的操作系统作为最终判定结果输出,并将与该操作系统特征匹配的规则作为样本放入样本库;
(53)否则,将(40)最小距离识别步骤识别出的发送TCP分组的主机的操作系统作为最终判定结果输出,并将提取的操作系统特征与判定的结果作为样本放入样本库。
本发明网络远程主机操作系统被动识别装置,其特征在于,包括:
分组嗅探模块(10),用于嗅探并捕获由网络主机发送的TCP分组;
应用层数据分析模块(20),用于分析TCP分组中携带的应用层数据,当为HTTP协议数据时,提取应用层数据中携带的操作系统信息,识别出发送TCP分组的主机的操作系统,并提取TCP SYN分组中的操作系统特征更新由规则组成的特征库和由样本组成的样本库,转至(50)识别结果输出步骤;
首部特征识别模块(30),当从TCP SYN分组或者TCP SYNACK分组提取的操作系统特征与特征库中规则匹配时,识别出发送TCP分组的主机的操作系统,转至(50)识别结果输出步骤;
最小距离识别模块(40),当从TCP SYN分组或者TCP SYNACK分组提取的操作系统特征与特征库中规则不匹配时,基于最小距离,识别出发送TCP分组的主机的操作系统;
识别结果输出模块(50),用于输出发送TCP分组的主机的操作系统类别。
下面采用一个实际的案例说明本发明的效用。
采用VMware来构建测试环境,根据当前因特网中操作系统的使用情况,主要选择当前网络中常用的系统。这些系统包括:Windows系列(WinXP、Win7、Win8、Win10、Win2003);Linux系列(Ubuntu server、Ubuntu、Centos server);Mac OS X系列等。在VMware中,将虚拟机的网络连接方式设置为NAT方式,在这个模式下,虚拟机通过虚拟网卡VMnet8进行转换与外界网络通信。在实际物理主机上布设Apache服务器构建Web服务器,同时,利用Serv-U构建FTP服务器。从虚拟机中访问构建的Web服务器和FTP服务器,使用虚拟机上安装的不同的Web浏览器访问网站,例如IE浏览器和360浏览器,而Linux系统上安装的浏览器通常为Firefox,使用ftp命令访问FTP服务器,同时尝试使用telnet命令访问Web服务器和FTP服务器。由于实际布设的操作系统已知,只需要根据其应用层信息和从TCP/IP分组中提取的操作系统特征进行判断,并与实际的操作系统进行对比,过程可控。
本发明选用的操作系统特征与ettercap软件采用的特征一致。可利用当前ettercap最新版本0.8.2的特征库。在这个特征库中,能够识别的最新的Windows系统包括WinXP、Win2003;能够识别的最新的Linux内核为2.6.11;能够识别的最新的MacOS X系统为10.3.8。可见,特征库缺乏更新,较为陈旧。
首先,采用基本的基于TCP/IP分组首部特征字段的操作系统识别方法,只有21.2%的操作系统特征能够与特征库中的特征精确匹配。总体上对操作系统类别的判断准确率为21.2%。这里很大一部分原因在于特征库中没有新版本操作系统的判断规则。
进一步采用本发明的TCP分组首部特征分析模块和基于最小距离的判断模块对数据进行分析,则对操作系统类别判断的准确率提高至91.92%。
如图6,当进一步综合应用层信息时,对操作系统类别的识别准确率随着应用层识别的操作系统的不断增加而不断提高。当应用层已经识别了40%的数据以后,对操作系统分类的准确率已经超过96%。
本发明综合应用层信息,采用基于最小距离的操作系统被动识别,可大大提高操作系统识别准确率、可识别新版本操作系统类型并可自动产生识别操作系统的规则。
Claims (7)
1.一种网络远程主机操作系统被动识别方法,其特征在于,包括如下步骤:
(10)分组嗅探:嗅探并捕获由网络主机发送的TCP分组,包括TCP SYN分组和TCP SYNACK分组;
(20)应用层数据分析:分析TCP分组中携带的应用层数据,当为HTTP协议数据时,提取应用层数据中携带的操作系统信息,识别出发送TCP分组的主机的操作系统,并提取TCP SYN分组中的操作系统特征更新由规则组成的特征库和由样本组成的样本库,转至(50)识别结果输出步骤;
(30)首部特征识别:当从TCP SYN分组或者TCP SYNACK分组提取的操作系统特征与特征库中规则匹配时,识别出发送TCP分组的主机的操作系统,转至(50)识别结果输出步骤;
(40)最小距离识别:当从TCP SYN分组或者TCP SYNACK分组提取的操作系统特征与特征库中规则不匹配时,基于最小距离,识别出发送TCP分组的主机的操作系统;
(50)识别结果输出:输出发送TCP分组的主机的操作系统类 。
2.根据权利要求1所述的操作系统被动识别方法,其特征在于,所述(20)应用层数据分析步骤包括:
(21)协议判断:根据TCP分组的目的端口号,判定TCP分组的数据是否为HTTP协议;
(22)操作系统特征提取:如果目的端口为80端口,则提取TCP SYN分组及该分组所在IP分组首部的特征字段,形成操作系统特征;
(23)操作系统信息提取:在TCP分组中查找HTTP协议请求分组中的User-Agent字段,并提取该字段中的操作系统信息;
(24)样本库更新:将从TCP SYN分组及该分组所在IP分组首部提取的操作系统特征和从HTTP协议User-Agent字段提取的操作系统信息形成样本和规则,将样本加入样本库;
(25)特征库更新:如果形成的规则在特征库中无相同的规则,则将规则加入特征库。
3.根据权利要求1所述的操作系统被动识别方法,其特征在于,所述(30)首部特征识别步骤包括:
(31)操作系统特征获取:当捕获的TCP分组是TCP SYN分组或者TCP SYNACK分组 时,提取TCP分组首部以及该分组IP首部中的特征字段,形成操作系统特征;
(32)特征匹配:将提取的操作系统特征与特征库中的规则进行匹配,根据操作系统特征与特征库中规则的匹配情况,识别出发送TCP分组的主机的操作系统。
4.根据权利要求3所述的操作系统被动识别方法,其特征在于,所述(32)特征匹配步骤包括:
(321)当操作系统的特征与特征库中的规则唯一匹配时,该规则对应的操作系统为识别结果;
(322)当操作系统的特征与特征库中的多个规则匹配时,所匹配的规则中指向最多的操作系统作为识别结果,如不同操作系统匹配规则数相同,则根据操作系统使用分布,选择当前使用更为广泛的操作系统作为识别结果;
(323)当操作系统的特征与特征库中的规则无匹配时,继续后续步骤。
5.根据权利要求1所述的操作系统被动识别方法,其特征在于,所述(40)最小距离识别步骤包括:
(41)计算操作系统特征与特征库中规则以及样本库中样本的最小距离dmin;
(42)找出特征库和样本库中与操作系统特征距离为dmin的所有规则和样本的集合R;
(43)计算R中规则和样本指出的出现次数最多的操作系统类别S作为识别结果;
(44)如果多个不同类别的操作系统出现次数相同,根据操作系统使用分布选择当前使用更为广泛的操作系统S作为识别结果。
6.根据权利要求1所述的操作系统被动识别方法,其特征在于,所述(50)识别结果输出步骤包括:
(51)将(20)应用层数据分析步骤识别出的发送TCP分组的主机的操作系统作为最终判定结果输出;
(52)否则,将(30)首部特征识别步骤识别出的发送TCP分组的主机的操作系统作为最终判定结果输出,并将与该操作系统特征匹配的规则作为样本放入样本库;
(53)否则,将(40)最小距离识别步骤识别出的发送TCP分组的主机的操作系统作为最终判定结果输出,并将提取的操作系统特征与判定的结果作为样本放入样本库。
7.一种网络远程主机操作系统被动识别装置,其特征在于,包括:
分组嗅探模块(10),用于嗅探并捕获由网络主机发送的TCP分组;
应用层数据分析模块(20),用于分析TCP分组中携带的应用层数据,当为HTTP协议数据时,提取应用层数据中携带的操作系统信息,识别出发送TCP分组的主机的操作系统,并提取TCP SYN分组中的操作系统特征更新由规则组成的特征库和由样本组成的样本库,转至(50)识别结果输出步骤;
首部特征识别模块(30),用于当从TCP SYN分组或者TCP SYNACK分组提取的操作系统特征与特征库中规则匹配时,识别出发送TCP分组的主机的操作系统,转至(50)识别结果输出步骤;
最小距离识别模块(40),用于当从TCP SYN分组或者TCP SYNACK分组提取的操作系统特征与特征库中规则不匹配时,基于最小距离,识别出发送TCP分组的主机的操作系统;
识别结果输出模块(50),用于输出发送TCP分组的主机的操作系统类别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610549933.5A CN105959321A (zh) | 2016-07-13 | 2016-07-13 | 网络远程主机操作系统被动识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610549933.5A CN105959321A (zh) | 2016-07-13 | 2016-07-13 | 网络远程主机操作系统被动识别方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105959321A true CN105959321A (zh) | 2016-09-21 |
Family
ID=56899890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610549933.5A Pending CN105959321A (zh) | 2016-07-13 | 2016-07-13 | 网络远程主机操作系统被动识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105959321A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936667A (zh) * | 2017-04-17 | 2017-07-07 | 东南大学 | 一种基于应用程序流量分布式分析的主机实时识别方法 |
CN107292154A (zh) * | 2017-06-09 | 2017-10-24 | 北京奇安信科技有限公司 | 一种终端特征识别方法及系统 |
CN108846275A (zh) * | 2018-04-11 | 2018-11-20 | 哈尔滨工程大学 | 基于ripper算法的未知操作系统类型识别方法 |
CN110213124A (zh) * | 2019-05-06 | 2019-09-06 | 清华大学 | 基于tcp多会话的被动操作系统识别方法及装置 |
CN110868409A (zh) * | 2019-11-08 | 2020-03-06 | 中国科学院信息工程研究所 | 一种基于tcp/ip协议栈指纹的操作系统被动识别方法及系统 |
CN114172980A (zh) * | 2021-12-08 | 2022-03-11 | 北京天融信网络安全技术有限公司 | 一种识别操作系统类型的方法、系统、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1864182A (zh) * | 2003-10-15 | 2006-11-15 | 思科技术公司 | 用于降低网络入侵检测系统的虚假警报率的方法和系统 |
CN1886935A (zh) * | 2003-11-28 | 2006-12-27 | 因塞提克有限公司 | 用于收集有关通信网络的信息和用于收集有关在通信网络节点上运行的操作系统的信息的方法和系统 |
CN102810062A (zh) * | 2012-06-14 | 2012-12-05 | 中国人民解放军信息工程大学 | 基于相似度判定的嵌入式操作系统内核版本识别方法 |
CN103544089A (zh) * | 2013-10-13 | 2014-01-29 | 西安电子科技大学 | 基于Xen的操作系统识别方法 |
CN103746826A (zh) * | 2013-10-29 | 2014-04-23 | 湖南蚁坊软件有限公司 | 一种网络中主机的操作系统的自动发现与识别的方法 |
CN105554009A (zh) * | 2015-12-28 | 2016-05-04 | 成都千牛信息技术有限公司 | 一种通过网络数据获取设备操作系统信息的方法 |
-
2016
- 2016-07-13 CN CN201610549933.5A patent/CN105959321A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1864182A (zh) * | 2003-10-15 | 2006-11-15 | 思科技术公司 | 用于降低网络入侵检测系统的虚假警报率的方法和系统 |
CN1886935A (zh) * | 2003-11-28 | 2006-12-27 | 因塞提克有限公司 | 用于收集有关通信网络的信息和用于收集有关在通信网络节点上运行的操作系统的信息的方法和系统 |
CN102810062A (zh) * | 2012-06-14 | 2012-12-05 | 中国人民解放军信息工程大学 | 基于相似度判定的嵌入式操作系统内核版本识别方法 |
CN103544089A (zh) * | 2013-10-13 | 2014-01-29 | 西安电子科技大学 | 基于Xen的操作系统识别方法 |
CN103746826A (zh) * | 2013-10-29 | 2014-04-23 | 湖南蚁坊软件有限公司 | 一种网络中主机的操作系统的自动发现与识别的方法 |
CN105554009A (zh) * | 2015-12-28 | 2016-05-04 | 成都千牛信息技术有限公司 | 一种通过网络数据获取设备操作系统信息的方法 |
Non-Patent Citations (5)
Title |
---|
BLACKSUN: "ettercap插件介绍", 《BLACKSUN的博客》 * |
JOÃO PAULO S. MEDEIROS等: "A new method for recognizing operating systems of automation devices", 《 2009 IEEE CONFERENCE ON EMERGING TECHNOLOGIES & FACTORY AUTOMATION》 * |
ROHIT TYAGI等: "Packet Inspection for Unauthorized OS Detection in Enterprises", 《THE IEEE COMPUTER AND RELIABILITY SOCIETIES 》 * |
刘英: "基于TCP协议可选项的远程操作系统识别", 《中国优秀硕士学位论文全文数据库》 * |
吴沩旻等: "被动式TCP/IP指纹识别操作系统", 《电脑编程技巧与维修》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936667A (zh) * | 2017-04-17 | 2017-07-07 | 东南大学 | 一种基于应用程序流量分布式分析的主机实时识别方法 |
CN106936667B (zh) * | 2017-04-17 | 2020-08-11 | 东南大学 | 一种基于应用程序流量分布式分析的主机实时识别方法 |
CN107292154A (zh) * | 2017-06-09 | 2017-10-24 | 北京奇安信科技有限公司 | 一种终端特征识别方法及系统 |
CN108846275A (zh) * | 2018-04-11 | 2018-11-20 | 哈尔滨工程大学 | 基于ripper算法的未知操作系统类型识别方法 |
CN110213124A (zh) * | 2019-05-06 | 2019-09-06 | 清华大学 | 基于tcp多会话的被动操作系统识别方法及装置 |
CN110868409A (zh) * | 2019-11-08 | 2020-03-06 | 中国科学院信息工程研究所 | 一种基于tcp/ip协议栈指纹的操作系统被动识别方法及系统 |
CN114172980A (zh) * | 2021-12-08 | 2022-03-11 | 北京天融信网络安全技术有限公司 | 一种识别操作系统类型的方法、系统、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105959321A (zh) | 网络远程主机操作系统被动识别方法及装置 | |
CN110909811B (zh) | 一种基于ocsvm的电网异常行为检测、分析方法与系统 | |
CN111277570A (zh) | 数据的安全监测方法和装置、电子设备、可读介质 | |
KR101538709B1 (ko) | 산업제어 네트워크를 위한 비정상 행위 탐지 시스템 및 방법 | |
CN111107102A (zh) | 基于大数据实时网络流量异常检测方法 | |
US20120090027A1 (en) | Apparatus and method for detecting abnormal host based on session monitoring | |
CN111885059B (zh) | 一种工业网络流量异常检测定位的方法 | |
CN105577679A (zh) | 一种基于特征选择与密度峰值聚类的异常流量检测方法 | |
KR100628329B1 (ko) | 네트워크 세션 특성 정보에 대한 공격 행위 탐지규칙 생성장치 및 그 방법 | |
CN110300027A (zh) | 一种异常登录检测方法 | |
CN110213124A (zh) | 基于tcp多会话的被动操作系统识别方法及装置 | |
CN113704328B (zh) | 基于人工智能的用户行为大数据挖掘方法及系统 | |
CN109257393A (zh) | 基于机器学习的xss攻击防御方法及装置 | |
CN112003869B (zh) | 一种基于流量的漏洞识别方法 | |
CN106411644A (zh) | 基于dpi技术的网络共享设备检测方法及系统 | |
CN111191720B (zh) | 一种业务场景的识别方法、装置及电子设备 | |
CN111294342A (zh) | 一种软件定义网络中DDos攻击的检测方法及系统 | |
CN109660656A (zh) | 一种智能终端应用程序识别方法 | |
CN110519228B (zh) | 一种黑产场景下恶意云机器人的识别方法及系统 | |
CN113704772B (zh) | 基于用户行为大数据挖掘的安全防护处理方法及系统 | |
CN110225009A (zh) | 一种基于通信行为画像的代理使用者检测方法 | |
US20150150132A1 (en) | Intrusion detection system false positive detection apparatus and method | |
CN112528325B (zh) | 一种数据信息的安全处理方法及系统 | |
CN116647389A (zh) | 一种工业控制系统网络访问安全性预警系统及方法 | |
KR20130126830A (ko) | 실시간 응용 시그니쳐 생성 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160921 |
|
WD01 | Invention patent application deemed withdrawn after publication |