远程OS探测中的网络协议栈指纹识别技术_计算机网络论文.docVIP

远程OS探测中的网络协议栈指纹识别技术_计算机网络论文.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
远程OS探测中的网络协议栈指纹识别技术_计算机网络论文 远程OS探测中的网络协议栈指纹识别技术_计算机网络论文 摘要 远程探测计算机系统的OS(操作系统)类型、版本号等信息,是黑客入侵行为的重要步骤,也是网络安全中的一种重要的技术。在探测技术中,有一类是通过网络协议栈指纹来进行的。协议栈指纹是指不同操作系统的网络协议栈存在的细微差别,这些差别可以用来区分不同的操作系统。本文研究和分析了此技术的原理和实践,并提出了防止指纹探测的方法。 关键词 远程OS探测 协议栈指纹 TCP/IP协议 1 引言 探测和识别一个计算机系统在运行什么OS是黑客入侵的重要步骤。如果不知道目标系统在运行什么OS,就很难在目标系统上执行操作,也无法判断是否存在安全漏洞,更谈不上攻击。 从管理和防范的角度来说,如果能减少被探测时泄漏的信息,就减少了黑客入侵行为的信息来源,使其入侵行为变得相当困难。因此,研究这方面的技术,对于提高系统的安全性和抵抗入侵的能力具有重要的意义。 2 简单的OS探测技术 在早期,黑客经常采用一些简单的探测方法来获取目标系统的信息。如通过telnet标题,ftp的标题和STAT命令,通过HTTP服务程序,DNS ,SNMP等都可以得到很多有用信息。 但是,在长期的入侵和防入侵的斗争中,通过简单的手段即可获得的信息越来越少了。管理员努力地减少通过网络泄漏的信息,有时还修改OS的代码,给出虚假的信息。在这种情况下,简单的方法已经很难奏效了,因此出现了通过网络协议栈指纹来识别OS的技术。 3 网络协议栈指纹原理 常用的网络协议是标准的,因而从理论上讲各个操作系统的协议栈应该是相同的。但是,在实践中,各种操作系统的协议栈的实现存在细微的差异。这些差异称作网络协议栈的“指纹”。 对TCP协议族来说,这些差异通常表现在数据包头的标志字段中。如window size、ACK序号、TTL等的不同取值。通过对这些差别进行归纳和总结,可以比较准确地识别出远程系统的OS类型。 由于Internet广泛使用TCP/IP协议族,因此下面的讨论主要围绕TCP/IP来进行。 4 网络协议栈指纹构成 下面列出了不同OS的网络协议栈的差异,这些差异可作为协议栈指纹识别的依据。 1) TTL TTL:Time To Live,即数据包的“存活时间”,表示一个数据包在被丢弃之前可以通过多少跃点(Hop)。不同操作系统的缺省TTL值往往是不同的。 常见操作系统的TTL值: Windows 9x/NT/2000 Intel 128 Digital Unix 4.0 Alpha 60 Linux 2.2.x Intel 64 Netware 4.11 Intel 128 AIX 4.3.x IBM/RS6000 60 Cisco 12.0 2514 255 Solaris 8 Intel/Sparc 64 … 2) DF位 DF(不分段)位识别:不同OS对DF位有不同的处理方式,有些OS设置DF位,有些不设置DF位;还有一些OS在特定场合设置DF位,在其它场合不设置DF位。 3) Window Size Window Size:TCP接收(发送)窗口大小。它决定了接收信息的机器在收到多少数据包后发送ACK包。 特定操作系统的缺省Window Size基本是常数,例如,AIX 用0x3F25,Windows、OpenBSD 、FreeBSD用0x402E。 一般地,UNIX的Window Size较大。MSWindows,路由器,交换机等的较小。 4) ACK 序号 不同的OS处理ACK序号时是不同的。如果发送一个FIN|PSH|URG的数据包到一个关闭的TCP 端口,大多数OS会把回应ACK包的序号设置为发送的包的初始序号,而Windows 和一些打印机则会发送序号为初始序号加1的ACK包。 5) ICMP地址屏蔽请求 对于ICMP地址屏蔽请求,有些OS会产生相应的应答,有些则不会。会产生应答的系统有OpenVMS, MSWindows, SUN Solaris等。在这些产生应答的系统中,对分片ICMP地址屏蔽请求的应答又存在差别,可以做进一步的区分。 6) 对FIN包的响应 发送一个只有FIN标志位的TCP数据包给一个打开的端口,Linux等系统不响应;有些系统,例如 MS Windows, CISCO, HP/UX等,发回一个RESET。 7) 虚假标记的SYN包 在SYN包的TCP头里设置一个未定义的TCP 标记,目标系统在响应时,有的会保持这个标记,有的不保持。还有一些系统在收到这样的包的时候会复位连接。 8) ISN (初始化序列号) 不同的OS在选择TCP ISN时采用不同的方法。一些UNIX系统采用传统的64K递增方法,较新的Solaris,I

您可能关注的文档

文档评论(0)

wyj199218 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档