一种操作系统识别方法和装置的制造方法

文档序号:9754683阅读:352来源:国知局
一种操作系统识别方法和装置的制造方法
【技术领域】
[0001] 本发明涉及通信技术领域,尤其涉及一种操作系统识别方法和装置。
【背景技术】
[0002] 随着互联网技术的普及,人们可以通过网络实现越来越多的业务,如聊天、学习、 工作、购物等等。随之而来的网络安全问题也逐渐引起人们的重视。由于这些网络业务常常 会涉及到用户的隐私信息甚至财产信息,一旦用户的主机在通信过程中遭到黑客的袭击, 便会造成用户的隐私泄露甚至财产损失。由于黑客最常用的攻击手段是利用目标主机的系 统漏洞来完成的,那么如何针对系统漏洞来提高网络服务的安全性成为重中之重的问题。
[0003] 目前远程服务器可以通过获取目标主机的操作系统信息来了解其业务特征以及 存在的漏洞,然后,针对目标主机存在的隐患为目标主机合理配置路由器、网关及入侵检测 等安全设备,以保证该目标主机在网络中能够安全运行。因此,远程服务器对于目标主机操 作系统识别结果的准确度越高,就越有利于目标主机的安全运行。
[0004] 现有技术中存在多种识别操作系统的方法,并且不同的识别方法所依赖的条件都 有所不同。传统的远程服务器上通常采用单一的识别方法来识别目标主机的操作系统,但 由于远程识别对于目标主机的状态不可预见,且不知道其是否满足该识别方法的依赖条 件,因此会影响识别结果的准确度,甚至可能无法识别出结果。

【发明内容】

