CN114095235B - 系统识别方法、装置、计算机设备及介质 - Google Patents

系统识别方法、装置、计算机设备及介质 Download PDF

Info

Publication number
CN114095235B
CN114095235B CN202111361454.8A CN202111361454A CN114095235B CN 114095235 B CN114095235 B CN 114095235B CN 202111361454 A CN202111361454 A CN 202111361454A CN 114095235 B CN114095235 B CN 114095235B
Authority
CN
China
Prior art keywords
fingerprint
target system
target
candidate
matching
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.)
Active
Application number
CN202111361454.8A
Other languages
English (en)
Other versions
CN114095235A (zh
Inventor
岳志恒
杨玉奇
张红宝
周忠义
傅强
阿曼太
梁彧
田野
王杰
杨满智
蔡琳
金红
陈晓光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Eversec Beijing Technology Co Ltd
Original Assignee
Eversec Beijing Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Eversec Beijing Technology Co Ltd filed Critical Eversec Beijing Technology Co Ltd
Priority to CN202111361454.8A priority Critical patent/CN114095235B/zh
Publication of CN114095235A publication Critical patent/CN114095235A/zh
Application granted granted Critical
Publication of CN114095235B publication Critical patent/CN114095235B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本发明公开了一种系统识别方法、装置、计算机设备及介质。其中,该方法包括:响应于对目标系统的识别请求,向所述目标系统发送多种类型的网络数据包;根据所述目标系统对各类型的网络数据包的响应情况,生成与各类型的网络数据包分别对应的指纹类别,并组成目标系统指纹;将所述目标系统指纹与预设指纹库中的系统指纹进行遍历匹配,根据匹配结果确定并返回目标系统信息。本发明实施例的技术方案,通过上述方法,解决了目标系统在防火墙或其他原因干扰下无法返回响应包,从而无法对目标系统准确识别的技术问题,本发明实施例的技术方案通过生成目标系统指纹,再对目标系统指纹进行匹配,达到了提高对目标系统信息识别的准确度的技术效果。

Description

系统识别方法、装置、计算机设备及介质
技术领域
本发明实施例涉及计算机网络技术,尤其涉及一种系统识别方法、装置、计算机设备及介质。
背景技术
目前,随着计算机网络的快速发展,很多业务场景需要识别目标系统的系统信息。现有的基于TCP/IP协议栈操作系统识别的方法,主要适用于没有网络干扰的情况下进行系统识别。当有防火墙干扰或其他干扰时,由于干扰会屏蔽某些类别的探测数据包,使得现有技术方案无法准确的对目标系统进行识别。
发明内容
本发明实施例提供一种系统识别方法、装置、计算机设备及介质,以实现提高对目标系统信息识别的准确度的技术效果。
第一方面,本发明实施例提供了一种系统识别方法,该方法包括:
响应于对目标系统的识别请求,向所述目标系统发送多种类型的网络数据包;
根据所述目标系统对各类型的网络数据包的响应情况,生成与各类型的网络数据包分别对应的指纹类别,并组成目标系统指纹;
将所述目标系统指纹与预设指纹库中的系统指纹进行遍历匹配,根据匹配结果确定并返回目标系统信息。
第二方面,本发明实施例还提供了一种系统识别装置,该系统识别装置包括:
数据发送模块,用于响应于对目标系统的识别请求,向所述目标系统发送多种类型的网络数据包;
指纹生成模块,用于根据所述目标系统对各类型的网络数据包的响应情况,生成与各类型的网络数据包分别对应的指纹类别,并组成目标系统指纹;
系统识别模块,用于将所述目标系统指纹与预设指纹库中的系统指纹进行遍历匹配,根据匹配结果确定并返回目标系统信息。
第三方面,本发明实施例还提供了一种计算机设备,该计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的系统识别方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的系统识别方法。
本发明实施例的技术方案,通过向目标系统发送多种类型的网络数据包,然后接收目标系统返回的响应数据包,根据响应数据包,生成对应的指纹类别,指纹类别组成目标系统指纹,再将目标系统指纹与预设指纹库中的系统指纹进行匹配,确定并返回目标系统信息,解决了目标系统在防火墙或其他原因干扰下无法返回响应包,从而无法对目标系统准确识别的技术问题,本发明实施例的技术方案通过生成目标系统指纹,再对目标系统指纹进行匹配,达到了提高对目标系统信息识别的准确度的技术效果。
附图说明
图1是本发明实施例一提供的一种系统识别方法的流程示意图;
图2是本发明实施例二提供的一种系统识别方法的流程示意图;
图3是本发明实施例二提供的一种系统识别方法的流程示意图;
图4是本发明实施例二提供的一种指纹匹配算法的流程示意图;
图5是本发明实施例三提供的一种系统识别装置的结构示意图;
图6是本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种系统识别方法的流程示意图,本实施例可适用于对操作系统进行识别的情况,特别是在有防火墙干扰情况下对操作系统进行识别的情况,该方法可以由系统识别装置来执行,该装置可以由硬件和/或软件来实现,并一般可以集成在提供系统识别服务的计算机设备中。具体包括如下步骤:
S110、响应于对目标系统的识别请求,向所述目标系统发送多种类型的网络数据包。
其中,所述目标系统可以为本申请需要识别的操作系统,例如目标系统可以为windows操作系统、Linux操作系统或UNIX操作系统等。
其中,所述网络数据包可以为能够探测目标系统的数据包,例如网络数据包的类型可以包括ICMP(Internet Control Message Protocol,网络控制消息协议)、TCP(Transmission Control Protocol,传输控制协议)或UDP(User Datagram Protocol,用户数据包协议)等类型,目标操作系统接收到网络数据包后会回复响应数据包,以使系统识别装置根据响应数据包完成后续目标操作系统识别的工作。
其中,所述响应于对目标系统的识别请求,向所述目标系统发送多种类型的网络数据包,可以理解为,系统识别装置接到对目标操作系统进行识别的任务请求,然后从任务请求中提取系统识别所需的信息,如目标系统的网络地址等信息,根据提取的信息向所述目标系统发送多种类型的网络数据包。
S120、根据所述目标系统对各类型的网络数据包的响应情况,生成与各类型的网络数据包分别对应的指纹类别,并组成目标系统指纹。
其中,所述目标系统指纹可以为表示目标系统信息的数据,通过解析目标系统指纹,可以得到目标系统信息,所述目标系统指纹可以由多个指纹类别组成,每个指纹类别可以由多个指纹项组成。
其中,所述根据所述目标系统对各类型的网络数据包的响应情况,生成与各类型的网络数据包分别对应的指纹类别,并组成目标系统指纹,可以理解为,根据接收到目标系统的多个类型的响应数据包,通过对多个类型响应数据包生成对应的多个指纹类别,多个指纹类别组成目标系统指纹,其中,通过多个类型响应数据包生成对应的多个指纹类别可以为通过解析响应数据包的内容,完成指纹类别的生成,所述解析可以为对响应数据包内容的解析,例如数据包内容可以包括:是否有响应、TTL(Time To Live,生存时间)值、TCP序列号变化情况、对网络数据包修改情况等内容。
可选的是,在本发明实施例中任一可选技术方案的基础上,所述根据所述目标系统对各类型的网络数据包的响应情况,生成与各类型的网络数据包分别对应的指纹类别,包括:
针对各种类型的网络数据包,如果接收到与所述网络数据包对应的响应数据包,则从所述响应数据包中提取预设字段信息,生成指纹类别;
如果未接收到与所述网络数据包对应的响应数据包,则判断所述目标系统是否存在防火墙干扰;
如果是,则生成仅包括一个响应指纹项的指纹类别,否则,生成不包括任何指纹项的指纹类别。
其中,所述预设字段信息可以为预先设定的能够区别表示不同指纹类别的字段信息,通过提取预设字段信息,可以生成相应的指纹类别。
本实施例中,在向目标系统发出网络数据包后,如果目标系统返回对应的响应数据包,则从响应数据包中提取预设字段信息生成指纹项,组成指纹类别,如果没有收到目标系统反馈的响应数据包,则通过第三方系统探测目标系统的防火墙信息,如果目标系统设置有防火墙,则认为是因为防火墙干扰才未收到目标系统反馈的响应数据包,此时,可以生成仅包括一个响应指纹项的指纹类别,且该响应指纹项表示已收到响应数据包。如果第三方系统探测到目标系统并未设置防火墙,则生成一个指纹项为空的指纹类别。
S130、将所述目标系统指纹与预设指纹库中的系统指纹进行遍历匹配,根据匹配结果确定并返回目标系统信息。
其中,所述预设指纹库可以为存放系统指纹以及对应的系统信息的仓库,所述目标系统信息可以为能够表示目标系统属性的信息,例如可以为系统版本号信息、厂商信息等信息。
其中,所述将所述目标系统指纹与预设指纹库中的系统指纹进行遍历匹配,根据匹配结果确定并返回目标系统信息,可以理解为,通过将目标系统指纹与预设指纹库中的各系统指纹进行比对,找出预设指纹库中与目标系统指纹一致的系统指纹,然后通过分析与该一致的系统指纹对应的系统信息,确定目标系统信息。其中,所述一致可以为部分一致,即比对一致的系统指纹中,仅包括目标系统指纹的所有指纹类别的所有指纹项中的一部分,所述一致也可以为完全一致,即比对一致的系统指纹中,包括目标系统指纹的所有指纹类别的所有指纹项。
本发明实施例的技术方案,通过向目标系统发送多种类型的网络数据包,然后接收目标系统返回的响应数据包,根据响应数据包,生成对应的指纹类别,指纹类别组成目标系统指纹,再将目标系统指纹与预设指纹库中的系统指纹进行匹配,确定并返回目标系统信息,解决了目标系统在防火墙或其他原因干扰下无法返回响应包,从而无法对目标系统准确识别的技术问题,本发明实施例的技术方案通过生成目标系统指纹,再对目标系统指纹进行匹配,达到了提高对目标系统信息识别的准确度的技术效果。
实施例二
图2为本发明实施例二所提供的一种系统识别方法的流程示意图,本实施例在本发明实施例中任一可选技术方案的基础上,可选地,所述将所述目标系统指纹与预设指纹库中的系统指纹进行遍历匹配,根据匹配结果确定并返回目标系统信息,包括:将所述目标系统指纹中的各个指纹类别依次作为当前处理的目标指纹类别;遍历所述预设指纹库中的各系统指纹,判断各系统指纹中是否存在与所述目标指纹类别一致的候选指纹类别;如果存在,则针对所述目标指纹类别中的各个目标指纹项,判断各所述候选指纹类别中是否存在与所述目标指纹项一致的候选指纹项;如果存在,则根据所述目标指纹项与所述候选指纹项的匹配情况,更新所述候选指纹项所对应的系统指纹的匹配参数;当所述目标系统指纹中的所有指纹项匹配结束,根据各系统指纹的匹配参数确定并返回目标系统信息。
如图2所示,本实施例的方法具体可包括:
S210、响应于对目标系统的识别请求,向所述目标系统发送多种类型的网络数据包。
S220、根据所述目标系统对各类型的网络数据包的响应情况,生成与各类型的网络数据包分别对应的指纹类别,并组成目标系统指纹。
S230、将所述目标系统指纹中的各个指纹类别依次作为当前处理的目标指纹类别。
其中,所述目标指纹类别可以为目标系统指纹中的一个指纹类别,通过依次选择目标系统指纹中的一个指纹类别作为当前处理的目标指纹类别,能够确定目标指纹类别与指纹库中各指纹的匹配情况,最后得到所有目标系统指纹类别的匹配情况,从而确定目标系统信息。
S240、遍历所述预设指纹库中的各系统指纹,判断各系统指纹中是否存在与所述目标指纹类别一致的候选指纹类别。
其中,所述遍历所述预设指纹库中的各系统指纹可以为,依次与预设指纹库的所有系统指纹的所有指纹类别进行比较,通过遍历所述预设指纹库中的各系统指纹,判断各系统指纹中是否存在与所述目标指纹类别一致的候选指纹类别。
其中,所述判断各系统指纹中是否存在与所述目标指纹类别一致的候选指纹类别,可以为通过判断指纹类别代码或编码来判断是否有一致的候选指纹类别,也可以通过判断指纹类别的内容判断是否有一致的候选指纹类别。
S250、如果存在,则针对所述目标指纹类别中的各个目标指纹项,判断各所述候选指纹类别中是否存在与所述目标指纹项一致的候选指纹项。
其中,所述如果存在,则针对所述目标指纹类别中的各个目标指纹项,可以理解为,如果存在与所述目标指纹类别一致的候选指纹类别,则进一步判断所述目标指纹类别下的各个目标指纹项是否与候选指纹类别中的各指纹项一致。
其中,所述判断各所述候选指纹类别中是否存在与所述目标指纹项一致的候选指纹项,可以为通过判断指纹项代码或编码来判断是否有一致的候选指纹项,也可以通过判断指纹项的内容判断是否有一致的候选指纹项。
如果候选指纹类别中不存在与目标指纹项一致的候选指纹项,可以进行下一目标指纹类别的判断。
S260、如果存在,则根据所述目标指纹项与所述候选指纹项的匹配情况,更新所述候选指纹项所对应的系统指纹的匹配参数。
其中,所述系统指纹的匹配参数可以为表征预设指纹库的系统指纹与目标系统指纹的匹配程度,通过系统指纹的匹配参数,可以知道预设指纹库的系统指纹与目标系统指纹是否匹配以及匹配程度,其中,所述匹配参数为每个预设指纹库中的系统指纹的独立参数,且进行每个指纹类别的每个指纹项比较时,匹配参数共享,即匹配参数在每次指纹项比较的过程中是全局变量。
其中,所述如果存在,则根据所述目标指纹项与所述候选指纹项的匹配情况,更新所述候选指纹项所对应的系统指纹的匹配参数,可以理解为,如果存在与所述目标指纹项一致的候选指纹项,则进一步判断候选指纹项的内容是否与目标指纹项一致,然后根据判断结果更新所述候选指纹项所对应的系统指纹的匹配参数。如果候选指纹类别中不存在与目标指纹项一致的候选指纹项,可以进行此目标指纹类别的下一目标指纹项的判断,直至此目标指纹类别下的所有目标指纹项判断完毕,进行下一目标指纹类别的判断。
可选的是,在本发明实施例中任一可选技术方案的基础上,所述匹配参数能够在目标系统受到防火墙干扰的情况下,衡量指纹库中的系统指纹与目标系统指纹的匹配程度,所述匹配参数包括:匹配成功的指纹项数量和查找到的指纹项数量;
根据所述目标指纹项与所述候选指纹项的匹配情况,更新所述候选指纹项所对应的系统指纹的匹配参数,包括:
如果所述目标指纹项与所述候选指纹项匹配成功,则将所述匹配成功的指纹项数量加1,以及将所述查找到的指纹项数量加1;
如果所述目标指纹项与所述候选指纹项匹配失败,则将所述查找到的指纹项数量加1。
其中,匹配成功的指纹项数量和查找到的指纹项数量的初始值应相同,两者的取值可以为1或者其他数值。所述更新所述候选指纹项所对应的系统指纹的匹配参数,可以理解为,如果目标指纹项与候选指纹项内容相同,则将候选指纹项所对应的系统指纹的匹配成功的指纹项数量加1,并将该系统指纹的查找到的指纹项数量加1,表示该系统指纹中存在一个与目标指纹项名称和内容都相同的指纹项。如果目标指纹项与候选指纹项的内容不同,则只将候选指纹项所对应的系统指纹的查找到的指纹项数量加1,但维持该系统指纹的匹配成功的指纹项数量不变,表示该系统指纹中存在一个与目标指纹项名称相同但内容不同的指纹项。
本实施例中,也可以为预设指纹库中的每个系统指纹分别设置唯一匹配参数,该唯一匹配参数的初始值可以为1,也可以为其他数值。当根据所述目标指纹项与所述候选指纹项的匹配情况,更新所述候选指纹项所对应的系统指纹的匹配参数时,如果匹配不成功,则将唯一匹配参数减1,如果匹配成功,则不修改唯一匹配参数。其中,如果与目标指纹匹配过程中并未进入指纹项匹配环节,也不修改唯一匹配参数。最终通过该唯一匹配参数,确定目标系统指纹与预设指纹库中的系统指纹的匹配程度。
S270、当所述目标系统指纹中的所有指纹项匹配结束,根据各系统指纹的匹配参数确定并返回目标系统信息。
其中,匹配参数包括匹配成功的指纹项数量与查找到的指纹项数量,通过匹配参数的这两项数据,可以得到目标系统指纹与系统指纹的匹配情况,例如,可以通过匹配参数的两项数据的比值来确定匹配情况,也可以通过差值来确定匹配情况,当匹配参数的两项数据的比值为1或差值为0时,对应的预设指纹库中的系统指纹为匹配成功的系统指纹,根据此系统指纹对应的系统信息,可以得到目标系统信息。
可选的是,在本发明实施例中任一可选技术方案的基础上,所述当所述目标系统指纹中的所有指纹项匹配结束,根据各系统指纹的匹配参数确定并返回目标系统信息,包括:
当所述目标系统指纹中的所有指纹项匹配结束,计算各系统指纹对应的匹配成功的指纹项数量和查找到的指纹项数量的比值,作为各系统指纹的匹配程度值;
从指纹库中选择匹配程度值等于1的系统指纹作为候选指纹,并对所有候选指纹进行分类处理,根据处理结果确定并返回目标系统信息。
其中,当所述目标系统指纹中的所有指纹类别的指纹项匹配结束,可以将预设指纹库中,匹配成功的指纹项数量与查找到的指纹项数量的比值为1,或者两者差值为0的系统指纹作为候选指纹。又或者,当为各系统指纹设置唯一匹配参数时,将唯一匹配参数值等于初始值的系统指纹作为候选指纹。如果只从预设指纹库中找到一个候选指纹,则将候选指纹对应的系统信息作为目标系统信息返回。如果从预设指纹库中找到多个候选指纹,则需要对多个候选指纹的系统信息进行分类处理来确定目标系统信息。
值得注意的是,本实施例中,当预设指纹库中的系统指纹的所有指纹类别都没有与目标系统指纹的其中一个指纹类别一致,或预设指纹库中的系统指纹的所有指纹类别有与目标系统指纹的其中一个指纹类别一致,但没有一致的指纹项时,即匹配成功的指纹项数量和查找到的指纹项数量都为默认初始值时,为了更全面的识别目标系统,避免遗漏可能的目标系统信息,也将该系统指纹作为匹配成功的候选指纹。当然,也可以根据需求对匹配规则进行修改,使得当匹配成功的指纹项数量和查找到的指纹项数量都为默认初始值时,将与该匹配参数对应的系统指纹不作为匹配成功的候选指纹。
其中,所述分类处理可以为通过计算各候选指纹对应的系统信息的比值,来选取比值最大的系统信息作为目标系统信息,也可以通过其他信息来确定各候选指纹对应的系统信息的权重,通过加权计算确定目标系统信息。
可选的是,在本发明实施例中任一可选技术方案的基础上,所述对所有候选指纹进行分类处理,根据处理结果确定并返回目标系统信息,包括:
如果只有一个候选指纹,则将所述候选指纹对应的系统信息作为目标系统信息返回;
如果有多个候选指纹,则对各候选指纹对应的系统信息进行分类统计,确定各种系统信息的占比,并将各种系统信息以及占比作为目标系统信息返回。
其中,所述如果有多个候选指纹,则对各候选指纹对应的系统信息进行分类统计,确定各种系统信息的占比,并将各种系统信息以及占比作为目标系统信息返回,可以理解为,通过比较各种系统信息所对应的候选指纹数来确定各种系统信息的占比,并将各种系统信息以及占比作为目标系统信息返回,例如有5条候选指纹信息对应的系统信息为windows操作系统,3条候选指纹信息对应的系统信息为Linux操作系统,2条候选指纹信息对应的系统信息为UNIX操作系统,则返回:50%可能性为windows操作系统,30%可能性为Linux操作系统,20%可能性为UNIX操作系统。
本实施例的技术方案,通过依次比较目标系统指纹中所有指纹类别的所有指纹项,得到预设指纹库中的系统指纹的匹配参数,根据各系统指纹的匹配参数确定并返回目标系统信息,解决了目标系统指纹与预设指纹库中的系统指纹无法快速高效匹配的技术问题,达到了通过匹配参数能够快速确定并返回目标系统信息的技术效果。
如图3所示,为本发明实施所提供的一种系统识别方法的流程示意图,如图4所示,为本发明实施所提供的一种指纹匹配算法的流程示意图,以此为例,来说明本发明实施例的一种可选方案。
如图3所示,本识别系统首先向目标系统发送多种类型的网络数据包,数据包类型包括ICMP、TCP、UDP;接着接收并缓存目标系统回复的所有响应数据包;然后解析缓存的响应数据包内容,从而根据这些内容生成特定的目标系统指纹。指纹内容包括:是否有响应、TTL值、TCP序列号变化情况、对请求包修改情况等。接下来,用此目标系统指纹与预设指纹库中的系统指纹进行匹配。最后,根据匹配情况生成相应的操作系统信息,如操作系统版本号(windows7、Ubuntu、Centos7等)、厂商信息(Cisco、Microsoft等)。
其中,FPT(fingprint-target,目标系统指纹):为待识别的目标系统的系统指纹。FPL(fingprint-lib,指纹库中的系统指纹):为预设指纹库中的系统指纹。每个系统指纹(FPT或FPL)由多个(n个)类别的内容组成,每个类别的内容称为指纹类别,用FPTn或FPLn表示,其中n表示第几个类别。每个指纹类别中包含多个key=value形式的组合,如R=Y,O=xxxx。每个组合称为指纹项,用FPTnm或FPLnm表示,其中m表示第几个指纹项。指纹项R表示指纹项对应的数据包响应情况,指纹项O表示其他指纹项对应的数据表响应情况。
如图4所示,在进行指纹匹配时,使用目标系统指纹(FPT)中的每个指纹类别(FPTn)与指纹库中每个系统指纹(FPL)对应的指纹类别(FPLn)进行比对。若FPTn查找到相应的FPLn,则进行指纹项(FPTnm和FPLnm)匹配;否则不做任何事。同理,指纹项匹配时,若FPTnm没有查找到FPLnm,也不做任何事;相反,若FPTnm查找到FPLnm时,进入到指纹项匹配阶段。此时,若FPTnm与FPLnm相匹配,则变量matched_num(匹配到)及matches_num(查找到)的计数均增加相应的值;若FPTnm与FPLnm不匹配,仅增加matches_num(查找到)的计数。当目标系统指纹中的所有指纹项均匹配完成后,计算匹配结果,计算方式为:RES=matched_num/matches_num。最后,输出指纹库中所有RES=1的系统指纹(即FPL)对应的操作系统信息。
实施例三
图5为本发明实施例三提供的一种系统识别装置的结构示意图,本实施例所提供的一种系统识别装置可以通过软件和/或硬件来实现,可配置于终端和/或服务器中来实现本发明实施例中的一种系统识别方法。如图5所示,该装置具体可包括:数据发送模块310、指纹生成模块320和系统识别模块330。
其中,数据发送模块310,用于响应于对目标系统的识别请求,向所述目标系统发送多种类型的网络数据包;指纹生成模块320,用于根据所述目标系统对各类型的网络数据包的响应情况,生成与各类型的网络数据包分别对应的指纹类别,并组成目标系统指纹;系统识别模块330,用于将所述目标系统指纹与预设指纹库中的系统指纹进行遍历匹配,根据匹配结果确定并返回目标系统信息。
本发明实施例的技术方案,通过向目标系统发送多种类型的网络数据包,然后接收目标系统返回的响应数据包,根据响应数据包,生成对应的指纹类别,指纹类别组成目标系统指纹,再将目标系统指纹与预设指纹库中的系统指纹进行匹配,确定并返回目标系统信息,解决了目标系统在防火墙或其他原因干扰下无法返回响应包,从未无法对目标系统准确识别的技术问题,本发明实施例的技术方案通过生成目标系统指纹,再对目标系统指纹进行匹配,达到了提高对目标系统信息识别的准确度的技术效果。
在本发明实施例中任一可选技术方案的基础上,可选的是,指纹生成模块320,用于:
针对各种类型的网络数据包,如果接收到与所述网络数据包对应的响应数据包,则从所述响应数据包中提取预设字段信息,生成指纹类别;
如果未接收到与所述网络数据包对应的响应数据包,则判断所述目标系统是否受到防火墙干扰;
如果是,则生成仅包括一个响应指纹项的指纹类别,否则,生成不包括任何指纹项的指纹类别。
在本发明实施例中任一可选技术方案的基础上,可选的是,所述系统识别模块330包括:
目标指纹类别确定单元,用于将所述目标系统指纹中的各个指纹类别依次作为当前处理的目标指纹类别;
指纹类别判断单元,用于遍历所述预设指纹库中的各系统指纹,判断各系统指纹中是否存在与所述目标指纹类别一致的候选指纹类别;
指纹项判断单元,用于如果存在,则针对所述目标指纹类别中的各个目标指纹项,判断各所述候选指纹类别中是否存在与所述目标指纹项一致的候选指纹项;
匹配参数更新单元,用于如果存在,则根据所述目标指纹项与所述候选指纹项的匹配情况,更新所述候选指纹项所对应的系统指纹的匹配参数;
目标系统信息返回单元,用于当所述目标系统指纹中的所有指纹项匹配结束,根据各系统指纹的匹配参数确定并返回目标系统信息。
在本发明实施例中任一可选技术方案的基础上,可选的是,所述匹配参数能够在目标系统受到防火墙干扰的情况下,衡量指纹库中的系统指纹与目标系统指纹的匹配程度,所述匹配参数包括:匹配成功的指纹项数量和查找到的指纹项数量;
所述匹配参数更新单元,用于:
如果所述目标指纹项与所述候选指纹项匹配成功,则将所述匹配成功的指纹项数量加1,以及将所述查找到的指纹项数量加1;
如果所述目标指纹项与所述候选指纹项匹配失败,则将所述查找到的指纹项数量加1。
在本发明实施例中任一可选技术方案的基础上,可选的是,所述目标系统信息返回单元包括:
匹配程度值计算子单元,用于当所述目标系统指纹中的所有指纹项匹配结束,计算各系统指纹对应的匹配成功的指纹项数量和查找到的指纹项数量的比值,作为各系统指纹的匹配程度值;
目标系统信息确定子单元,用于从指纹库中选择匹配程度值等于1的系统指纹作为候选指纹,并对所有候选指纹进行分类处理,根据处理结果确定并返回目标系统信息。
在本发明实施例中任一可选技术方案的基础上,可选的是,所述目标系统信息确定子单元,用于:
如果只有一个候选指纹,则将所述候选指纹对应的系统信息作为目标系统信息返回;
如果有多个候选指纹,则对各候选指纹对应的系统信息进行分类统计,确定各种系统信息的占比,并将各种系统信息以及占比作为目标系统信息返回。
上述系统识别装置可执行本发明任意实施例所提供的系统识别方法,具备执行系统识别方法相应的功能模块和有益效果。
实施例四
图6为本发明实施例四提供的一种计算机设备的结构示意图,如图6所示,该计算机设备包括处理器410、存储器420、输入装置430和输出装置440;设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种系统识别方法对应的程序指令/模块。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理。
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的信号输入。输出装置440可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种系统识别方法,该方法包括:响应于对目标系统的识别请求,向所述目标系统发送多种类型的网络数据包;根据所述目标系统对各类型的网络数据包的响应情况,生成与各类型的网络数据包分别对应的指纹类别,并组成目标系统指纹;将所述目标系统指纹与预设指纹库中的系统指纹进行遍历匹配,根据匹配结果确定并返回目标系统信息。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种系统识别方法,其特征在于,包括:
响应于对目标系统的识别请求,向所述目标系统发送多种类型的网络数据包;
根据所述目标系统对各类型的网络数据包的响应情况,生成与各类型的网络数据包分别对应的指纹类别,并组成目标系统指纹;所述目标系统指纹由多个指纹类别组成,每个指纹类别由多个指纹项组成;
所述根据所述目标系统对各类型的网络数据包的响应情况,生成与各类型的网络数据包分别对应的指纹类别,并组成目标系统指纹包括:根据接收到目标系统的多个类型的响应数据包,通过对多个类型响应数据包生成对应的多个指纹类别,多个指纹类别组成目标系统指纹,其中,通过多个类型响应数据包生成对应的多个指纹类别为通过解析响应数据包的内容,完成指纹类别的生成,所述解析为对响应数据包内容的解析,所述数据包内容包括:是否有响应、TTL值、TCP序列号变化情况和对网络数据包修改情况;
将所述目标系统指纹与预设指纹库中的系统指纹进行遍历匹配,根据匹配结果确定并返回目标系统信息。
2.根据权利要求1所述的方法,其特征在于,根据所述目标系统对各类型的网络数据包的响应情况,生成与各类型的网络数据包分别对应的指纹类别,包括:
针对各种类型的网络数据包,如果接收到与所述网络数据包对应的响应数据包,则从所述响应数据包中提取预设字段信息,生成指纹类别;
如果未接收到与所述网络数据包对应的响应数据包,则判断所述目标系统是否存在防火墙干扰;
如果是,则生成仅包括一个响应指纹项的指纹类别,否则,生成不包括任何指纹项的指纹类别。
3.根据权利要求1所述的方法,其特征在于,将所述目标系统指纹与预设指纹库中的系统指纹进行遍历匹配,根据匹配结果确定并返回目标系统信息,包括:
将所述目标系统指纹中的各个指纹类别依次作为当前处理的目标指纹类别;
遍历所述预设指纹库中的各系统指纹,判断各系统指纹中是否存在与所述目标指纹类别一致的候选指纹类别;
如果存在,则针对所述目标指纹类别中的各个目标指纹项,判断各所述候选指纹类别中是否存在与所述目标指纹项一致的候选指纹项;
如果存在,则根据所述目标指纹项与所述候选指纹项的匹配情况,更新所述候选指纹项所对应的系统指纹的匹配参数;
当所述目标系统指纹中的所有指纹项匹配结束,根据各系统指纹的匹配参数确定并返回目标系统信息。
4.根据权利要求3所述的方法,其特征在于,所述匹配参数能够在目标系统受到防火墙干扰的情况下,衡量指纹库中的系统指纹与目标系统指纹的匹配程度,所述匹配参数包括:匹配成功的指纹项数量和查找到的指纹项数量;
根据所述目标指纹项与所述候选指纹项的匹配情况,更新所述候选指纹项所对应的系统指纹的匹配参数,包括:
如果所述目标指纹项与所述候选指纹项匹配成功,则将所述匹配成功的指纹项数量加1,以及将所述查找到的指纹项数量加1;
如果所述目标指纹项与所述候选指纹项匹配失败,则将所述查找到的指纹项数量加1。
5.根据权利要求3所述的方法,其特征在于,当所述目标系统指纹中的所有指纹项匹配结束,根据各系统指纹的匹配参数确定并返回目标系统信息,包括:
当所述目标系统指纹中的所有指纹项匹配结束,计算各系统指纹对应的匹配成功的指纹项数量和查找到的指纹项数量的比值,作为各系统指纹的匹配程度值;
从指纹库中选择匹配程度值等于1的系统指纹作为候选指纹,并对所有候选指纹进行分类处理,根据处理结果确定并返回目标系统信息。
6.根据权利要求5所述的方法,其特征在于,对所有候选指纹进行分类处理,根据处理结果确定并返回目标系统信息,包括:
如果只有一个候选指纹,则将所述候选指纹对应的系统信息作为目标系统信息返回;
如果有多个候选指纹,则对各候选指纹对应的系统信息进行分类统计,确定各种系统信息的占比,并将各种系统信息以及占比作为目标系统信息返回。
7.一种系统识别装置,其特征在于,包括:
数据发送模块,用于响应于对目标系统的识别请求,向所述目标系统发送多种类型的网络数据包;
指纹生成模块,用于根据所述目标系统对各类型的网络数据包的响应情况,生成与各类型的网络数据包分别对应的指纹类别,并组成目标系统指纹;所述目标系统指纹由多个指纹类别组成,每个指纹类别由多个指纹项组成;
所述指纹生成模块具体用于:根据接收到目标系统的多个类型的响应数据包,通过对多个类型响应数据包生成对应的多个指纹类别,多个指纹类别组成目标系统指纹,其中,通过多个类型响应数据包生成对应的多个指纹类别为通过解析响应数据包的内容,完成指纹类别的生成,所述解析为对响应数据包内容的解析,所述数据包内容包括:是否有响应、TTL值、TCP序列号变化情况和对网络数据包修改情况;
系统识别模块,用于将所述目标系统指纹与预设指纹库中的系统指纹进行遍历匹配,根据匹配结果确定并返回目标系统信息。
8.根据权利要求7所述的装置,其特征在于,指纹生成模块,用于:
针对各种类型的网络数据包,如果接收到与所述网络数据包对应的响应数据包,则从所述响应数据包中提取预设字段信息,生成指纹类别;
如果未接收到与所述网络数据包对应的响应数据包,则判断所述目标系统是否受到防火墙干扰;
如果是,则生成仅包括一个响应指纹项的指纹类别,否则,生成不包括任何指纹项的指纹类别。
9.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的系统识别方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的系统识别方法。
CN202111361454.8A 2021-11-17 2021-11-17 系统识别方法、装置、计算机设备及介质 Active CN114095235B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111361454.8A CN114095235B (zh) 2021-11-17 2021-11-17 系统识别方法、装置、计算机设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111361454.8A CN114095235B (zh) 2021-11-17 2021-11-17 系统识别方法、装置、计算机设备及介质

Publications (2)

Publication Number Publication Date
CN114095235A CN114095235A (zh) 2022-02-25
CN114095235B true CN114095235B (zh) 2024-03-19

Family

ID=80301275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111361454.8A Active CN114095235B (zh) 2021-11-17 2021-11-17 系统识别方法、装置、计算机设备及介质

Country Status (1)

Country Link
CN (1) CN114095235B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114648784B (zh) * 2022-05-23 2022-09-09 深圳创元智能软件科技有限公司 指纹库预匹配的指纹验证方法、装置、设备及存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231665B1 (en) * 2001-07-05 2007-06-12 Mcafee, Inc. Prevention of operating system identification through fingerprinting techniques
US7680929B1 (en) * 2006-07-31 2010-03-16 Insecure.Com LLC Operating system determination
US7801980B1 (en) * 2003-05-12 2010-09-21 Sourcefire, Inc. Systems and methods for determining characteristics of a network
CN105516224A (zh) * 2014-09-25 2016-04-20 杭州迪普科技有限公司 一种操作系统识别方法和装置
CN106487879A (zh) * 2016-09-20 2017-03-08 北京知道未来信息技术有限公司 一种基于设备指纹库的网络设备识别方法和装置
CN108183895A (zh) * 2017-12-26 2018-06-19 广东电网有限责任公司信息中心 一种网络资产信息采集系统
CN108846275A (zh) * 2018-04-11 2018-11-20 哈尔滨工程大学 基于ripper算法的未知操作系统类型识别方法
CN110519128A (zh) * 2019-09-20 2019-11-29 西安交通大学 一种基于随机森林的操作系统识别方法
EP3617922A1 (en) * 2018-08-31 2020-03-04 Niometrics (Pte.) Ltd. Apparatus and methods for deriving fingerprints of communications devices
KR20200061699A (ko) * 2018-11-26 2020-06-03 한국인터넷진흥원 멀티레이어로 구성된 os 핑거프린트 룰에 기반한 운영체제 식별 방법 및 그 장치
CN111934946A (zh) * 2020-07-16 2020-11-13 深信服科技股份有限公司 网络设备识别方法、装置、设备及可读存储介质
CN112202718A (zh) * 2020-09-03 2021-01-08 西安交通大学 一种基于XGBoost算法的操作系统识别方法、存储介质及设备
CN112636924A (zh) * 2020-12-23 2021-04-09 北京天融信网络安全技术有限公司 网络资产识别方法及装置、存储介质及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100192225A1 (en) * 2009-01-28 2010-07-29 Juniper Networks, Inc. Efficient application identification with network devices

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231665B1 (en) * 2001-07-05 2007-06-12 Mcafee, Inc. Prevention of operating system identification through fingerprinting techniques
US7801980B1 (en) * 2003-05-12 2010-09-21 Sourcefire, Inc. Systems and methods for determining characteristics of a network
US7680929B1 (en) * 2006-07-31 2010-03-16 Insecure.Com LLC Operating system determination
CN105516224A (zh) * 2014-09-25 2016-04-20 杭州迪普科技有限公司 一种操作系统识别方法和装置
CN106487879A (zh) * 2016-09-20 2017-03-08 北京知道未来信息技术有限公司 一种基于设备指纹库的网络设备识别方法和装置
CN108183895A (zh) * 2017-12-26 2018-06-19 广东电网有限责任公司信息中心 一种网络资产信息采集系统
CN108846275A (zh) * 2018-04-11 2018-11-20 哈尔滨工程大学 基于ripper算法的未知操作系统类型识别方法
EP3617922A1 (en) * 2018-08-31 2020-03-04 Niometrics (Pte.) Ltd. Apparatus and methods for deriving fingerprints of communications devices
KR20200061699A (ko) * 2018-11-26 2020-06-03 한국인터넷진흥원 멀티레이어로 구성된 os 핑거프린트 룰에 기반한 운영체제 식별 방법 및 그 장치
CN110519128A (zh) * 2019-09-20 2019-11-29 西安交通大学 一种基于随机森林的操作系统识别方法
CN111934946A (zh) * 2020-07-16 2020-11-13 深信服科技股份有限公司 网络设备识别方法、装置、设备及可读存储介质
CN112202718A (zh) * 2020-09-03 2021-01-08 西安交通大学 一种基于XGBoost算法的操作系统识别方法、存储介质及设备
CN112636924A (zh) * 2020-12-23 2021-04-09 北京天融信网络安全技术有限公司 网络资产识别方法及装置、存储介质及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
P. Matoušek等."Towards identification of operating systems from the internet traffic: IPFIX monitoring with fingerprinting and clustering".《2014 5th International Conference on Data Communication Networking (DCNET),》.2016,全文. *
基于HTTP User-Agent标记的被动操作系统识别指纹库自动生成方法;李良盛;段海新;郑晓峰;;计算机应用与软件(05);参见第2.2-2.3节 *

Also Published As

Publication number Publication date
CN114095235A (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
CN107294982B (zh) 网页后门检测方法、装置及计算机可读存储介质
CN109951435B (zh) 一种设备标识提供方法及装置和风险控制方法及装置
US11811785B2 (en) Real-time scanning of IP addresses
US8825750B2 (en) Application server management system, application server management method, management apparatus, application server and computer program
CN114157502B (zh) 一种终端识别方法、装置、电子设备及存储介质
WO2020244307A1 (zh) 一种漏洞检测方法及装置
CN111277602B (zh) 网络数据包的识别处理方法、装置、电子设备及存储介质
CN112565229B (zh) 隐蔽通道检测方法及装置
CN114095235B (zh) 系统识别方法、装置、计算机设备及介质
KR20210065687A (ko) 시스템 운용 상태 정보를 이용한 사이버 자산 피해 분석 장치, 방법, 기록 매체 및 컴퓨터 프로그램
CN116170224A (zh) 渗透测试方法、装置、设备及介质
CN109286684B (zh) 一种通信连接的处理方法、装置、代理服务器及存储介质
CN114301659A (zh) 网络攻击预警方法、系统、设备及存储介质
CN112637223B (zh) 应用协议识别方法、装置、计算机设备和存储介质
CN114697066A (zh) 网络威胁检测方法和装置
KR101625890B1 (ko) 인터넷 응용 트래픽 프로토콜의 시그니처 변경 탐지를 위한 테스트 자동화 방법 및 시스템
CN116094850A (zh) 基于系统状态追踪图引导的网络协议漏洞检测方法及系统
CN114390118B (zh) 一种工控资产识别方法、装置、电子设备及存储介质
CN109905325B (zh) 一种流量引导方法及流量识别设备
CN110661796B (zh) 一种用户动作流量的识别方法和识别装置
CN114615015A (zh) 服务系统修复优先级的确定方法、装置、设备及介质
CN113890858A (zh) Pmtu的探测方法及装置
US9444729B2 (en) Fast application recognition system and fast application processing method
CN114070819B (zh) 恶意域名检测方法、设备、电子设备及存储介质
CN114462588B (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
GR01 Patent grant
GR01 Patent grant