一种系统指纹识别方法、装置、电子设备及存储介质制造方法及图纸

技术编号:22722896 阅读:14 留言:0更新日期:2019-12-04 05:41
本发明专利技术实施例提供一种系统指纹识别方法、装置、电子设备及存储介质,方法包括:获取客户端与服务器之间的流量数据;从所述流量数据中提取TCP/IP数据包,并从所述TCP/IP数据包中提取特征数据;根据所述特征数据和预先训练得到的系统识别模型,确定所述客户端的操作系统信息。本发明专利技术实施例避免了对指纹数据库的依赖,提高了操作系统信息的识别率。

A system fingerprint identification method, device, electronic equipment and storage medium

The embodiment of the invention provides a system fingerprint identification method, device, electronic device and storage medium, the method includes: obtaining the traffic data between the client and the server; extracting the TCP / IP data packet from the traffic data, and extracting the characteristic data from the TCP / IP data packet; determining the client according to the characteristic data and the system identification model obtained through pre training The operating system information of the. The embodiment of the invention avoids the dependence on the fingerprint database and improves the recognition rate of the operating system information.

【技术实现步骤摘要】
一种系统指纹识别方法、装置、电子设备及存储介质
本专利技术涉及通信
,尤其涉及一种系统指纹识别方法、装置、电子设备及存储介质。
技术介绍
操作系统是网络资产的基本信息之一,历年来,操作系统漏洞频出,不同的操作系统类型以及版本,存在的漏洞不同。由于操作系统类型和版本等敏感信息能够帮助判断网络资产漏洞情况,因此识别操作系统型号以及版本信息是计算机安全领域主要关注的问题之一。目前主要通过操作系统指纹识别技术来识别操作系统型号以及版本。操作系统指纹识别技术主要是通过分析客户端和远程主机通信的单个TCP/IP包的一些特征进行判断。TCP协议中一些参数值依赖于特定的操作系统实现,因此现有方法主要通过分析TCP/IP包头部的一些参数,如:初始包大小,初始生存时间值(timetolive,TTL),窗口尺寸和最大分割尺寸等。其中,指纹识别技术主要分为两类:主动识别式和被动识别式。其中被动识别式是指不主动向远程主机发送数据包,而仅仅通过现有的流量的数据包并进行分析的过程,这种方式不需要和远程主机进行交互。但是被动式的指纹识别方法由于无法主动和远程主机交互,导致获取信息有限,进而导致识别精度比主动式指纹识别方法更低。同时,现有被动式指纹识别方法需要将嗅探到的TCP/IP包的头部特征和已标记的特征数据库进行精确匹配,因此指纹数据库需要不断更新,否则无法对新的操作系统进行识别。综上所述,现有技术中被动式的指纹识别方式存在过度依赖现有指纹数据库的问题。
技术实现思路
本专利技术实施例提供一种系统指纹识别方法、装置、电子设备及存储介质,以解决现有技术中被动式的指纹识别方式存在的过度依赖现有指纹数据库,识别率较低的问题。针对上述问题,第一方面,本专利技术实施例提供一种系统指纹识别方法,所述方法包括:获取客户端与服务器之间的流量数据;从所述流量数据中提取TCP/IP数据包,并从所述TCP/IP数据包中提取特征数据;根据所述特征数据和预先训练得到的系统识别模型,确定所述客户端的操作系统信息。第二方面,本专利技术实施例提供一种系统指纹识别装置,所述装置包括:第一获取模块,用于获取客户端与服务器之间的流量数据;第二获取模块,用于从所述流量数据中提取TCP/IP数据包,并从所述TCP/IP数据包中提取特征数据;确定模块,用于根据所述特征数据和预先训练得到的系统识别模型,确定所述客户端的操作系统信息。第三方面,本专利技术实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的系统指纹识别方法的步骤。第四方面,本专利技术实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的系统指纹识别方法的步骤。本专利技术实施例提供的系统指纹识别方法、装置、电子设备及存储介质,在获取到客户端与服务器之间的流量数据之后,从流量数据中提取TCP/IP数据包,并从TCP/IP数据包中提取特征数据,然后根据特征数据和预先训练得到的系统识别模型,确定客户端的操作系统信息,实现了通过预先训练得到的系统识别模型,对客户端的操作系统信息进行识别,省略了将特征数据与指纹数据库的匹配过程,从而避免了被动式的系统指纹识别方式中对指纹数据库的依赖,避免了在特征数据与预设指纹数据库不匹配时,不能对操作系统信息进行识别的问题,增加了操作系统信息的识别率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1表示本专利技术实施例中系统指纹识别方法的步骤流程图;图2表示本专利技术实施例中系统指纹识别装置的结构框图;图3表示本专利技术实施中电子设备的结构框图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,为本专利技术实施例中系统指纹识别方法的步骤流程图,该方法包括如下步骤:步骤101:获取客户端与服务器之间的流量数据。在本步骤中,具体的,在获取客户端和服务器之间的流量数据时,可以通过流量分光设备实施捕获客户端与服务器通信过程中的流量数据。步骤102:从流量数据中提取TCP/IP数据包,并从TCP/IP数据包中提取特征数据。在本步骤中,具体的,在获取到流量数据之后,可以从流量数据中捕获与客户端操作系统相关的TCP/IP数据包,然后从TCP/IP数据包中提取特征数据。具体的,从TCP/IP数据包中提取的特征数据可以包括TCP/IP数据包的包头总长度、TCP数据窗口大小、生存时间值(简称TTL)和不允许分割标识符(D)、TCP选项等。当然,在此需要说明的是,在此并不具体限定特征数据的具体内容。这样,通过从客户端与服务器之间的流量数据中提取TCP/IP数据包,并从TCP/IP数据包中提取特征数据,即获取与客户端操作系统相关的特征数据,使得能够根据获取到的特征数据,对客户端的操作系统信息进行识别。步骤103:根据特征数据和预先训练得到的系统识别模型,确定客户端的操作系统信息。在本步骤中,具体的,本实施例预先训练得到系统识别模型,此时可以根据特征数据和预先训练得到的系统识别模型,确定客户端的操作系统信息。具体的,操作系统信息包括操作系统型号信息和版本信息。这样使得能够通过系统识别模型,根据与客户端的操作系统相对应的特征数据,对操作系统信息进行识别,省略了将特征数据与指纹数据库的匹配过程,从而避免了被动式的系统指纹识别方式中对指纹数据库的依赖,避免了在特征数据与预设指纹数据库不匹配时,不能对操作系统信息进行识别的问题,增加了操作系统信息的识别率。本专利技术实施例通过在获取到客户端与服务器之间的流量数据时,从流量数据中提取TCP/IP数据包,并从TCP/IP数据包中提取特征数据,并根据特征数据和预先训练得到的系统识别模型,确定客户端的操作系统信息,省略了将特征数据与指纹数据库的匹配过程,从而避免了被动式的系统指纹识别方式中对指纹数据库的依赖,避免了在特征数据与预设指纹数据库不匹配时,不能对操作系统信息进行识别的问题,增加了操作系统信息的识别率。进一步地,特征数据包括SYN、ACK和FIN参数数据。这样,通过将SYN、ACK和FIN参数数据均作为特征数据,实现了将同一会话,即三次握手中的多个包相关联,增加了系统指纹识别时所提取的特征数据的多样性和完整性,提高了系统指纹识别的精度。进一步地,本文档来自技高网...

