(计算机科学与技术专业论文)基于支持向量机的操作系统识别方法.pdf_第1页
(计算机科学与技术专业论文)基于支持向量机的操作系统识别方法.pdf_第2页
(计算机科学与技术专业论文)基于支持向量机的操作系统识别方法.pdf_第3页
(计算机科学与技术专业论文)基于支持向量机的操作系统识别方法.pdf_第4页
(计算机科学与技术专业论文)基于支持向量机的操作系统识别方法.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机科学与技术专业论文)基于支持向量机的操作系统识别方法.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国防科学技术大学研究生院硕十学位论文 摘要 操作系统识别作为网络安全评估的关键技术之一,在网络安全威胁和风险日 益加剧的形势下,其研究具有非常重要的意义。 当前主流的操作系统识别技术难以识别未知指纹所对应的操作系统,并且其 指纹包含繁多的数据项,增加了指纹获取的难度。本文针对操作系统未知指纹识 别和指纹精简问题展开研究,主要的工作包括:首先,提出了基于支持向量机 ( s v m ) 的操作系统识别及版本识别方法,给出了n m a p 指纹的向量化算法,并 通过实验证明上述方法能够以较高的精确度识别包括未知指纹在内的目标指纹所 对应的操作系统;其次,利用特征选择方法对冗余特征进行精简,通过分析特征 选择后的子向量与操作系统识别精度的关系,在提高或基本不降低识别精度的基 础上,不同程度上大幅缩减了n m a p 指纹向量的维数;最后,提出了利用指纹向 量特征选择结果倒推指纹数据项的指纹精简方法,并使用该方法完成了对n m a p 指纹的精简,在提高识别精度的基础上大幅减少了n m a p 指纹数据项的数量。 主题词:操作系统指纹识别,支持向量机,特征选择,指纹精简 第i 页 国防科学技术大学研究生院硕士学何论文 a b s t r a c t a st h ep r o b l e mo fn e t w o r kt r e a ti sg e t t i n gw o r s e ,i tm a k e sg r e a ts e n s et os t u d yt h e m e t h o do fo p e r a t i o ns y s t e mr e c o g n i t i o n , w h i c hi sak e yp a r to fn e t w o r ks e c u r i t y e v a l u a t i o n i t sd i f f i c u l tf o rt h ec o m m o np o p u l a ro p e r a t i o ns y s t e mr e c o g n i t i o nt e c h n i q u et o r e c o g n i z et h eo p e r a t i o ns y s t e m sw i t hu n k n o w l lf i n g e r p r i n t n l ec o m p l e xf i n g e r p r i n t w i t hm a n yd a t ai t e m sa l s om a k e si tm o r ed i f f i c u l tt og e tt h en e e d e df i n g e r p r i n t t h i s t h e s i ss t u d i e st h ep r o b l e mo fr e c o g n i z i n gu l l k l o w 1f i n g e r p r i n ta sw e l la st h ec h a l l e n g e o ff i n g e r p r i n ts i m p l i f i c a t i o n ;t h em a i nw o r ki n c l u d e st h r e ea s p e c t s f i r s t ,t h i st h e s i s p r o p o s e sam e t h o dt or e c o g n i z eo p e r a t i o ns y s t e m sa n dt h e f te d i t i o n sb a s e do ns u p p o r t v e c t o rm a c h i n e n l ea l g o r i t h mo ft u r n i n gn m a pf i n g e r p r i n t si n t ov e c t o r si sa l s o p r e s e n t e d e x p e r i m e n t ss h o wt h a tt h i sm e t h o dc a l lr e c o g n i z et h et a r g e to p e r a t i o ns y s t e m 晰t h1 l i g ha c c u r a c y ,i n c l u d i n gt h o s ew i t hu n k n o w nf i n g e r p r i n t s s e c o n d ,t h i st h e s i su s e s t h ew a yo ff e a t u r es e l e c t i o nt or e m o v er e d u n d a n tf e a t u r e s t h r o u g ha n a l y z i n gt h e r e l m i o nb e t w e e nt h er e s u l t so ff e a t u r es e l e c t i o na n dt h ea c c u r a c yo fo p e r a t i o ns y s t e m r e c o g n i t i o n ,w em a n a g e dt og r e a t l yr e d u c et h ed i m e n s i o no fn m a pf i n g e r p r i n tv e c t o ra t d i f f e r e n td e g r e e so nt h eb a s i so fi m p r o v i n gt h ea c c u r a c yo fr e c o g n i t i o no ra tl e a s tn o t g r e a t l yr e d u c i n g i t i nt h ee n d ,t h i st h e s i s p r o p o s e s am e t h o do ff i n g e r p r i n t s i m p l i f i c a t i o nu s i n gt h er e s u l to ff i n g e r p r i n tv e c t o rf e a t u r es e l e c t i o nt or e v e r s e l yg e t f i n g e r p r i n td a t ai t e m s w i t ht h i sm e t h o d ,w em a n a g e d t os i m p l i f yn m a pf i n g e r p r i n t t h en u m b e ro fn m a pf i n g e r p r i n td a t ai t e m si sg r e a t l yr e d u c e dw h i l et h ea c c u r a c yo fo s r e c o g n i t i o ni si m p r o v e d k e yw o r d s :o p e r a t i o ns y s t e mf i n g e r p r i n tr e c o g n i t i o n ,s v m ,f e a t u r es e l e c t i o n , f i n g e r p r i n ts i m p l i f i c a t i o n 第i i 页 国防科学技术大学研究生院硕十学位论文 表2 1 表2 2 表2 3 表3 1 表3 2 表3 3 表3 4 表3 5 表3 6 表3 7 表3 8 表3 9 表3 i o 表3 1 1 表3 1 2 表3 1 3 表3 1 4 表3 1 5 表3 1 6 表3 1 7 表3 1 8 表3 1 9 表 表 表 表 2 0 2 1 2 2 2 3 表3 2 4 表3 2 5 表3 2 6 表4 1 表4 2 表目录 n m a p 指纹中的操作符1 0 o p s 行中的t c p 选项一1 1 n m a p 指纹库的t l 行f 项的取值和意义1 2 指纹向量化示例l8 类别c j 测试结果关联表1 9 指纹样本数量2 3 三重交叉验证结果2 3 模拟后的n m a p 4 7 6 指纹样本数量2 3 模拟后的n m a p 4 7 6 三重交叉验证结果2 3 模拟后的n m a p 4 9 0 r c 指纹样本数量2 4 模拟后的n m a p 4 9 0 r c 三重交叉验证结果2 4 未知指纹识别实验样本数量2 5 未知指纹识别实验结果2 5 模拟后的未知指纹识别实验指纹样本数量2 6 模拟后的未知指纹识别实验结果2 6 w i n d o w s 等六类操作系统的具体版本2 7 w i n d o w s 各版本样本数量一2 9 w i n d o w s 系统版本识别三重交叉验证结果2 9 l i n u x 各版本样本数量。2 9 l i n u x 系统版本识别三重交叉验证结果。3 0 f r e e b s d 各版本样本数量一3 0 f r e e b s d 系统版本识别三重交叉验证结果3 0 o p e n b s d 各版本样本数量3 l o p e n b s d 系统版本识别三重交叉验证结果3 1 a p p l em a co s 各版本样本数量。3 1 a p p l em a co s 系统版本识别三重交叉验证结果3 2 s u ns o l a r i s 各版本样本数量3 2 s u ns o l a r i s 系统版本识别三重交叉验证结果3 2 六类操作系统的版本识别宏平均与微平均f l 值3 3 最小特征数和最优特征数一4 2 不同特征子集的操作系统识别效果4 3 第l i i 页 国防科学技术大学研究生院硕十学何论文 表 表 表 表 n m a p 原始指纹各j j 二的数据项一一4 7 n m a p 最小精简指纹各行的数据项一4 7 n m a p 最优精简指纹各行的数据项一一一4 8 三类向量的三重交叉验证结果4 9 第1 v 页 国防科学技术大学研究生院硕士学位论文 图2 1 图2 2 图3 1 图3 2 图4 1 图4 2 图4 3 图4 4 图4 5 图4 6 图4 7 图4 8 图4 9 图4 1 0 图5 1 图目录 l i n u x 2 6 17 2 6 2 0 在n m a p 指纹库中的指纹9 n m a p 指纹评分13 正例与反例间的最大间隙分隔面1 5 基于s v m 的操作系统识别系统模型1 9 特征选择的过程3 6 s v m 对w i n d o w s 系统的识别效果与特征数的关系3 8 s v m 对l i n u x 系统的识别效果与特征数的关系。3 9 s v m 对f r e e b s d 系统的识别效果与特征数的关系3 9 s v m 对o p e n b s d 系统的识别效果与特征数的关系3 9 s v m 对a p p l em a co s 系统的识别效果与特征数的关系4 0 s v m 对s u ns o l a r i s 系统的识别效果与特征数的关系4 0 s v m 对c i s c o 系统的识别效果与特征数的关系4 l s v m 对o t h e rs y s t e m s 的识别效果与特征数的关系4 1 s v m 对八类系统的平均识别效果与特征数的关系4 2 基于特征选择结果的操作系统指纹精简过程4 6 第v 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意 学位论文作者签名: 鸳塾鱼 日期: 砷年,二月珞日 学位论文版权使用授权书 本入完全了解国防科学技术大学有关保留、使用学位论文的规定本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文 ( 保密学位论文在解密后适用本授权书。) 学位论文作者签名: 聱塑鱼 作者指导教师签名:盘查生 日期:岬年7 z 月刁日 日期:1 年,2 月枷 国防科学技术大学研究生院硕七学位论文 第一章绪论弟一早三百了匕 1 1 研究背景与意义 二十一世纪是计算机与网络的时代,计算机与网络的普及给人们的日常生活 和工作带来了极大的方便,人们的工作、学习和生活方式不断发生变化,效率日 益提高,信息资源得到了最大程度的共享。然而,随着计算机与网络的迅速发展, 网络安全问题日渐突出,已经成为亟待解决的焦点问题【1 5 l 。 网络信息系统具有脆弱性、易受攻击性和开放性,网络攻击活动正在形成重 大威胁【6 】。从国内情况来看,目前我国9 5 与互联网相关的网络管理中心都遭受 过网络攻击或侵入,其中银行、金融和证券机构是攻击的重点【_ 7 1 。大多的网络攻击 都是利用操作系统和应用软件的各种漏洞,从互联网的兴起开始至今,网络攻击 事件不断,并且呈日趋严重的发展态势【8 1 。攻击的目标也开始转向整个互联网,由 此造成的经济损失也在逐年增加。网络攻击行为已经给互联网乃至人类社会造成 了严重的威胁p 1 。 远程系统所运行的操作系统类型及版本对网络攻击者来说是非常有用的信 息,一方面某些版本的操作系统存在众所周知的安全漏洞,攻击者在知道了操作 系统的版本后就可能找到攻击的切入点。另一方面操作系统信息对于漏洞的利用 有着极大的影响。现实的情况是即使是同一个安全漏洞,对不同版本的操作系统 在利用的细节上也存在着差别,而这些细微的差别直接影响攻击的成败,攻击者 必须根据具体的操作系统版本调整攻击的方法和漏洞利用工具的参数【1 2 】。 研究操作系统远程识别技术对于网络安全具有重要意义。一方面,要想保护 信息系统免受或少受攻击者的危害,就必须掌握攻击者所惯用的操作系统识别技 术,目前,攻击者所具有的操作系统识别能力日益增强、手段更加多样,这就要 求我们必须深入研究最新的操作系统识别技术,确保技术和经验不落后于攻击者。 另一方面,目前,网络安全评估系统已经成为一种广泛使用的网络安全防护手段, 而操作系统识别技术正是网络安全评估的关键技术之一,具有很高的研究和应用 价值。 1 2 国内外研究现状及挑战 1 2 1经典的操作系统识别技术及其不足 自2 0 世纪九十年代起,经过多年的发展,操作系统识别技术已经比较成熟。 出现了一批经典的操作系统识别工具,如n m a p 、x p r o b e 、s i n f p 等。这些工具各 第1 页 国防科学技术大学研究生院硕十学何论文 _a - - - - t - - - - ww 一- - - - - - - - - - t 自维持一个记录各种操作系统7 i c p i p 协议栈特征的操作系统指纹库,用以识别各 种操作系统。n m a p 作为这些工具中的佼佼者,具有非常强大的功能和相当高的探 测精度,能够对操作系统进行精确的识别1 1 3 】。这种依托指纹库进行识别的操作系 统远程识别方法的具体工作过程如下【1 4 j : ( 1 ) 向目标系统发送精心构造的探测包,接收目标操作系统的回应包,从中提 取目标操作系统的指纹信息。如果是被动探测工具,则依靠被动监听网络 中的数据来提取目标操作系统指纹信息。 ( 2 ) 按照一定的算法将得到的目标系统指纹信息与指纹库中存储的信息进行 匹配和比较,如果匹配成功,则目标操作系统识别成功。 ( 3 ) 如果在指纹库中找不到匹配项,则识别失败。 这种构建指纹库来记录各种操作系统t c p i p 协议栈特征的方法虽然具有识别 精度高、可扩展性好等优点,但也有其明显的缺陷:即对于某一个目标操作系统 的指纹,如果指纹库中没有记录,则无法进行识别。当j j 的解决方法是一旦遇到 指纹库中没有的操作系统指纹,如果探测工具的使用者知道目标操作系统的类型, 就由该使用者将此未知的指纹和对应的操作系统类型提交给探测工具的管理员, 由管理员将此未知指纹加入指纹库,从而使指纹库获得对此未知指纹的识别能力。 随着系统和设备更新速度的日益加快,这种方法是无法从根本上解决问题的。 以n m a p 为例,2 0 0 8 年1 1 月发布的n m a p 4 7 6 的操作系统指纹库中包含了1 5 0 3 条指纹,而2 0 0 9 年7 月发布的n m a p 4 9 0 r c l 的操作系统指纹库中的指纹数量则 达到了2 0 0 3 条,增加了近四分之一。而且n m a p 4 9 0 r c l 对一些系统的指纹数据 进行了调整,使得n m a p 4 9 0 r c l 相对于l , l m a p 4 7 6 有1 0 2 3 条不同的操作系统指纹。 这1 0 2 3 条不同的指纹对于n m a p 7 6 来说,是难以识别的未知指纹。 更为严重的是,随着操作系统反识别技术的发展,反识别系统能够在不对 t c p i p 协议效率带来显著影响的条件下对出站流量的t c p i p 协议栈特征进行修 改,从而迷惑操作系统探测工具,使得目标系统对于探测工具而言具有未知的指 纹【1 5 1 。这就使得未知指纹出现的可能性大大增加,从而对上述解决方案提出了更 大的挑战。最终可能使其不堪重负。 于此同时,n m a p 等工具在全世界范围内的广泛使用使得安全设备生产厂商开 始把n m a p 的扫描特征加入到自己的安全设备里,从而使得基于n m a p 等著名工具 的扫描活动很容易被防火墙阻断或引发i d s 报警【l6 | 。而n m a p 等工具所要求获得 的目标系统指纹包含较多的数据项,这就使得获取指纹的难度比较大,如何在不 降低操作系统识别精度的前提下精简指纹,降低指纹的数据项,成为一个亟待解 决的问题。 第2 页 国防科学技术大学研究生院硕十学位论文 1 2 2 当前改进的未知指纹识别技术及其不足 为解决当前经典的基于指纹库的操作系统识别技术难以识别未知指纹的问 题,a l l i s o n 等人提出了一种利用n m a p 指纹库构建自组织神经网络得出操作系统 上下文关系图的方法【1 7 】。该方法能够根据未知指纹在上下文关系图中的位黄,为 判断未知指纹所对应的操作系统提供帮助。但该方法所得到的上下文关系图仅能 直观上给出未知指纹在图中的位置,很难依据未知指纹在图中的位置确定未知指 纹所属的操作系统,并且该方法在对n m a p 指纹库进行向量化时,没有考虑指纹 中各数据项在操作系统识别能力上的差异,得出的上下文关系图中不同操作系统 之间没有足够明显的界限,进一步增加了依据未知指纹在图中的位置确定未知指 纹所属操作系统的难度。 1 2 3 当前操作系统指纹精简技术及其不足 为解决n m a p 等扫描工具扫描流量较大、扫描数据包特征明显的问题,l l o y d 例 等人提出了一种计算n m a p 指纹各数据项的i n f o r m a t i o ng a i n ( i g ) t 1 8 0 9 1 的方法。该 方法通过计算n m a p 指纹的各个数据项各自的i g 值来衡量这些数据项在操作系统 指纹识别能力上的强弱,数据项i g 值越高,则说明其指纹识别能力越强。该文章 通过计算找到了n m a p 指纹的一个子集,并证明使用该子集能够得到与n m a p 相当 的操作系统识别能力。然而,该文章作者l l o y d 等指出,基于i g 的方法存在一个 重要的弱点【2 0 j :即如果某一数据项具有很多可能的取值,则基于i g 的技术倾向于 给该数据项赋予一个过大的i g 值。 1 3 本文的主要研究内容 本文围绕操作系统指纹识别这一主题,分析了当前主流的基于指纹库的操作 系统识别技术存在的难以识别未知指纹的问题,以及n m a p 等主流识别工具指纹 繁杂,指纹数据获取难度大等问题,指出了这些问题存在的根源并给出了相应的 解决方案。本文提出了基于支持向量机的操作系统识别方法及其版本识别方法, 解决了识别未知指纹的难题;本文将特征选择技术应用于操作系统识别,利用特 征选择结果倒推操作系统指纹数据项,从而精简操作系统指纹,改变操作系统识 别探测包的扫描特征,减少探测包数量,并能一定程度提高识别精度。论文的主 要工作有: ( 1 ) 提出了基于支持向量机的操作系统识别及其版本识别方法。针对基于指纹 库的操作系统识别技术难以识别未知指纹所对应操作系统的问题,本文从 另一个角度出发,通过对n m a p 指纹库进行建模和转换,使用支持向量机 第3 页 国防科学技术大学研究生院硕士学位论文 技术对操作系统指纹进行分类,从而识别指纹所对应的操作系统。本文通 过实验证明该方法能够以较高的准确率识别未知指纹所对应的操作系统 类型及其具体版本。 ( 2 ) 提出了n m a p 指纹库向量化算法及权重计算方法。本文给出了一种将 n m a p 指纹库高效地转化为支持向量机输入向量的算法,并使用蒙特卡洛 模拟解决了转化后的指纹样本数量不足、分布不均的问题。依据n m a p 的 指纹评分,本文给出了指纹向量的初始权重计算方法,提高了分类性能。 ( 3 ) 利用特征选择【2 1 1 方法提升操作系统识别性能。本文通过对指纹向量进行特 征选择,分析特征维度与操作系统识别精度的关系,得到了最小特征子集 和最优特征子集,极大的降低了计算复杂度,并提高了识别精度。最小特 征子集具有与完整数据集大致相当的操作系统识别能力而特征维度仅为 其六分之一左右,而最优特征子集则具备比完整数据集更强的操作系统识 别能力,且特征维度不到完整数据集的一半。 ( 4 ) 提出了利用特征选择的结果倒推指纹数据项的指纹精简方法,并使用该方 法完成了n m a p 指纹精简。当前n m a p 等操作系统识别工具所要求的操作 系统指纹包含许多数据项。而指纹数据项越多,从目标系统获取指纹就越 困难,繁多的数据项给指纹获取带来了较大的难度。本文提出了利用特征 选择的结果倒推指纹数据项的指纹精简方法,并使用该方法完成了对 n m a p 指纹的精简,得到了最小精简指纹和最优精简指纹,大大减少了指 纹所包含的数据项。其中最优精简指纹还具有比n m a p 原始指纹更高的操 作系统识别能力。 1 4 论文结构 全文的主体内容共分五章,各章的内容安排如下: 第一章为绪论,主要介绍论文的研究背景和研究意义,以及当前操作系统识 别技术的研究现状及存在的主要不足和挑战,最后阐述本文的主要工作。 第二章对n m a p 的操作系统识别技术进行了详细阐述。分析了n m a p 进行操作 系统识别所发送的探测包的详细情况,介绍了n m a p 指纹库的格式和意义以及指 纹评分,并阐述了n m a p 的操作系统指纹匹配算法。 第三章提出了基于支持向量机的操作系统识别方法及其版本识别方法,并通 过实验对方法的性能进行了验证。在对支持向量机技术进行阐述的基础上,提出 了基于支持向量机的操作系统识别方法,给出了n m a p 格式的指纹向量化算法以 及s v m 输入向量的初始权重计算方法,给出了识别系统的模型并进行了详尽的实 验与分析。同时给出了基于支持向量机的操作系统版本识别方法并通过实验对版 第4 页 国防科学技术大学研究生院硕十学位论文 本谚 别的性能进行了分析。 第四章提出了利用特征选择提升操作系统识别性能的方法。通过对n m a p 指 纹向量进行特征选择,找出了最小特征子集和最优特征子集,大大减少了指纹向 量的维度。实验证明最小特征子集具有与完整数据集大致相当的操作系统识别能 力,而最优特征子集则具有比原始数据集更强的操作系统识别能力。 第五章提出了利用特征选择的结果实现操作系统指纹精简的方法,使用最小 特征子集和最优特征子集倒推指纹数据项,得到最小精简指纹和最优精简指纹, 最小精简指纹的数据项仅为原始指纹的三份之一,而操作系统识别能力仅略差于 原始指纹;最优精简指纹的数据项约为原始指纹的三分之二,却具有优于原始指 纹的操作系统识别能力。 第5 页 国防科学技术大学研究生院硕十学位论文 第二章n m a p 操作系统识别技术 n m a pm e 咖r km a p p e r ) 是由f y o d o r 等人开发的一款开源的网络探测和安全审 核工具,十余年来,在f y o d o r 及众多开源技术人员的共同努力下,n m a p 已经成 为世界上功能最为强大的操作系统识别工具之【2 2 - 2 4 。尤其在2 0 0 6 年f y o d o r 在 n m a p 中采用了第二代操作系统识别技术后,n m a p 具有了更加强大的操作系统识 别能力,代表了当前基于指纹库的操作系统识别技术的发展方向。当前,n m a p 已 经具有非常先进和完善的操作系统指纹数据库。 作为一种主动的操作系统探测工具,n m a p 通过向目标系统发送精心构造的探 测包来获取目标系统的回应,并从回应包中提取目标系统的指纹信息,构造出一 条完整的目标系统指纹,然后将这条指纹与指纹库中的指纹进行比较,计算该指 纹的得分,当得分超过一个阀值时,则认为识别成功,输出识别结果。 2 1 n m a p 操作系统识别探测包 n m a p 完成操作系统探测需要目标主机至少有一个开放端口和一个关闭端口。 为获取目标操作系统的指纹数据,n m a p 向目标主机的一个开放端口和一个关闭端 口发送1 6 个精心构造的探测包。n m a p 收集目标主机的回应包,并从中提取出目 标主机的操作系统指纹。n m a p 提取这些指纹的依据是不同操作系统在实现方面尤 其是t c p i p 协议栈的实现方面的细微差异【2 5 之6 1 。n m a p 所发送的探测包【2 7 】有以下 5 种: ( 1 ) 序列号生成包 n m a p 向目标主机的一个开放端口连续发送六个t c p 包,即p a c k e t 撑1 、p a c k e t 拌2 、p a c k e t 撑3 、p a c k e t 辫、p a c k e t 群5 、p a c k e t 拌6 。这些包俩俩之间的时间间隔恰好 为l1 0 m s ,总共要在5 5 0 毫秒内发送完成。之所以要要求如此精确的时间,是因为 很多序列号生成算法( 如初始化序列号、i pi d 和t c p 时间戳) 都是跟时间严密相关 的,n m a p 希望能够获取目标系统在这些方面的细微特征。每个包都带有s y n 标 志,序列号和确认号都是随机的( 但被保存着用于区分目标系统的回应信息) ,对于 这六个探测包,如果想要获得高度的精确性,那么探测足包必须具有连续性并且 没有任何因负载带来的额外延迟。这些数据包的不同还表现在t c p 选项上以及窗 口域的大小上。以下是这六个探测包的具体内容: p a c k e t 撑1 :w i n d o ws c a l e ( 1 0 ) ,n o p ,m s s ( 1 4 6 0 ) ,t i m e s t a m p ( t s v a l : 0 x f f f f f f f f ;t s e c r :0 ) ,s a c kp e r m i t t e d t h ew i n d o wf i e l di s1 p a c k e t 撑2 :m s s ( 1 4 0 0 ) ,w i n d o ws c a l e ( 0 ) ,s a c kp e r m i t t e d ,t i m e s t a m p ( t s v a l : 0 x f f f f f f f f ;t s e c r :o ) ,e o l t h ew i n d o wf i e l di s6 3 第6 页 国防科学技术大学研究生院硕十学位论文 p a c k e t 撑3 :t i m e s t a r n p ( t s v a l :0 x f f f f f f f f ;t s e c r :0 ) ,n o p ,n o p ,w i n d o w s c a l e ( 5 ) ,n o p ,m s s ( 6 4 0 ) t h ew i n d o wf i e l di s4 p a c k e t 撑4 :s a c kp e r m i t t e d ,t i m e s t a m p ( t s v a l :0 x f f f f f f f f ;t s e c r :o ) ,w i n d o w s c a l e ( 1o ) ,e o l t h ew i n d o wf i e l di s4 p a c k e t 拌5 :m s s ( 5 3 6 ) ,s a c kp e r m i t t e d ,t i m e s t a m p ( t s v a l :0 x f f f f f f f f ;t s e c r : 0 ) ,w i n d o ws c a l e ( 1o ) ,e o l t h ew i n d o wf i e l di s16 p a c k e t 撑6 :m s s ( 2 6 5 ) ,s a c kp e r m i t t e d ,t i m e s t a m p ( t s v a l :0 x f f f f f f f f ;t s e c r : o ) t h ew i n d o w f i e l di s5 1 2 根据目标系统对这六个测试包的回应可以得到四组结果:s e q 、o p s 、w i n 和t 1 。s e q 包含着对目标系统回应包的序列号的分析结果,分别是g c d 、s p 、i s r 、 i p i d 和t s ;o p s 则包含着收到的所有回应包的t c p 选项,分别为o l 到0 6 ,共 六个;w 斟行则包含着回应包的窗口大小,分别为w 1 到w 6 ;t 1 包含着对p a c k e t # 1 的回应包中的指纹信息。它包含r 、d f 、t 、t g 、s 、a 、f 、r d 和q ,由于目标 系统对这六个包的回应r 、d f 、t 、t g 、s 、a 、f 、r d 和q 方面的信息几乎完全 相同,故n m a p 仅保留第一个探测包即p a c k e t # 1 的探测结果。有关这些选项的具 体内容可参见文献【1 3 】。 ( 2 ) 两个i c m pe c h o 探测包 n m a p 在发送上述六个t c p 探测包后,立即向目标主机发送两个i c m pe c h o 请求包,之所以要保持时间上的连续性,是为了确保能够从目标系统的回应包中 获取有用的i pi d 序列号信息。这两个数据包的具体内容如下所示: i c m p # l :i pd f :1 ;t o s :0 ;i pi d :随机;c o d e :9 ( f l i 】使它应该为o ) ;序 列号:2 9 5 ;t y p e :8 ;负载:一个随机的字符重复1 2 0 次。 i c m p # 2 - i pd f :l ;t o s 4 ( i pt o sr e l i a b i l i t y ) ;i pi d :上一个包的i d 加l ;c o d e :0 ;序列号:2 9 6 ;t y p e :8 ;负载:一个随机的字符重复1 5 0 次。 根据目标系统对这两个i c m pe c h o 包的回应可以得到一组结果,n m a p 指纹库 中与这些信息对应的一行为i e 。i e 包括r ,d f i ,t ,t g ,t o s i ,c d ,s i 和d l i 。若目 标系统对两个i c m p 包均有回应,则r 项的取值为y 。t 和c d 的取值仅取决于目 标系统对第一个包的回应,因为在两个回应包中这两项的取值在绝大多数情况下 都是相同的。 ( 3 ) t c p 显式拥塞通知( e c n ) 探测包 t c pe c n 包用于探测目标系统对的t c p 协议栈对显式拥塞通知的支持情况。 e c n 是为改进互联网性能而提出的一种方法,根据r f c3 1 6 8 的规定,它允许路由 器在丢弃数据包之前进行拥塞通告。n m a p 向目标主机的一个开放端1 2 1 发送t c p e c n 包,该包的内容是:在t c p 标志位前两个保留位使用c w r 和e c n 标志;标 志位的u r g 设置为0 ,紧急指针域设置为0 x f 7 f 5 ;序列号为随机数;确认号为o ; 第7 页 国防科学技术大学研究生院硕十学1 奇= 论文 窗口域大小为3 ;t c p 选项的顺序为:w i n d o ws c a l e ( 1 0 ) ,n oo p e r a t i o n ,m s s ( 1 4 6 0 ) , s a c kp e r m i t t e d ,n oo p e r a t i o n ,n oo p e r a t i o n 。如果目标系统返回了数据包,那么 n m a p 提取返回的信息,n m a p 指纹库中与这些信息对应的一行为e c n 。该行包括 r ,d f 、t 、t g 、w 、o 、c c 和q 。 ( 4 ) t c p 系列探测包( t 2 t 7 ) n m a p 向目标系统发送六个探测数据包,分别称为t 2 ,t 3 ,t 4 ,t 5 ,t 6 ,t 7 。 每一个数据包的t c p选项的数值均为( 1 6进制) 0 3 0 3 0 a o l 0 2 0 4 0 1 0 9 0 8 0 a f f f f f f f f o o 0 0 0 0 0 0 0 4 0 2 ,除了t 7 以外其它的每一个t c p 选项中的值为:w i n d o ws c a l e ( 1o ) ,n o p ,m s s ( 2 6 5 ) ,t i m e s t a m p ( t s v a l : 0 x f f f f f f f f ;t s e c r :o ) ,s a c kp e r m i t t e d 。而t 7 使用的w i n d o ws c a l e 为15 而不是 1 0 。这六个数据包的具体内容如下: t 2 :发往目标主机的一个开放端口。其中t c p 空标志;设置i pd f 位;窗口 域为1 2 8 。 t 3 :发往目标主机的一个开放端口。数据包带有s y n 、f i n 、u r g 和p s h 标 志;窗口域为2 5 6 ;不设置i pd f 位。 t 4 :发往目标主机的一个开放端口。带有a c k 标志;设置i pd f 位:窗口域 1 0 2 4 。 t 5 :发往目标主机的一个关闭端口。带有s y n 标志;不设置i pd f 位;窗口 域为3 1 3 3 7 。 t 6 :发往目标主机的一个关闭端口。带有a c k 标志;设置i pd f 位;窗口域 3 2 7 6 8 。 t 7 :发往目标主机的一个关闭端口。带有f i n 、p s h 和u r g 标志;不设置i p d f 位;窗口域为6 5 5 3 5 。 n m a p 收集目标系统对这六个t c p 探测包的回应,从中提取信息,n m a p 指纹 库中与这些信息对应的有六行,分别称为t 2 ,t 3 ,t 4 ,t 5 ,t 6 ,t 7 。每一行的指 纹数据项包括r 、d f 、t 、t g 、w 、s 、a 、f 、o 、r d 和q 。 ( 5 ) 一个u d p 探测包 n m a p 向目标系统的一个关闭端口发送一个精心构造的u d p 数据包。该数据 报带有3 0 0 个重复的字符c ( 0 x 4 3 ) 作为负载;i pi d 值被设为0 x 1 0 4 2 。 如果目标端口没有开放且没有被防火墙阻断的话,目标主机将返回一个i c m p 端口不可达消息,这个消息的数据字段可能包括原始i p 报头和至少8 字节的数据 信息。n m a p 从这个i c m p 数据包中提取信息,n m a p 指纹库中与这些信息对应的 一行为u 1 ,该行包含的指纹数据有:r 、d f 、t 、t g 、t o s 、i p l 、u n 、r i p l 、 r i d 、r i p c k 、r u c k ,r u l 和r u d 。 第8 页 国防科学技术大学研究生院硕士学位论文 2 2 1 n m a p 指纹库 2 2 n m a p 指纹库及指纹评分 n m a p 的指纹库是由n m a p 在多年的发展中从无到有一点点积累起来的。该 指纹库包含了n m a p 已知的操作系统对n m a p 的1 6 个探测包的回应数据包中所包 含的该操作系统的指纹信息,n m a p 据此来完成操作系统识别。n m a p 指纹库是 n m a p 操作系统识别的核心部件。如果我们把n m a p 通过发送探测包所获取的指纹 数据称为实际指纹,那么n m a p 指纹库中的指纹则是由一条或者多条实际指纹复 合而成的,n m a p 把同一种或者同一类操作系统的实际指纹复合成一条指纹保存到 指纹库中,用以识别这一种或一类操作系统。 # c e n t o s4 3l i n u x2 6 1 7 1 l - g r s e c # ls a ts e p1 60 6 :3 9 :0 6e r2 0 0 6i 6 8 6a t h l o ni 3 8 6g n u l i m t x # c e n t o s4 4l i n u x2 6 1 7 1 1 ( c e n t o s4 4 ,x 8 6 。c u s t o lc o m p i l e dk e r n e l ) # l i n u x2 6 2 0 - 1 6 - g e n e r i c # 2s l i ps u ns e p2 31 9 :5 0 :3 9u t c2 0 0 7 i 6 8 6g m j l i n u x f i n g e r p r i n tl i n u x2 6 1 7 2 6 2 0 c l a s sl i n u xl i n u x2 6 x g e n e r a lp u r p o s e s e q ( s p = a 5 - d 5 g c d = 7 i s r = a 7 一d 7 t i = z i i = i t s = u ) o p s ( o i = m 4 0 0 c 0 2 = m 4 0 0 c 0 3 = m 4 0 0 c 0 4 = m 4 0 0 c 0 5 = m 4 0 0 c 0 6 = m 4 0 0 c ) r i n ( w l = 8 0 1 8 w 2 = 8 0 1 8 w 3 = 8 0 1 8 w 4 = 8 0 1 8 w 5 = 8 0 1 8 w 6 = 8 0 1 8 ) e c n ( r = y d f = y t = 4 0 t g = 4 0 w = 8 0 1 8 0 = m 4 0 0 c c c = n 孵) t l ( r = y d f _ y t = 4 0 t g :4 傩s = 0 9 6 ;s + f - a s 豫d = o q = ) t 2 ( r :n ) t 3 ( r = y 9 6 d f - y t = 4 0 t g = 4 0 仁8 0 1 8 蟠娟 + 孵a s 9 6 0 = m 4 0 0 c r d = 嗍睁) t 4 ( r = y d f = y t = 4 0 t g = 4 0 w :o s = a a = z f = r o :r d = o q = ) t 5 ( r = y d f = y t = 4 0 t g = 4 0 骷o s = z a - s + f = a r o 拙d = 0 q = ) t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论