网络远程主机操作系统被动识别方法及装置制造方法及图纸

技术编号:13747299 阅读:50 留言:0更新日期:2016-09-24 03:36
本发明专利技术公开一种网络远程主机操作系统被动识别方法及装置。方法包括如下步骤:(10)分组嗅探:嗅探并捕获由网络主机发送的TCP分组;(20)应用层数据分析:当为HTTP协议数据时,提取应用层数据中携带的操作系统信息,识别出操作系统,并提取TCP SYN分组中的操作系统特征更新由规则组成的特征库和由样本组成的样本库;(30)首部特征识别,当从TCP SYN分组或者TCP SYNACK分组提取的操作系统特征与特征库中规则匹配时,识别出操作系统;(40)最小距离识别:当不匹配时,基于最小距离,识别出操作系统;(50)识别结果输出:输出操作系统类别。本发明专利技术的识别方法,识别准确率高、能识别新版操作系统、特征库维护容易。

【技术实现步骤摘要】

本专利技术属于电数字数据监控
,特别是一种识别准确率高、能识别新版操作系统、特征库维护容易的综合应用层信息并基于最小距离的网络远程主机操作系统被动识别方法及装置
技术介绍
准确、及时识别网络中远程主机所运行的操作系统,对网络安全具有重要意义。识别网络中远程主机操作系统的方法可分为主动识别和被动识别。主动识别方法通过向目标系统主动发送若干探测分组,根据探测分组的响应来判断目标操作系统。Nmap、Xprobe等工具就是采用了这种主动识别方法。主动识别方法需要主动发送探测分组,大规模地探测会造成大量的网络流量,会对网络的正常服务造成影响,同时容易被安全检测软件发现甚至被误判为网络攻击。被动识别方法则不主动发送探测分组,它通过嗅探网络流量,根据获取的网络分组包含的信息来判断目标操作系统,特别是可通过分组首部的一些字段来进行判断。采用被动识别方法的工具包括p0f、ettercap等。被动识别方法的具体实现可有多种方法,主要包括两种方法:根据应用层数据进行判断、根据TCP/IP分组首部进行判断。根据应用层数据判断操作系统的方法的基本原理是一些应用的应用层数据中包含操作系统的信息,例如在Web应用中HTTP协议的User-Agent字段包含了客户端操作系统的信息。但是,这种识别方法依赖于特定的应用,只能够利用特定应用的特定分组才能够识别操作系统,应用面比较窄。根据TCP/IP分组首部判断操作系统的方法应用面比较宽,只要能够获得目标主机发送的TCP分组,就能够根据TCP首部和IP首部判断操作系统的类型。其基本原理是:采用被动嗅探的方式从网络中获取网络流量,当捕获的TCP分组是TCP SYN分组或者TCP SYNACK分组时,提取TCP分组首部以及该分组IP首部中的特征字段,这些特征字段的组合形成操作系统的特征;将提取的操作系统特征与特征库中的规则进行匹配;当操作系统特征与特征库中的规则完全匹配时,输出规则所示的操作系统,否则输出为未知。基于这种方法的典型工具包括p0f、ettercap等。综上所述,现有技术存在的问题是:对网络远程主机所运行的操作系统的识别准确率低、不能识别新版操作系统、特征库维护困难。
技术实现思路
本专利技术的目的在于提供一种网络远程主机操作系统被动识别方法,识别准确率高、能识别新版操作系统、特征库维护容易。本专利技术的另目的在于提供一种网络远程主机操作系统被动识别装置。实现本专利技术目的的技术解决方案为:一种网络远程主机操作系统被动识别方法,其特征在于,包括如下步骤:(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分组的主机的操作系统类别。实现本专利技术另一目的的技术解决方案为:一种网络远程主机操作系统被动识别装置,其特征在于,包括:分组嗅探模块(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分组和TCP SYNACK分组;(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中识别操作系统的特征字段,最后一个字段为规则对应的操作系统。规则的集合构成特征库。特征库的形成需要一个不断地积累过程。特征库中的规则可以通过人工分析网络流量的方式形成。但是,这种方式更新比较滞后,特征库中往往缺少新版本本文档来自技高网
...

【技术保护点】
一种网络远程主机操作系统被动识别方法,其特征在于,包括如下步骤:(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分组的主机的操作系统类 。

【技术特征摘要】
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)当操作系统的特征与特征库中的规则...

【专利技术属性】
技术研发人员:袁恩齐望东
申请(专利权)人:中国人民解放军理工大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1