终端识别技术白皮书.docx

上传人:sk****8 文档编号:3160753 上传时间:2019-05-23 格式:DOCX 页数:21 大小:857.22KB
下载 相关 举报
终端识别技术白皮书.docx_第1页
第1页 / 共21页
终端识别技术白皮书.docx_第2页
第2页 / 共21页
终端识别技术白皮书.docx_第3页
第3页 / 共21页
终端识别技术白皮书.docx_第4页
第4页 / 共21页
终端识别技术白皮书.docx_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、文档名称 文档密级2019-05-16 H3C 机密,未经许可不得扩散 第 1 页, 共 21 页终端指纹识别技术白皮书关键词:终端识别、DHCP指纹摘 要:本文介绍终端指纹识别技术的产生背景、技术要点以及在 BYOD 解决方案中的应用。缩略语:缩略语 英文全称 含义BYOD Bring Your Own Device 用户所有设备UAM User Access Manager 用户接入管理OUI Organizatinally Unique Identifier 企业设备识别IDDHCP Dynamic Host Configuration Protocol 动态主机配置协议文档名称 文档密

2、级2019-05-16 H3C 机密,未经许可不得扩散 第 2 页, 共 21 页目 录1 概述 .32 终端识别常用技术 .32.1 主动式设备指纹识别 .32.2 被动式设备指纹识别 .42.2.1 TTL (Time To Live)。 .52.2.2 TCP指纹分析 .62.2.3 SMB指纹分析 .72.2.4 DHCP指纹分析 .82.2.5 HTTP指纹分析 .92.2.6 MAC OUI分析 .103 UAM系统终端识别技术实现 .113.1 UAM系统终端识别流程图 .113.2 DHCP 插件 .133.3 DNS插件 .134 UAM终端指纹配置实例 .134.1 厂商配

3、置 .144.2 终端类型配置 .154.3 操作系统配置 .154.4 DHCP指纹配置 .164.5 Http User Agent指纹配置 .184.6 MAC OUI指纹配置 .205 参考文献 .21文档名称 文档密级2019-05-16 H3C 机密,未经许可不得扩散 第 3 页, 共 21 页1 概述当前,随着智能终端的快速推广,IT消费化的潮流越来越明显,越来越多的企业员工希望使用移动设备访问公司邮件、企业内网等资源,同时希望使用自己的移动设备进行工作。BYOD(Bring Your Own Device)作为IT消费化的一个重要表现形式,对原有的企业网络接入管理产生了严重冲击

4、。出于安全考虑,企业IT管理员需要根据不同的用户终端类型,定义不同的网络访问策略。如何高效、准确识别终端类型,则成为每一个BYOD解决方案提供商必须解决的问题。所谓识别终端类型,关键是识别终端的设备类型、操作系统类型和制造商信息。就好象每一个人都会拥有一个独特的指纹一样,每一种终端也会具备自己独特的特性。而这些独特的特性,会在终端设备同外界通讯的行为中体现出来。通过跟踪终端通信行为,分析其特性,从而判断终端类型信息的技术,称为终端指纹识别技术。2 终端识别常用技术理论上,所有终端设备的通信层都是按照网络协议的规范进行设计的,其所有的通讯特征应该是与操作系统、设备无关。然而由于定义、阅读和理解这

5、些网络规范的不同角度,或者是程序开发人员对于具体的异常、特别的场景的处理实现方式的不同,各个终端设备在网络上的行为确实有些不一样。这些不一样的独特特征就是设备的指纹,他们观察到并分析处理。这些独特特征,业界称之为设备的指纹。目前设备指纹识别技术主要分为两个技术流派,分别被称为主动式与被动式。2.1 主动式设备指纹识别主动式意为,需要主动向被鉴定的设备发送一定数量的特别组合的数据包,根据对方的反应来确定对方的设备型号、操作系统类型甚至版本号。这一技术常常被应用到网络安全领域,当黑客或安全专家需要对远程系统进行渗透时,常常以设备指纹识别的动作作为开场白。这一领域的著名工具有 Nmap 和 Xpro

6、be 等。尤其值得一提的是 Nmap, Fyodorinsecure.org 制作了这个集网络扫描、指纹识别于一体的便捷工具,几乎成为黑客的制式装备。而另外一位著名的以色列黑客 Ofir Arkin 撰写的 Xprobe 则 以主动识别操作系统指文档名称 文档密级2019-05-16 H3C 机密,未经许可不得扩散 第 4 页, 共 21 页纹为主要设计目标,增加了更多的识别方法,并且提出了主动式ICMP的识别方法 (通过发送几个icmp包来确定对方系统)。Nmap/Xprobe 中运用了诸如 FIN探测、错误TCP标志位探测、TCP 起始序列号采样、 IPID采样、TCP 时间戳扩展、TCP

