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

文档序号:9754683阅读:来源:国知局
要收到响 应,否则无法继续后面的识别进程,第二个报文和第三个报文的响应结果对识别结果准确 度的影响递减,甚至不是必须要收到响应。
[0033] 对于TCP/IP协议指纹识别模块的评分过程如图2所示,其中包括:
[0034] 步骤201、识别开始,分值初始值为100分;
[0035] 步骤202、发送第一个报文,判断是否收到响应;若是则转步骤203 ;否则重复该步 骤,每次重复时分值减3 ;当该步骤重复三次后仍未收到响应时,分值为0,识别结束;
[0036] 步骤203、发送第二个报文,判断是否收到响应;若是则转步骤204 ;否则重复该步 骤,每次重复时分值减2,当该步骤重复三次后仍未收到响应时,转步骤204 ;
[0037] 步骤204、发送第三个报文,判断是否收到响应;若是则转步骤205 ;否则重复该步 骤,每次重复时分值减1,当该步骤重复三次后仍未收到响应时,转步骤205 ;
[0038] 步骤205、将获得的指纹在指纹库中进行匹配,若有匹配结果,则转步骤206 ;若无 匹配结果,则分值为0,识别结束;
[0039] 步骤206、获取匹配结果对应的匹配度(匹配度为百分比制,如90% );
[0040] 步骤207、计算准确值,其中准确值=剩余分值*匹配度;
[0041] 步骤208、识别结束。
[0042] 假设,通过上述识别模块识别目标主机的操作系统时,第一个报文发送第二次后 收到响应,第二个报文发送第一次后收到响应,第三个报文发送第三次后收到响应,最后获 得的指纹对应的匹配度为90%,则按照上述计算方法得到在该识别模块下的识别结果对应 的准确值为:
[0043] 准确值=(100-3-1-1) *90%= 95*90%= 85. 5 分;
[0044] 由此可见,即使是调用相同的识别模块识别不同状态下的同一目标主机,其获得 的识别结果对应的准确值也可以有所不同。
[0045] 当然还有一些相对简单的评分策略,比如,HTTP服务识别模块的识别过程可以包 括两个步骤:一是获取web (网页)服务器的版本信息;二是根据所获取的服务器版本信息 来判断其操作系统版本信息。因此,HTTP服务识别模块的准确值评分策略也比较简单,只 要能获取到识别结果就可以得到一个固定的准确值。这个准确值主要是体现识别模块本身 的准确性,以HTTP服务识别模块来说,若该模块的准确值设为85分,那么若识别到操作系 统,准确值就是85分,否则就是0分。
[0046] 当然还有很多识别模块对应的不同评分策略,此处不再一一赘述。在本实施例中, 需要说明的是,若有些识别模块本身没有对应的评分策略,则管理员可以根据其识别原理, 仿照类似的识别模块的评分策略设置一个针对该识别模块的评分策略。
[0047] 根据上述方法,远程服务器可以选取的识别模块对应的评分策略可以获得当前调 用的识别模块所识别的目标主机当前操作系统的识别结果(如Windows 5. 0系统),以及识 别结果对应的准确值(如91分)。
[0048] 步骤103、将所述准确值与预设的第一阈值进行比较;
[0049] 管理员可以预先为准确值设置第一阈值,该阈值在0到100分之间,通常是通过多 次测试总结出的一个符合普遍准确度要求的经验值,例如98分。当然,该第一阈值也可以 根据用户对安全等级的要求而进行调整。本发明的远程服务器可以将使用当前识别模块获 得的识别结果对应的准确值与所述第一阈值进行比较,通过比较结果确定识别结果。
[0050] 步骤104、当所述准确值大于等于所述第一阈值时,确定所述准确值对应的识别结 果为所述目标主机当前操作系统的识别结果,并结束调用下一个识别模块。
[0051] 当调用的识别模块获得的识别结果对应的准确值大于等于所述第一阈值时,如准 确值为99分,大于第一阈值(98分)时,说明该识别结果非常准确,因此可以将所述识别结 果作为目标主机当前操作系统的识别结果,然后结束识别。在本实施例中,若原本设置了 十个识别模块对目标主机的操作系统进行识别,当调用第一个识别模块获得的识别结果的 准确值就大于等于所述第一阈值时,则可以确定所述第一个识别模块的识别结果为目标主 机当前的操作系统,此时可以不再调用剩余的九个识别模块对目标主机的操作系统进行识 别。
[0052] 由此可见,本发明可以先通过依次调用远程服务器预存的识别模块来识别目标主 机当前的操作系统,并获取当前调用的识别模块的识别结果及识别结果对应的准确值进行 判断,当准确值大于等于预设阈值时,则认为该识别结果非常准确,并确定该识别结果为目 标主机当前操作系统的识别结果,并结束调用下一个识别模块。因此,既可以在识别结果的 准确度不高时采用不同的识别模块来保证最终识别结果的准确度,又可以在识别结果非常 准确时,省掉调用其他识别模块的识别过程,减少了远程服务器的运行负担。
[0053] 在前述实施例中,当所获得的识别结果对应的准确值小于所述第一阈值时,远程 服务器可以继续调用下一个识别模块重复步骤101至104对目标主机当前的操作系统进行 识别,直到有大于等于所述第一阈值的准确值时,就确定所述准确值对应的识别结果作为 目标主机当前操作系统的识别结果,然后结束调用下一个识别模块。
[0054] 然而,当远程服务器调用了其预存的所有识别模块进行操作系统识别后,得到的 准确值小于所述第一阈值时,可以说明本实施中所有识别模块得到的识别结果的准确值都 不够理想,于是可以将所有的准确值与预设的第二阈值进行比较,以确定操作系统的识别 结果。其中所述第二阈值小于所述第一阈值,若参照上述示例中第一阈值为98分,则第二 阈值可以设置为90分。通过比较准确值与第二阈值,筛选出大于等于所述第二阈值的准确 值,然后在这些筛选出的大于等于所述第二阈值的准确值中,选取最高的准确值对应的识 别结果作为该目标主机当前操作系统的识别结果。例如一共使用了 6个识别模块对目标主 机当前的操作系统进行识别,其识别结果以及对应的准确值如表1所示:
[0055]
[0056] 表 1
[0057] 其中,OS (Operating System,操作系统)代表操作系统,0S01到0S06是识别出的 六个操作系统识别结果。以第二阈值为90分为例,将上表中的准确值与第二阈值比较可 知,识别结果0S01、0S02、0S03对应的准确值满足条件(大于等于90分),然后再从这三个 满足条件的识别结果中,选出准确值最高的一个识别结果,显然0S01的准确值是最高的, 那么就确定所述0S01为目标主机当前的操作系统。
[0058] 在前述实施例中,当所有识别结果的准确值小于所述第二阈值时,在本发明优选 的实施例中,还可以将准确值与预设的第三阈值进行比较,第三阈值小于所述第二阈值,例 如将第三阈值设置为50分;然后将大于等于所述第三阈值的准确值按照预设算法进行计 算,以便通过计算筛选出识别结果中可信度较高的识别结果。在可选的实施例中,所述预设 算法原理是对具有相同识别结果的准确值取平均值。举例来说,假设测得6个识别结果,所 述6个识别结果均大于所述第三阈值,如表2所示:
[0059]
[0060] 表 2
[0061] 根据上表可知,上述的6个识别结果中,共分两种,即0S01和0S02。其中,识别结果 0S01共出现两次,其中一次准确值较高(为88分),另一次则较低(为54分)。若按照选 取最高分的原则,那么0S01便是最终的识别结果,然而0S01的可信度可能不是相对最高, 因此在本发明优选的实施例中,可以将某操作系统的准确值之和除以该操作系统的出现次 数,即0S01的平均分值=(88+54)/2 = 71分;而0S02的平均分值=(84+82+78+76)/4 = 80分;通过对准确值进行平均计算后可知,0S02的平均分值高于0S01的平均分值,因此说 明0S02的可信度较高,则可以将识别结果0S02作为该目标主机操作系统的识别结果。因 此采用上述方式可以进一步提高识别结果的准确度。
[0062] 在本发明可选的实施例中,当出现两个或多个识别结果的准确值分数相同 时,可以先对操作系统的识别结果尝试进行归纳。所述归纳是以同一操作系统的不 同小版本来进行的,例如:识别结果Microsoft Windows7Home Edition和Microsoft Windows7Enterprise Edition 可归纳为 Microsoft Windows7 ;识别结果 Microsoft Windows7Home Edition 和 Microsoft Windows XP Enterprise Edition 可归纳为 Microsoft Win
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1