《NTP协议安全分析.docx》由会员分享,可在线阅读,更多相关《NTP协议安全分析.docx(11页珍藏版)》请在第壹文秘上搜索。
1、引言NTP时间同步协议(NetworkTimeProtoco1.)是通过交换包将两台计算机的时钟同步的网络协议,使用UDP123端口。NTP一股由时间服务器(GPS授时、中科院国家授时中心等,世界各地大概有230个时间主服务器、通信网络和计算机上的NTP客户端组成.协议的最新版本为NTPv4f最新稳定版为NTP4.2.8p15,在1992年NTP3版本中增加了加密认证,使用md5来验证远程配注请求,2003年提出了AUtokey模型的发布.NTP的安全性得到了增强.Autokey规范了公钥认证机制,可用于自动分发,目由于Autokey不是生产规范,其具备的形态已经不能满足需求,即使在2007年
2、,开始研究新型NTP安全提案,仍无法避免存在安全漏洞。通过对NTP软件漏洞的利用,可实现对主用时间源中间人攻击或者注入,拦截并替换信息或者消耗网络资源,因此,有必要对其安全性进行分析,熠强NTP协议的可用性和有效性,并提供NTP安全建议.登NTP协议原理NTP采用的标准是RFC5905,使用层次化分布模型,当前有5个版本,vv1v2v3v4,使用较多的版本是v4和v3,NTP用于分布式时间服务器和客户端之间进行时间同步,它是一个跨越广域网或局域网的豆杂时间同步协议,通常可进行亳秒级同步.NTP可使用无线时钟、时间服务器、局域网等方式进行同步.无线时钟方式是服务器系统通过串口连接一个无线时钟,无
3、线时钟接收GPS的卫星发射的信号来决定当前时间;时间服务器使用网络中的NTP时间服务器进行;局域网同步是使用局域网中的一个节点的时钟作为“权威的时间源.然后其它的节点就只需要与这个时间源进行时间同步即可,如图1所示。NTPmessageI100OOOamI11OOOIamDevtceBNTPmessagerecwvdat10:00X)3三1NTPSS本工作原理(1)DeviceA发送一个NTP报文给DeviceB,该报文带有它离开DeviceA时的时间戳,该时间戳为10:00:00AMaD.(2)当此NTP报文到达DeviceB时,DeviceB加上自己的时间戳,该时间戳为11:00:01AM
4、(T2).(3)当此NTP报文离开DeviceB时,DeviceB加上自己的时间戳,该时间戳为11:00:02AM(T3).(4)当DeviceA接收到该响应报文时,DeviceA的本地时间为10:00:03AM(T4).至此,DeviceA已经拥有足够的信息来计算两个重要的参数:NTP报文的往返时延De1.ay=(T4-T1)-(T3-T2)=2s.DeviceA相对DeviceB的时间差Offset=(T2-T1)+(T3-T4)2=1h.这样,DeviceA就能够根据这些信息来设定自己的时钟,使之与DeviceB的时钟同步.设备可以通过三种NTP工作模式进行时间同步,分别是:客户端/服务
5、器模式,对称模式,广播模式或组播模式.其中使用较广泛的是客户端/服务器模式。在实际应用中,广播和组播模式针对的是NTP服务器IP地址未知,或者需同步的设备数量大的场景;客户端/服务器和对等体模式则主要用于客户端从特定的NTP服务器或者主动对等体处通过报文交互获得时间同步,该工作模式多用于对时钟的精度要求较高的场景.在客户端/服务器模式中,如图2所示,客户端向服务器发送时钟同步报文,通过对报文中的Mode字段设置为3,代表其为客户模式,然后,服务器收到该报文后会处于服务器工作模式,报文的模式随之设为4,客户端收到应答报文后,将同步服务器时间.圄2客户端/as务那模式在NTP网络中,NTP有两类报
6、文:时钟同步报文和控制报文.NTP服务器和客户端之间通信数据带有32位的时间戳其中前面16位是整数,后面16位是小数,NTP的技术精度可达到20ps,而时间信息是从NTP客户端从时间战中获取到的基本信息,如图3所示.02234S7e$01234S01Z345fracIDIReferenseImedtaxp()cp三ivcTwe3xp(4473u,zJ1.nC八皿)xt!t1.F1.Id1(variab1.e)xt9i&nFitXd2(vriab1.)Key2aeaiicr4gt(12S)图3NTP时W同步报文格式Mode代表工作模式,001代表主动对称模式,002代表被动对称模式,003代表客
7、户端模式,004代表服务器模式,005代表广播或组播模式,006代表NTP控制报文.NTP采用的是分层结构主机进行时钟同步,这可解决同步报文时延大的问题,NTP客户端通过不断向服务器发送同步请求,根据时间差调整自身的本地时钟,即可自动并持续地调节时钟.NTP同步精度可达到亳米级别.NTP协议在应用时为了简单,可以屏蔽认证机制,在这种情况下,NTP报文的长度为90字节,对客户端和服务器的身份无法验证,客户端获取的时间精度则无法确保准确性,且这种情况极易受到中间人欺骗和伪造时间源等方式攻击.NTP的认证机制主要有两类:对称加密认证、非对称加空认证(Autokey),对称加密认证使用对称密钥加解密,
8、而非对称加密认证则使用公钥进行加密,使用私钥进行解密,这种方式可大幅提升NTP协议的安全性.2存在的安全随患由于NTP协议的漏洞和实现的漏洞,可被利用进行系统时间攻击,主要的方式是利用协议漏洞、中间人和数据包注入.(1)可利用密钥管理环节存在的隐患,伪造NTP服务器进行攻击.由于NTP服务器不记录客户端的信息,同时,服务器也不会保留NTP客户端的cookie值,服务器也不会对客户端的请求频率计数和是否是重直报文进行过滤.攻击者以NTP客户端的身份,获取服务器的NTP.keys,并利用中间人欺笫、报文注入等方式,获取NTP客户端和服务器之间的同步报文,分析获得keyID值,再查找NTPkeys,
9、获取key值,即可通过构造报文,进行计算,发送给客户端,使得客户端认可该报文并通过验证.针对对称加密认证的情况,如图4所示,需要通过ARP欺骗,将客户端的同步请求转发至伪造的服务器,由伪造服务器进行响应,这样,客户端就会接收响应报文并同步至伪造的服务器1.BB4加空认证下的NTP伪造服务器蛤证基本凝程(2)进行NTP同步时延脆弱性验证。对带有对称加密认证的NTP协议进行分析2,NTP客户端和服务器的NTP报文是比较固定的,没有扩展域,目时间同步报文的长度为110个字节.截获客户端和服务器端之间的时间同步报文,并对请求报文或者响应报文进行单项延迟,或者利用中间人(通过ARP欺骗,将攻击端的网卡设
10、置为混杂模式,对捕捉来的时间同步请求报文进行修改,发给NTP服务器报文的IP头部目的地址信息为该攻击端,并将NTP服务器发送的同步响应报文的IP头部的IP源地址改为攻击端,其他信息进行同步修改后,重新计算校验和,发送给客户端,客户端睑证通过后会同步伪造服务器时间)进行数据包时延篡改,如图5所示,即可造成客户端和服务器之间的时间差不准确,会造成客户端获取的时间不精确.(开始)采用ARP欺煽NTP客户端与NTP盛务器延迟并,发伪造服务一响应报文或者利用中间人方式算收数据包时一NTP客户端响应报文NTP客户-I可步系统时间co图5NTP同步时延脆辐性蛉证流程(3)拒绝服务.NTP客户端得到服务器签名
11、的公钥,在随后的交换过程中,用于保护犷展域的完整性和源认证,但计算签名需要匏杂的计算,可通过重放旧的消息或者发送伪造信息阻塞客户端或者服务器,消耗其处理器资源.以伪造大量NTP客户端向NTP服务器请求cookie值,将会大量消耗NTP服务器资源,造成服务器无法正常运行和响应客户端的时间同步请求。若时间间隔仅是1s时,NTP服务器端则无法响应NTP客户端的请求.利用恶意节点时间协议发送报文,会导致整个网络通信受限或者无法提供有效服务;也可伪造主时间服务器操控主时间选择过程,例如操控最佳主时钟选择算法;也可利用中间人或者注入方式,将数据提交给主时钟,触发更杂加密算法执行,而影响其效能.(4)NTP
12、存在缓冲区溢出等漏洞,可能被控制服务器权限。仅在2020年9月前,NTP-428p12或p13有一个未认证的时间源,可被攻击者用来攻击,可延迟用户的下一次轮询,或者通过触发空指针引用,导致NTPd崩溃.3实验验证为了验证提出问题的脆弱性,搭建一个局域网NTP环境,该环境基于NTP客户端/服务器模式,NTP采用NTP426p5运行于UbUntU14.06,通过在服务器端在pub1.icservers节下添加127.127IO为其自身,在access节下新增加一个restrict段,可以接收服务的网段设为192.168.123.0,设置后重新启动NTP服务,如图6所示.设置本机的防火墙规则,允许U
13、DP123端口如图7所示。8NTP伪玷外N图6伪造凰宪器实验除证环境1zbubuntu:*/uboot/bin$ntpdh1.p11tpdNTPdaemonprogram-Ver.4.2.6p5zxb0ubuntu:/etc/in1.t.d$sudoetc1.nit.dntprestart,StoppinQMTPserverntpdStartingMTPserverntpd7启动第寿在客户端(基于Federa1.16)上设置NTP服务器为SerVer节点,设置完成后,通过NTP服务同步服务端时间,如图8所示。rootuntu:/h9M/xiMntpdtu192.16.U).1.211):55:
14、12MpMte2t71.Mjustt1.MserverM21M.U3.1Sffst.MM1wcrOOteubuMu;haZMdateTu-21135521221图8客户靖同步虚假时间同步后的NTP客户端的时间与伪造服务器的一致,为2010年的虚假时间.安全建议通过分析发现,在网络建设和维护过程中,应充分考虑NTP及其同步安全问题,提出如下建议.(1)在NTPxonf限制查询时间的来源机甥,NTP客户端对NTP服务器的身份进行验证,NTP服务器对NTP客户端的身份进行授权和睑证.(2)周期性地把NTP客户端和服务器软件升级至最高版本,并关闭不需要的端口.(3)由于NTP是个与其他业务无相关性的服务,可单独完全隔离,或者利用IPSEC等方式,对时间同步过程进行加密,降低风险.(4)在客户端同步过程中,将硬件时间和同步时间进行比对,如不一致,可进行多源杳询,并通过hwc1.ockw,将设置的时间写进硬件的时间中去。5结语NTP的安全性是NTP网络时间同步有效性、准确性的重要保障手段之本文对网络时间协议进行了脆弱性分析,基于NTP的客户端/服务器模式,针对对称加密机制和非对称加密机制提出了NTP的安全验证思路,下一步将对该技术进行深层次分析,拓展互联网分析思路,并进一步分析标准及协议的实现方法,寻找新的脆弱点,为NTP安全增强提供支撑.