【技术保护点】
1.一种系统指纹识别方法,其特征在于,包括:/n获取客户端与服务器之间的流量数据;/n从所述流量数据中提取TCP/IP数据包,并从所述TCP/IP数据包中提取特征数据;/n根据所述特征数据和预先训练得到的系统识别模型,确定所述客户端的操作系统信息。/n

【技术特征摘要】
1.一种系统指纹识别方法,其特征在于,包括:
获取客户端与服务器之间的流量数据;
从所述流量数据中提取TCP/IP数据包,并从所述TCP/IP数据包中提取特征数据;
根据所述特征数据和预先训练得到的系统识别模型,确定所述客户端的操作系统信息。


2.根据权利要求1所述的方法,其特征在于,所述特征数据包括SYN、ACK和FIN参数数据。


3.根据权利要求1所述的方法,其特征在于,所述根据所述特征数据和预先训练得到的系统识别模型,确定所述客户端的操作系统信息之前,所述方法还包括:
检测预设指纹数据库中是否存在与所述特征数据相匹配的相应特征数据;
当所述预设指纹数据库中不存在所述相应特征数据,或者所述预设指纹数据库中存在所述相应特征数据,且所述特征数据与所述相应特征数据之间的匹配度低于预设阈值时,进入所述根据所述特征数据和预先训练得到的系统识别模型,确定所述客户端的操作系统信息的步骤。


4.根据权利要求1所述的方法,其特征在于,所述根据所述特征数据和预先训练的系统识别模型,确定所述客户端的操作系统信息之前,所述方法还包括:
将所述TCP/IP数据包的包头转换为p0f格式。


5.根据权利要求1所述的方法,其特征在于,所述根据所述特征数据和预先训练得到的系统识别模型,确定所述客户端的操作系统信息之前,所述方法还包括:
训练所述系统识别模型;其中,
所述训练所述系统识别模型,包括:
获取多个已知操作系统信息的目标客户端产生的训练数据;其中,所述训练数据包括从TCP/IP数据包中提取的特征数据;
根据预先建立的所述训练数据与操作系统信息之间的对应关系,通过决策树算法,对所述训...

【专利技术属性】
技术研发人员:包森成方国强李一平姚磊
申请(专利权)人:中国移动通信集团浙江有限公司中国移动通信集团有限公司
类型:发明
国别省市:浙江;33

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

1