7、 起始窗口大小、ACK 值、ICMP 错误信息测试、碎片处理现象等多种技术组合进行探测和鉴别。主动式设备指纹识别技术由于通常限于在网络安全/黑客领域进行使用。在 BYOD领域,被动式指纹识别技术更为常用。2.2 被动式设备指纹识别被动式的技术体系坚持在不发送任何数据的情况下就达到识别设备指纹的目的。这样的实现机制可以在对网络不产生任何影响的情况下,收集更加详尽的信息,以便提供给网络管理与安全管理之用。被动式指纹鉴别技术由于不发送任何探测尝试,因此必须通过数据包捕获的方式实现。通常而言目前的被动式指纹鉴别基于以下技术方向: 默认TTL值 TCP 被动分析(尤其针对三向握手和 RST包) TCP

8、滑动窗口尺寸 窗口滑动特性 选择性ACK的应用 TCP 时间戳 TCP NOP/EOL选项 DHCP过程分析 SMB Logon分析 NBNS分析 CDP 分析 SAP 分析 SNMP分析 uPNP分析 http分析 ICMP分析 其他应用层协议分析文档名称 文档密级2019-05-16 H3C 机密,未经许可不得扩散 第 5 页, 共 21 页2.2.1 TTL (Time To Live) 。TTL 是 IP 包头中定义的一个字节。这一字节用来控制数据包不会被在网络上过度传输,每当数据包经过一个路由设备,TTL 值就会减小1。当此值为 0 时,路由器就会丢弃这个数据包,以避免环路、错误的路

9、由带来对网络的损害。并没有协议来规范起始 TTL 值的填充,而不同的操作系统根据自己的设计目的,因此对于 TTL起始值可以发现明显的操作系统差异。例如: APC Web/SNMP 管理卡 60 Cisco 2900交换机 255 Compaq Tru64 5.0 64 HP ProCurve Switch 64 Linux Kernel 2.0 64 Linux Kernel 2.2+ 255 Macintosh OSX 255 Novell Netware 128 Windows XP/2000/2003/Vista 128 Windows 95 32 Windows 95A/B 128 C

10、isco Catalyst 6000 60 Linksys 打印机服务器 32可以看到大多数TTL是 32,64,128,255,而现在的 Windows系列普遍采用128, *nix系统热衷于255。 64/32通常被不少较早的特定功能的打印机或者网络设备所选择。如果捕获到一个数据包的 TTL= 125, 那么通常意义上,这意味着这台主机的起始 TTL是 128,位置在3 跳路由之外。TTL的取值只能作为一种估算,网上也有不少文档提供一些修改TTL 起始值以便来迷惑指纹识别的方法,但其不失为一种快捷而且通用的手段,为操作系统指纹识别作第一步的数据准备。2.2.2 TCP 指纹分析TCP/IP

11、 的定义可以参阅 RFC 793。随后,很多专业人士为 TCP 扩展了许多标准,包括 RFC 文档名称 文档密级2019-05-16 H3C 机密,未经许可不得扩散 第 6 页, 共 21 页896、1122、1144、1323、1644、2018、2140、2414 、2415、2681、3390,由于不断推陈出新的标准以及很多开发设计人员对这些标准的理解不同,各个操作系统、各个时期的版本对于同样的通讯规范的实现和把握有相当多的不同之处。这其中最明显的差异来自于TCP 三向握手过程中的参数和选项的选择,在FIN/RST包中也有类似情况产生。一个非常成熟的p0f的工具非常完整了实施了基于TCP

12、 的被动指纹识识别。简单来看看p0f采用的技术包括以下范围: TCP SYN包中的DF 标记位 起始的TCP 窗口尺寸 TCP SYN包的大小 起始TTL (如上一节所提) TCP 扩展选项与顺序某些特定版本操作系统的bug或显著特征,例如: AIX 4.3的SYN 包起始 TCP窗口是45046 ,TTL是64 FreeBSD 5.1的SYN 的起始 TCP窗口是65535,DF为 1,有效包长60。 Windows Vista SYN的起始窗口为 8192,有效包长 52,同时带有Nop等 TCP选项。 Windows 2003的 MSS = 1460而起始TCP Window 是 655

13、35。 Windows XP会显示特异的 65520的起始窗口,并且伴随一些特定的选项扩展。而操作系统的编写人员甚至会在每个 Service Pack 里使用不同的参数,因此不同的操作系统版本号、语言版本都可能伴随不同的表现现象。SYN+ACK的包的指纹则略有不同,但同样可以指出相当多的操作系统信息。例如: MACOS 10.2.6的 SYN+ACK包中会包含33304尺寸的起始窗口大小基于TCP的被动分析技术已经出现多年,网上也出现了一些开源项目专门从事指纹库的收集和建立,例如p0f-db 的项目。目前,根据TCP 可以识别的操作系统类型已经达到以百计数。不过由于很多操作系统的 TCP 指纹

