


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、远程 OS 探测中的网络协议栈指纹识别技术 一摘要远程探测计算机系统的OS 操作系统类型、版本号等信息,是黑客入侵行为的重要步骤, 也是网络平安中的一种重要的技术。 在探测技术中, 有一类是通过网络协议栈指纹来 进行的。 协议栈指纹是指不同操作系统的网络协议栈存在的细微差异,这些差异可以用来区分不同的操作系统。 本文研究和分析了此技术的原理和实践, 并提出了防止指纹探测的方法。 关键词远程OS探测协议栈指纹TCP/IP协议1 引言探测和识别一个计算机系统在运行什么OS是黑客入侵的重要步骤。如果不知道目标系统在运行什么OS,就很难在目标系统上执行操作,也无法判断是否存在平安漏洞,更谈不上攻 击。
2、从管理和防范的角度来说, 如果能减少被探测时泄漏的信息, 就减少了黑客入侵行为的信息 来源, 使其入侵行为变得相当困难。 因此,研究这方面的技术,对于提高系统的平安性和抵 抗入侵的能力具有重要的意义。2简单的OS探测技术在早期, 黑客经常采用一些简单的探测方法来获取目标系统的信息。如通过 telnet 标题, ftp的标题和STAT命令,通过HTTP效劳程序,DNS, SNMP等都可以得到很多有用信息。但是, 在长期的入侵和防入侵的斗争中, 通过简单的手段即可获得的信息越来越少了。 管理 员努力地减少通过网络泄漏的信息,有时还修改OS的代码,给出虚假的信息。在这种情况下,简单的方法已经很难奏效
3、了,因此出现了通过网络协议栈指纹来识别OS的技术。3 网络协议栈指纹原理常用的网络协议是标准的, 因而从理论上讲各个操作系统的协议栈应该是相同的。但是, 在实践中,各种操作系统的协议栈的实现存在细微的差异。 这些差异称作网络协议栈的 “指纹。 对TCP协议族来说,这些差异通常表现在数据包头的标志字段中。如windowsize、ACK序号、TTL 等的不同取值。通过对这些差异进行归纳和总结,可以比拟准确地识别出远程系统的OS类型。由于In ternet广泛使用TCP/IP协议族,因此下面的讨论主要围绕TCP/IP来进行。4 网络协议栈指纹构成下面列出了不同 OS的网络协议栈的差异,这些差异可作为
4、协议栈指纹识别的依据。1TTLTTL: TimeToLive,即数据包的 存活时间,表示一个数据包在被丢弃之前可以通过多少跃点 Hop。不同操作系统的缺省 TTL值往往是不同的。常见操作系统的TTL值:Windows9x/NT/2000Intel128DigitalUnix4.0Alpha60Netware4.11Intel128Cisco12.02514255Solaris8Intel/Sparc642DF 位DF 不分段位识别:不同 OS对DF位有不同的处理方式,有些OS设置DF位,有些不设置DF位;还有一些 OS在特定场合设置 DF位,在其它场合不设置 DF位。3WindowSizeWi
5、ndowSize : TCP接收发送窗口大小。它决定了接收信息的机器在收到多少数据包后发送 ACK 包。特定操作系统的缺省 WindowSize根本是常数,例如, AIX用0x3F25, Windows、OpenBSD FreeBSD用 0x402E。一般地,UNIX的WindowSize较大。MSWindows,路由器,交换机等的较小。4ACK序号不同的OS处理ACK序号时是不同的。如果发送一个FIN|PSH|URG的数据包到一个关闭的TCP端口,大多数OS会把回应ACK包的序号设置为发送的包的初始序号,而Windows和一些打印机那么会发送序号为初始序号加1的ACK包。5ICMP地址屏蔽请
6、求对于ICMP地址屏蔽请求,有些 OS会产生相应的应答,有些那么不会。会产生应答的系统有Ope nV MS,MSWi ndows,SUNSolaris等。在这些产生应答的系统中,对分片ICMP地址屏蔽请求的应答又存在差异,可以做进一步的区分。6对FIN包的响应发送一个只有FIN标志位的TCP数据包给一个翻开的端口,Linux等系统不响应;有些系统,例如 MSWindows,CISCO,HP/UX等,发回一个 RESET7虚假标记的SYN包在SYN包的TCP头里设置一个未定义的 TCP标记,目标系统在响应时,有的会保持这个标 记,有的不保持。还有一些系统在收到这样的包的时候会复位连接。8ISN初
7、始化序列号不同的OS在选择TCPISN时采用不同的方法。一些UNIX系统采用传统的64K递增方法,较新的 Solaris,IRIX,FreeBSD,DigitalUnix,Cray等系统采用随机增量的方法;Linux2.0,OpenVMS,AIX等系统采用真随机方法。 Windows 系统采用一种时间相关的模型。还有一些系统使用常数。如, 3Com 集线器使用 0x803, AppleLaserWriter 打印机使用 0xC7001。9ICMP错误信息在发送ICMP错误信息时,不同的 OS有不同的行为。RFC1812建议限制各种错误信息的发 送率。有的OS做了限制,而有的没做。10ICMP
8、消息引用RFC规定ICMP错误消息可以引用一局部引起错误的源消息。在处理端口不可达消息时,大多数OS送回IP请求头外加8字节。Solaris送回的稍多,Linux更多。有些 OS 会把引起错误消息的头做一些改动再发回来。例如,FreeBSD, OpenBSD, ULTRIX,VAXen等会改变头的ID。这种方法功能很强,甚至可以在目标主机没有翻开任何监听端口的情况下就识别出Linux和Solaris。11TOS效劳类型对于ICMP端口不可达消息,送回包的效劳类型TOS值也是有差异的。大多数 OS是0,而Linux 是 0xc0。12分段重组处理在做IP包的分段重组时, 不同OS的处理方式不同。
9、 有些OS会用新IP段覆盖旧的IP段,而 有些会用旧的IP段覆盖新的IP段。13MSS最大分段尺寸不同的OS有不同的缺省 MSS值,对不同的 MSS值的回应也不同。如,给Linux发送一个MSS值很小的包,它一般会把这个值原封不动地返回;其它的系统会返回不同的值。14) SYNFIood 限度在处理SYNFIood的时候,不同的OS有不同的特点。如果短时间内收到很多的伪造SYN包,一些OS会停止接受新的连接。有的系统支持扩展的方式来防止SYNflood。1 5)主机使用的端口一些OS会开放特殊的端口,比方: WINDOWS的137、139,WIN2K的445些网络设备, 如入侵检测系统、防火墙
10、等也开放自己特殊的端口。16) TeInet 选项指纹建立 TeInet 会话时, Socket 连接完成后,会收到 teInet 守候程序发送的一系列 teInet 选项信 息。不同OS有不同的Telnet选项排列顺序。17) Http 指纹执行 Http 协议时 ,不同的 WebServer 存在差异。而从 WebServer 往往可以判断 OS 类型。 WebServer 的差异表达在如下方面:1 :根本 Http 请求处理 HEAD/Http/1.0 这样的请求时, 不同系统返回信息根本相同, 但存在细节差异。 如, Apache 返回的头信息里的Server和Date项的排序和其它的
11、效劳器不同。2: DELETE青求对于 DELETE/Http/1.0 这样 的非法 请求,Apache 响应405MethodNotAllowed,IIS 响 应 403Forbidden,Netscape 响应 401Unauthorized 。3:非法 Http 协议版本请求对于 GET/Http/3.0 这样的请求,Apache响应400BadRequest,IIS忽略这种请求,响应信息是 OK,Netscape 响应505HttpVersionNotSupported。4:不正确规那么协议请求对不规那么协议的请求,Apache无视不规那么的协议并返回200OK,IIS响应 400Ba
12、dRequest,Netscape 几乎不返回 Http 头信息。18) 打印机效劳程序指纹RFC1179规定了请求打印效劳时须遵循的协议。在实践中,如果打印请求符合RFC1179的格式,不同OS表现行为相同。但当打印请求不符合RFC1179的格式时,不同 OS就会表达出差异。如对一个非法格式的请求,Solaris这样回应:Reply:Invalidprotocolrequest(77):xxxxxx而AIX系统这样回应:Reply:0781-201ill-formedFROMaddress.大多数OS会给出不同的响应信息。个别OS会给出长度为0的回应。对于 Windows ,那么是通过专有的
13、 SMB 协议( ServerMessageBlockProtocol )来实现打印机的 共享。19) 网络协议栈指纹实践在实践中, 网络协议栈指纹方法通常这样应用: 总结各种操作系统网络协议栈的上述细微差异,形成一个指纹数据库。在探测一个系统的时候,通过网络和目标系统进行交互,或者侦然后以操作系统指纹数据库听目标系统发往网络的数据包, 收集其网络协议栈的行为特点,为参考,对收集的信息进行分析,从而得出目标系统运行何种OS的结论。所以要彻底防护指纹识别20) 远程OS探测的防护方法由于协议栈指纹方法是建立在操作系统底层程序差异的根底上的,是很难的。 但是有一些方法可以减少信息泄漏并干扰指纹识别的结果,在很大程度上提高系 统的平安性。 21检测和拦截 对于主动向主机发送数据包的协议栈指纹识别,可以使用 IDS 检测到异常包或异常的行为, 从而加以记录和拦截。对于通过 Sniffer 来进行的协议栈指纹识别,这种方法是无效的。22修改参数 一些操作系统的协议栈参数,如缺省WINDOW、MSS、MTU 等值,是可以修改的。在 Solaris和 Linux 操作系统下, 很多 TCP/IP 协议栈的参数可以通过系统配置程序来修改。 在 WINDOWS 系统中,可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年国际物流师经验交流会试题及答案
- CPSM考试成功背后的努力与试题及答案
- 食不言寝不语教育
- 机床制造业市场调研与竞争策略考核试卷
- 客运索道运营风险评估考核试卷
- 强化CPSM考试知识体系的布局试题及答案
- 植物的根系特征与作用试题及答案
- CPSM考试主题探讨与试题及答案
- 吉林省长春市第一五一中学2024-2025学年高三第一次联考(语文试题)试题含解析
- 2024年CPMM自测题目经验试题及答案
- 沉淀滴定法(共59张PPT)
- 集团固定资产管理流程与风险控制图
- 苏教版数学五上“多边形的面积”课件:2.8 不规则图形的面积计算
- 员工请假审批表模板
- 某打火机生产项目及项目安全预评价
- GB∕T 2518-2019 连续热镀锌和锌合金镀层钢板及钢带
- 共享文件stj1radar调试软件使用手册1.112.22xiang
- (高清正版)JJF(浙) 1137-2017《电容电流测试仪校准规范》
- YC4108Q的柴油机曲轴曲轴工艺及夹具设计
- 三角坐标图的判读
- GB T 3810.16-2016 陶瓷砖试验方法 第16部分:小色差的测定
评论
0/150
提交评论