[0005] 有鉴于此,本发明提供一种操作系统识别方法和装置,来解决现有技术中操作系 统识别结果的准确度不高的问题。
[0006] -种操作系统识别方法,所述方法应用于远程服务器,所述远程服务器预存多个 识别模块,每个所述识别模块用于识别一种操作系统,所述方法包括步骤:
[0007] 从所述多个识别模块中依次调用一个识别模块;
[0008] 通过调用的识别模块识别目标主机当前的操作系统,获取所述调用的识别模块的 识别结果及识别结果对应的准确值;
[0009] 将所述准确值与预设的第一阈值进行比较;
[0010] 当所述准确值大于等于所述第一阈值时,确定所述准确值对应的识别结果为所述 目标主机当前操作系统的识别结果,并结束调用下一个识别模块。
[0011] 基于相同的构思,本发明还提供一种操作系统识别装置,所述装置应用于远程服 务器,所述装置包括:
[0012] 模块存储单元,用于预存多个识别模块,每个所述识别模块用于识别一种操作系 统;
[0013] 模块调用单元,用于从所述多个识别模块中依次调用一个识别模块;
[0014] 系统识别单元,用于通过调用的识别模块识别目标主机当前的操作系统,获取所 述调用的识别模块的识别结果及识别结果对应的准确值;
[0015] 第一比较单元,用于将所述准确值与预设的第一阈值进行比较;
[0016] 结果确定单元,用于当所述准确值大于等于所述第一阈值时,确定所述准确值对 应的识别结果为所述目标主机当前操作系统的识别结果,并结束调用下一个识别模块。
[0017] 由此可见,本发明可以先通过依次调用远程服务器预存的识别模块来识别目标主 机当前的操作系统,并获取当前调用的识别模块的识别结果及识别结果对应的准确值进行 判断,当准确值大于等于预设阈值时,则认为该识别结果非常准确,确定所述识别结果为目 标主机当前操作系统的识别结果,并结束调用下一个识别模块。因此,既可以在识别结果的 准确度不高时采用不同的识别模块来保证最终识别结果的准确度,又可以在识别结果非常 准确时,省掉调用其他识别模块的识别过程,减少了远程服务器的运行负担。
【附图说明】
[0018] 图1是本发明提供的一种操作系统识别方法的处理流程图;
[0019] 图2是本发明实施例中一种评分方法的处理流程图;
[0020] 图3是本发明实施例中一种操作系统识别装置的示意图;
[0021] 图4是本发明实施例中另一种操作系统识别装置的示意图。
【具体实施方式】
[0022] 有鉴于此,本发明提供一种操作系统识别方法和装置,可以先通过依次调用远程 服务器预存的识别模块来识别目标主机当前的操作系统,并获取当前调用的识别模块的识 别结果及识别结果对应的准确值进行判断,当准确值大于等于预设阈值时,则认为该识别 结果非常准确,确定所述识别结果为目标主机当前操作系统的识别结果,并结束调用下一 个识别模块。因此,既可以在识别结果的准确度不高时采用不同的识别模块来保证最终识 别结果的准确度,又可以在识别结果非常准确时,省掉调用其他识别模块的识别过程,减少 了远程服务器的运行负担。
[0023] 本发明实施例提供的一种操作系统识别方法的处理流程如图1所示,该方法应用 于远程服务器,所述远程服务器预存多个识别模块,每个所述识别模块用于识别一种操作 系统,该方法包括:
[0024] 步骤101、从多个识别模块中依次调用一个识别模块;
[0025] 在本实施例中,远程服务器识别目标主机的操作系统可以使用的识别方式包括: TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议 / 因特网互 联协议)协议指纹识别和标识攫取两种方式。
[0026] 其中,TCP/IP协议指纹识别是利用不同操作系统在实现TCP/IP协议时的差别来 识别目标主机的操作系统。所谓差别也称为指纹,是各个厂商在操作系统中实现TCP/IP协 议时由于某些原因,导致遵循的RFC(Request For Comments,请求注解)标准实际略有不 同。常见的TCP/IP协议指纹识别包括:FIN探测;BOGUS标记探测;初始化序列号采样探测; DF (Don't Fragment,不分片)位探测;TCP初始窗口的大小检测;TCP可选项探测;ACK (确 认符)值探测;ICMP (Internet Control Messages Protocol,网间控制报文协议)错误消 息抑制;ICMP错误消息引用;ICMP错误消息回射完整性;T0S(T〇ll Outgoing Switch,长途 去话交换机)服务类型;以及片段处理等方式。
[0027] 标识攫取是指远程服务器通过客户端程序访问目标主机,在和目标主机正常的交 互过程中根据目标主机返回的提示或一些正常的操作判别操作系统类型。常用的标识攫 取法包括:通过HTTP (Hyper Text Transport Protocol,超文本传输协议)服务识别;通 过SSH(Secure Shell,安全外壳协议)服务识别;通过FTP(File Transfer Protocol,文件 传输协议)服务识别;通过SNMP (Simple Network Management Protocol,简单网络管理协 议)服务识别;通过 samba(免费软件)/MSRPC(Microsoft Remote Procedure Call,远程 过程调用)服务识别等方式。
[0028] 在本实施例中,该远程服务器可以存储上述识别方式中的多种识别方式,这些识 别方式可以是保存在远程服务器内存中的程序,因此可以在逻辑上将不同的识别方式划分 为不同的识别模块,即每一种识别方式对应为一个识别模块。远程服务器可以根据管理员 的设置或者是随机的调用上述识别模块进行识别。
[0029] 步骤102、通过调用的识别模块识别目标主机当前的操作系统,获取所述调用的识 别模块的识别结果及识别结果对应的准确值;
[0030] 考虑到目标主机可能包括一个或多个操作系统,本实施例中可以对目标主机当前 运行的操作系统进行识别。操作系统的识别过程因调用的识别模块不同而有不同的操作, 此处不做具体限制。
[0031] 由于上述识别模块在识别目标主机当前的操作系统过程中,所述目标主机不同的 运行状态可以导致识别模块获取的识别结果有所差异,因此本实施例的识别模块进行识别 的过程中,通常根据识别过程中目标主机的运行状态,并按照该识别模块相对应的评分策 略,对该识别模块在识别过程中获得的识别结果进行准确值评分。所述评分策略并不固定, 例如在TCP/IP协议指纹识别法中,其识别过程如下:
[0032] TCP/IP协议指纹识别模块通过发送三个包含若干个识别点的报文,然后从目标主 机的响应报文中获取识别点对应字段生成一个指纹,然后将该指纹在预先准备好的指纹库 (包含了不同操作系统对这些识别点所做出的不同响应的组合)中找出最匹配的操作系统 指纹,即操作系统识别结果,并返回该指纹的匹配度。其中影响准确度分值的因素包括:三 个报文的响应结果以及指纹的匹配度。例如,上述的三个报文中,第一个报文必须
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1