14、有较多相近之处,这种技术的判别精度始终是个问题,很难被真正应用到商业环境中去。这样的困境直到进一步深入的基于协议分析的指纹识别技术出现才得以改观。文档名称 文档密级2019-05-16 H3C 机密,未经许可不得扩散 第 7 页, 共 21 页每个厂家在设计网络操作系统时,为了体现竞争优势,往往会在很多具体的服务与协议的具体实现上动脑筋。同时各个版本的操作系统不断升级,也有刚性需求为自身区分准确的版本和兼容性信息,这使得基于协议分析的指纹识别成为可行。2.2.3 SMB 指纹分析微软的SMB协议的BROWSER 部分,准确的携带了操作系统类型和版本信息。如下图:微软的 SMB BROWSER

15、广播里会标明自己的操作系统版本为 5.x (Wireshark 里的字段号是 browser.os_major, browser.os_minor.)。准确来说是 Windows NT/2000/XP/2003分别对应 4.0/5.0/5.1/5.2,略微值得一提的是 Windows Vista和Windows 7被微软看来和 Windows 2003没什么区别,始终保持 5.2的版本号。如果是 *nix系统下,就会采用替代的 samba服务,而 samba服务会填充不同的版本号,例如 4.9,同时会在Host Comment里填写 Samba服务的版本号。Browser 本身也有版本号描述,

16、例如 15.1 , 11.3, 21.4 等等。这些版本号也能够佐证具体的Windows或Samba的版本。SMB 的登录会话(Session Setup)协议会话里也有很多包含版本信息的部分; 尤其是返回部分文档名称 文档密级2019-05-16 H3C 机密,未经许可不得扩散 第 8 页, 共 21 页例如在上图中可以看到, SMB详细地报告了操作系统版本,甚至连发布的小版本号和Service Pack信息也毫无保留。这里填写的数据也可能是Samba的版本号或者其他Windows版本。文字编码通常是 Unicode 格式。同样的,双方交换的加密方法和认证方式也可以用来作为判别操作系统的类型

17、的依据。2.2.4 DHCP 指纹分析 DHCP协议本身是各个网络终端设备都能够支持的必备协议之一,用来申请获得动态 IP地址, DHCP本身包含的操作系统信息简直可以说是丰富多彩。DHCP的包格式如下:基于udp 68/67端口的 DHCP是对bootp的扩展,在bootp的协议后如果包含了 063825363 (网络顺序 ) 这段magic cookie,则是 dhcp头的开始。Dhcp的所有部分都是以Option 的方式描述,每个option第一个字节会说明 option类型,第二个字节会定义这个 option的长度,之后的对应长度里是option的值。例如: 类型为53的Option是

18、DHCP包的类型描述,包含了 Inform, ACK, NAK, Release等各类dhcp命令; 类型为12的Option 则定义了主机名称; 类型55包含了DHCP客户端希望获得的参数。不同的操作系统在发送 DHCP请求的时候的Option数量、顺序和组合都可能完全不同,因此仅仅先区分DHCP的参数排列组合就可以进行快捷的操作文档名称 文档密级2019-05-16 H3C 机密,未经许可不得扩散 第 9 页, 共 21 页系统识别。例如类型55的Option里的子参数排列组合也会根据不同的操作系统而不同。该Option的参数排列,可以可靠的区分数百种终端设备类型及操作系统类型。已Wind

19、ow系统为例:更进一步的是Option 60,这个参数用来描述厂商信息。微软操作系统直接写上 “MSFT 5.0”,只有Windows 98特例,会填写”MSFT 98”.苹果的MacOS会明确在此标明 “Mac OS 9.1”, “Mac OS 9.2” 。Cisco 公司会直接填写设备型号,例如”Cisco Systems, Inc. IP Phone CP-7911G”。智能手机会填写这个字段,稍微多获取一些数据,诸如”BlackBerry”, “Windows CE”,“Nokia ”等字眼也会出现在 Option 60之中。2.2.5 HTTP 指纹分析 HTTP 是 Web 访问的

20、基础协议,为了提供功能和使用效果,这个协议的定义和实现中加入了很多客户端/服务器端的信息。一个典型的http头可以看到为了让服务器更好地提供数据,客户端主动把浏览器版本、操作系统类型、操作系统版本等信息积极主动地告诉服务器端。该信息通常由Http头中User-文档名称 文档密级2019-05-16 H3C 机密,未经许可不得扩散 第 10 页, 共 21 页Agent字段提供。对于移动智能终端,各制造商通常在User-Agent字段中提供设备的类型、型号、操作系统和制造商信息。比如:2.2.6 MAC OUI 分析MAC地址信息用来定义设备在网络中的位置,每一个网卡都会有全球唯一固定的MAC地址。该地址由 IEEE统一管理和分配,未经认证和授权的厂家无权生产网卡。MAC OUI(Organizationally Unique Identifier)代表IEEE分配给各个厂商的公司ID,是MAC 地址的前六位。通过MAC OUI,系统可以判断终端设备的生产厂商。以下是部分厂商的MAC OUI。3 UAM 系统终端识别技术实现每一种终端识别技术均有其优缺点。比如MAC OUI识别,仅能够识别网

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 建筑建材

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。