




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
文档名称文档密级终端指纹识别技术白皮书关键词:终端识别、DHCP指纹摘 要:本文介绍终端指纹识别技术的产生背景、技术要点以及在BYOD解决方案中的应用。缩略语:缩略语英文全称含义BYODBring Your Own Device用户所有设备UAMUserAccessManager用户接入管理OUIOrganizatinally Unique Identifier企业设备识别IDDHCPDynamic Host Configuration Protocol动态主机配置协议目 录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 厂商配置144.2 终端类型配置154.3 操作系统配置154.4 DHCP指纹配置164.5 Http User Agent指纹配置184.6 MAC OUI指纹配置205 参考文献211 概述当前,随着智能终端的快速推广,IT消费化的潮流越来越明显,越来越多的企业员工希望使用移动设备访问公司邮件、企业内网等资源,同时希望使用自己的移动设备进行工作。BYOD(Bring Your Own Device)作为IT消费化的一个重要表现形式,对原有的企业网络接入管理产生了严重冲击。出于安全考虑,企业IT管理员需要根据不同的用户终端类型,定义不同的网络访问策略。如何高效、准确识别终端类型,则成为每一个BYOD解决方案提供商必须解决的问题。所谓识别终端类型,关键是识别终端的设备类型、操作系统类型和制造商信息。就好象每一个人都会拥有一个独特的指纹一样,每一种终端也会具备自己独特的特性。而这些独特的特性,会在终端设备同外界通讯的行为中体现出来。通过跟踪终端通信行为,分析其特性,从而判断终端类型信息的技术,称为终端指纹识别技术。2 终端识别常用技术理论上,所有终端设备的通信层都是按照网络协议的规范进行设计的,其所有的通讯特征应该是与操作系统、设备无关。然而由于定义、阅读和理解这些网络规范的不同角度,或者是程序开发人员对于具体的异常、特别的场景的处理实现方式的不同,各个终端设备在网络上的行为确实有些不一样。这些不一样的独特特征就是设备的指纹,他们观察到并分析处理。这些独特特征,业界称之为设备的指纹。目前设备指纹识别技术主要分为两个技术流派,分别被称为主动式与被动式。2.1 主动式设备指纹识别主动式意为,需要主动向被鉴定的设备发送一定数量的特别组合的数据包,根据对方的反应来确定对方的设备型号、操作系统类型甚至版本号。这一技术常常被应用到网络安全领域,当黑客或安全专家需要对远程系统进行渗透时,常常以设备指纹识别的动作作为开场白。这一领域的著名工具有 Nmap 和 Xprobe 等。尤其值得一提的是 Nmap, F 制作了这个集网络扫描、指纹识别于一体的便捷工具,几乎成为黑客的制式装备。而另外一位著名的以色列黑客 Ofir Arkin 撰写的 Xprobe 则 以主动识别操作系统指纹为主要设计目标,增加了更多的识别方法,并且提出了主动式ICMP的识别方法 (通过发送几个icmp包来确定对方系统)。Nmap/Xprobe 中运用了诸如 FIN探测、错误TCP标志位探测、TCP 起始序列号采样、IPID采样、TCP 时间戳扩展、TCP 起始窗口大小、ACK 值、ICMP 错误信息测试、碎片处理现象等多种技术组合进行探测和鉴别。主动式设备指纹识别技术由于通常限于在网络安全/黑客领域进行使用。在BYOD领域,被动式指纹识别技术更为常用。2.2 被动式设备指纹识别被动式的技术体系坚持在不发送任何数据的情况下就达到识别设备指纹的目的。这样的实现机制可以在对网络不产生任何影响的情况下,收集更加详尽的信息,以便提供给网络管理与安全管理之用。被动式指纹鉴别技术由于不发送任何探测尝试,因此必须通过数据包捕获的方式实现。通常而言目前的被动式指纹鉴别基于以下技术方向:l 默认TTL值l TCP 被动分析(尤其针对三向握手和 RST包) TCP 滑动窗口尺寸 窗口滑动特性 选择性ACK的应用 TCP 时间戳 TCP NOP/EOL选项l DHCP过程分析l SMB Logon分析l NBNS分析l CDP 分析l SAP 分析l SNMP分析l uPNP分析l http分析l ICMP分析l 其他应用层协议分析2.2.1 TTL (Time To Live)。TTL 是 IP 包头中定义的一个字节。这一字节用来控制数据包不会被在网络上过度传输,每当数据包经过一个路由设备,TTL值就会减小1。当此值为 0 时,路由器就会丢弃这个数据包,以避免环路、错误的路由带来对网络的损害。并没有协议来规范起始 TTL 值的填充,而不同的操作系统根据自己的设计目的,因此对于 TTL起始值可以发现明显的操作系统差异。例如:l APC Web/SNMP 管理卡 60l Cisco 2900交换机 255l Compaq Tru64 5.0 64l HP ProCurve Switch 64l Linux Kernel 2.0 64l Linux Kernel 2.2+ 255l Macintosh OSX 255l Novell Netware 128l Windows XP/2000/2003/Vista 128l Windows 95 32l Windows 95A/B 128l Cisco Catalyst 6000 60l 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 的定义可以参阅 RFC 793。随后,很多专业人士为 TCP 扩展了许多标准,包括 RFC 896、1122、1144、1323、1644、2018、2140、2414、2415、2681、3390,由于不断推陈出新的标准以及很多开发设计人员对这些标准的理解不同,各个操作系统、各个时期的版本对于同样的通讯规范的实现和把握有相当多的不同之处。这其中最明显的差异来自于TCP 三向握手过程中的参数和选项的选择,在FIN/RST包中也有类似情况产生。一个非常成熟的p0f的工具非常完整了实施了基于TCP 的被动指纹识识别。简单来看看p0f采用的技术包括以下范围:l TCP SYN包中的DF标记位l 起始的TCP 窗口尺寸l TCP SYN包的大小l 起始TTL (如上一节所提)l TCP 扩展选项与顺序某些特定版本操作系统的bug或显著特征,例如:l AIX 4.3的SYN包起始 TCP窗口是45046,TTL是64l FreeBSD 5.1的SYN的起始 TCP窗口是65535,DF为 1,有效包长60。l Windows Vista SYN的起始窗口为 8192,有效包长52,同时带有Nop等 TCP选项。l Windows 2003的 MSS = 1460而起始TCP Window 是 65535。l Windows XP会显示特异的65520的起始窗口,并且伴随一些特定的选项扩展。而操作系统的编写人员甚至会在每个 Service Pack 里使用不同的参数,因此不同的操作系统版本号、语言版本都可能伴随不同的表现现象。SYN+ACK的包的指纹则略有不同,但同样可以指出相当多的操作系统信息。例如:l MACOS 10.2.6的 SYN+ACK包中会包含33304尺寸的起始窗口大小基于TCP的被动分析技术已经出现多年,网上也出现了一些开源项目专门从事指纹库的收集和建立,例如p0f-db 的项目。目前,根据TCP 可以识别的操作系统类型已经达到以百计数。不过由于很多操作系统的 TCP 指纹有较多相近之处,这种技术的判别精度始终是个问题,很难被真正应用到商业环境中去。这样的困境直到进一步深入的基于协议分析的指纹识别技术出现才得以改观。每个厂家在设计网络操作系统时,为了体现竞争优势,往往会在很多具体的服务与协议的具体实现上动脑筋。同时各个版本的操作系统不断升级,也有刚性需求为自身区分准确的版本和兼容性信息,这使得基于协议分析的指纹识别成为可行。2.2.3 SMB指纹分析微软的SMB协议的BROWSER 部分,准确的携带了操作系统类型和版本信息。如下图:微软的 SMB BROWSER 广播里会标明自己的操作系统版本为 5.x (Wireshark 里的字段号是browser.os_major, browser.os_minor.)。准确来说是 Windows NT/2000/XP/2003分别对应 4.0/5.0/5.1/5.2,略微值得一提的是 WindowsVista和Windows 7被微软看来和 Windows 2003没什么区别,始终保持 5.2的版本号。如果是*nix系统下,就会采用替代的 samba服务,而 samba服务会填充不同的版本号,例如 4.9,同时会在Host Comment里填写 Samba服务的版本号。Browser 本身也有版本号描述,例如 15.1 , 11.3, 21.4 等等。 这些版本号也能够佐证具体的Windows或Samba的版本。SMB 的登录会话(Session Setup)协议会话里也有很多包含版本信息的部分;尤其是返回部分例如在上图中可以看到, SMB详细地报告了操作系统版本,甚至连发布的小版本号和Service Pack信息也毫无保留。这里填写的数据也可能是Samba的版本号或者其他Windows版本。文字编码通常是 Unicode 格式。同样的,双方交换的加密方法和认证方式也可以用来作为判别操作系统的类型的依据。2.2.4 DHCP指纹分析 DHCP协议本身是各个网络终端设备都能够支持的必备协议之一,用来申请获得动态 IP地址, DHCP本身包含的操作系统信息简直可以说是丰富多彩。DHCP的包格式如下:基于udp 68/67端口的 DHCP是对bootp的扩展,在bootp的协议后如果包含了 063825363 (网络顺序) 这段magic cookie,则是dhcp头的开始。Dhcp的所有部分都是以Option 的方式描述,每个option第一个字节会说明 option类型,第二个字节会定义这个 option的长度,之后的对应长度里是option的值。例如:l 类型为53的Option是DHCP包的类型描述,包含了 Inform, ACK, NAK, Release等各类dhcp命令; l 类型为12的Option 则定义了主机名称;l 类型55包含了DHCP客户端希望获得的参数。不同的操作系统在发送 DHCP请求的时候的Option数量、顺序和组合都可能完全不同,因此仅仅先区分DHCP的参数排列组合就可以进行快捷的操作系统识别。例如类型55的Option里的子参数排列组合也会根据不同的操作系统而不同。该Option的参数排列,可以可靠的区分数百种终端设备类型及操作系统类型。已Window系统为例:更进一步的是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 访问的基础协议,为了提供功能和使用效果,这个协议的定义和实现中加入了很多客户端/服务器端的信息。一个典型的http头可以看到为了让服务器更好地提供数据,客户端主动把浏览器版本、操作系统类型、操作系统版本等信息积极主动地告诉服务器端。该信息通常由Http头中User-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识别,仅能够识别网卡厂商,并通过网卡信息去匹配相关设备,而SNMP识别虽然可以根据OID获取设备信息,但是多数终端设备并不支持SNMP协议。Http协议的User Agent中携带的设备信息、操作系统信息虽然准确度很高,但是用户很容易用软件篡改该User Agent信息。DHCP分析目前来看是可靠性比较高的终端识别方法,尤其是Option 55属性,基本可以唯一性确定操作系统的类型和版本信息。UAM系统通过组合DHCP指纹分析、http User-Agent指纹分析和MAC OUI分析,实现了终端设备的识别功能,确保了H3C BYOD解决方案的可用性。3.1 UAM系统终端识别流程图UAM系统综合运用了MAC OUI、DHCP和HTTP User-Agent三种终端类型识别方法,并根据其可靠性设定了优先级,有效解决了BYOD解决方案中的终端类型识别问题。在新设备接入网络,进行身份认证的流程中,以设备进行MAC地址认证为例,终端信息识别的过程如下图所示:l 终端设备接入网络,首先发起身份认证。身份认证过程中,设备的MAC地址携带在Radius请求的Calling Station ID属性中。UAM解决该属性,并判断设备的供应商信息。由于MAC地址易于修改,因此在UAM中,MAC OUI的优先级最低。l UAM判断设备是否已注册,对于未注册的设备,将其放入隔离区。l 终端设备在隔离区发起DHCP请求,接入设备将DHCP请求Relay至安装了DHCP插件的DHCP Server。l DHCP插件截获DHCP请求报文,并解析DHCP报文属性,将终端设备的MAC地址和Option 55信息上传至UAM服务器。l UAM服务器根据MAC地址查询设备注册信息,对于未注册的设备,UAM设备根据Option 55提供的设备指纹,确认设备的类型,供应商和操作系统类型等信息。同时在回应DHCP插件的报文中,携带DNS Jail Server的IP地址,告知DHCP插件修改DHCP ACK报文中的DNS信息。由于DHCP识别具有较高的准确性,UAM系统将DHCP识别的优先级设为最高。l 终端用户访问Web站点,发出http请求。用户终端的DNS客户端发起DNS查询,该查询被发现DNS Jail查询所在的地址。l DNS Jail插件返回BYOD Server的地址。l 用户Http请求被发往BYOD Server,BYOD server解析http请求中的User Agent信息,提取操作系统、终端类型和制造商等信息。注意,如果DHCP解析过程中已识别出终端类型、操作系统类型和供应商等信息,User Agent识别出的终端设备信息不会被记录。3.2 DHCP 插件DHCP指纹的获取,是DHCP指纹分析的关键。目前UAM系统的DHCP插件支持Windows 2008 DHCP server。该插件利用Windows API,实现了对DHCP报文的截获和更改。由于某些用户会使用设备自带的DHCP Server或第三方DHCP 服务器,为了不影响用户现有网络的架构,建议新搭建一Windows 2008 DHCP server,安装DHCP插件,同时在设备的隔离区VLAN中,将DHCP请求Relay至此DHCP服务器,实现DHCP指纹识别。3.3 DNS插件DNS Jail的主要作用,是用来重定向用户终端的http请求,将http请求重定向至BYOD server后,该server即可解析http请求并获取User Agent信息,根据User Agent信息获取终端设备信息。在DHCP 插件中,UAM检查该终端是否已被系统注册。对于未注册的设备,UAM告知DHCP插件修改DHCP Offer报文中的DNS地址信息,将其指向BYOD server。运行于BYOD server中的DNS插件可对终端设备的DNS请求进行回应。一旦设备注册成功,终端设备将会重新获取IP地址并被分配正确的DNS server地址。4 UAM终端指纹配置实例就像PC系统不断更新换代一样,为了不断满足消费者的需求,各厂商也不断发布新的智能终端设备。在智能终端设备,也同样存在操作系统、软件的升级问题。因此,设备指纹的识别,也不是一个静态的过程。为了识别新的终端,就必须不断更新设备指纹库。UAM系统提供了终端识别管理功能,支持用户自定义厂商、设备类型和操作系统类型信息。同时可自定义DHCP指纹、Http指纹和MAC OUI指纹库。即使用户网络中出现了最新发布的智能终端设备,管理员也能通过终端识别管理提供的功能,增加新设备的指纹信息,快速实现新终端设备的识别。4.1 厂商配置厂商设置用来定义终端设备的生产厂家或企业。UAM内置了主流的终端设备生产商。在iMC系统中,导航至业务 用户接入管理 终端识别管理 厂商页面,即可进行厂商信息配置管理。尽管UAM系统中已经预置了当前主流的终端设备供应商信息,但是用户仍可以自行增加新的设备厂商。点击增加按钮,系统弹出新厂商配置页面,输入厂商名称和厂商描述信息,即可增加新的厂商信息。4.2 终端类型配置智能终端设备的类型多种多样,除了传统的PC,智能手机、平板电脑、电子书等新型终端也已广泛使用。IT管理员可以根据市场上出现的新设备,自行定义终端设备的类型。在iMC系统中,导航至业务 用户接入管理 终端识别管理 终端类型,即可进入终端类型配置管理页面。如果网络有用户使用最新的终端,比如微软的Surface,IT管理员即可点击增加按钮,将Surface加入终端类型列表。4.3 操作系统配置为了不断满足终端用户的新需求,操作系统厂商也在持续的为操作系统添加新的功能特性,提供新版本的操作系统。相比传统的PC操作系统,智能终端的操作系统升级频率比传统PC更高。比如iOS系统,每年从4.2至6.01,只用了一年左右的时间。如果UAM不能及时更新操作系统类型库,就不能准确的识别设备的操作系统信息。在UAM系统中,内置的操作系统类型已经覆盖了版本发布时市场上主流的操作系统信息,IT管理员可根据终端操作系统的应用情况,便捷的加入新的操作系统信息。在iMC系统中,导航至业务 用户接入管理 终端识别管理 操作系统,即可进入操作系统信息配置管理页面。点击增加按钮,输入操作系统信息和描述信息,即可增加新的操作系统版本。4.4 DHCP指纹配置UAM系统使用DHCP Option 55子参数的排列组合作为终端的DHCP指纹。通常在出现新的终端或终端系统升级后,用户可以自行配置新的DHCP指纹,实现对新终端的识别。在iMC中,导航至导航至业务 用户接入管理 终端识别管理 DHCP特征识别配置,可浏览系统中已配置的DHCP指纹,并增加新的DHCP指纹信息。增加新的DHCP指纹之前,需要获取终端的DHCP指纹。获取DHCP指纹的方法主要有以下两种。1.访问指纹银行站点,/signatures.html点击相关指纹库连接,下载最新DHCP指纹签名文件。比如Xbox、Playstation 2的指纹可从文件dhcp_fingerprints.conf中提取出来。2. FingerBank的更新较慢。对于dhcp_fingerprints.conf中未定义的系统,用户可以通过抓包工具,比如WireShark,直接抓取终端的DHCP报文,并提取出Option 55子参数。如下图:DHCP Request报文中Option 55子参数排列为:1,15,3,6,44,46,47,31,33,249,43。在获取Option 55子参数排列信息后,即可点击DHCP特征识别配置页面中的按钮,加入新的DHCP指纹信息。4.5 Http User Agent指纹配置Http协议头的User Agent属性,以字符串的形式传送了设备类型、型号、操作系统和供应商信息。配置User Agent信息通常通过增加关键字来实现。UAM系统在解析出User Agent字段后,通过关键字匹配来实现终端信息的识别。在IMC中,导航至业务 用户接入管理 终端
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京印刷学院印刷产业市场拓展合作框架合同
- 离婚协议中关于共同债务清偿及信用修复补充条款
- 建筑方案设计人员组成包括
- 2025年机械入职笔试题及答案
- 双重预防体系培训考试题及答案
- 现场文明施工、防止施工扰民措施、环保和保卫方案
- 岗位危险源及控制措施考试及答案
- 咨询项目招标代理方案
- 建筑台阶处理方案设计说明
- 茶社建筑方案设计图纸大全
- 幼儿园膳食委员会含内容两篇
- 3D打印技术在食品加工设备制造中的应用
- 2023人教版九年级语文上册 第一单元主题阅读 课件
- 人工造林项目投标方案(技术方案)
- 自动扶梯维护培训课件
- 铁丝镀锌工操作规程培训
- 严防管制刀具 对自己和他人负责-校园安全教育主题班会课件
- 医院培训课件:《护患沟通技巧》
- 公路技术状况检测与评定-公路技术状况评定
- 正式员工正规劳动合同范本
- 人工搬运风险与控制培训课件
评论
0/150
提交评论