2015年12月到2016年2月,360信息安全部云安全团队先后发现了4个和NTPD(网络时间守护协议进程)相关包含匿名拒绝服务的漏洞,利用这些漏洞,攻击者可以向NTPD发送伪造的经过加密的、针对远程管理模块的数据包,这样可以导致主服务崩溃,造成拒绝服务。
近日,NTP项目组作出回应,并发布了一个 安全公告 ,公布了这4个漏洞的相关信息。
NTP官网截图
NTPD组件主要用于主机与主机之间的时间同步,上世纪发布至今被广泛部署在服务器、网络设备、嵌入式、桌面操作系统中,其中主要包括Linux主要发行版、BSD、Mac OS X、嵌入式、桌面系统、Cisco网络设备等。
在网络世界中,时间非常的重要,时间的统一性和准确性是保证主机与主机之间数据传递的基础要素,而NTP解决的正是这个问题。NTP是用来使网络中的各个计算机时间同步的一种协议,它的用途是把计算机的时钟同步到世界协调时,以确保网络中的数据交互能够顺利进行。
本次360云安全团队发现并提交的这4枚漏洞主要包括:
CVE-2016-2519 :处理 sys_var 数据长度出现逻辑问题,导致INSIST错误;
CVE-2016-2516 :使用释放并清零后的指针 peer,最终产生INSIST错误;
CVE-2016-2517 :设置 auth_keyid 为配置文件中不包含的值,使得任何远程管理命令为非法命令,远程管理失效;
CVE-2016-2518 : 为对 hmode 大小进行严格限制,导致访问 AM 数组越界。
在某些操作系统中,系统时间被匿名拒绝服务后无法正常同步将会带来严重的影响,攻击者可能可以利用这些漏洞来实现:
360公司信息安全部云安全团队负责人蔡玉光表示:各大银行在网络上的结算业务对NTP服务器的时间校验都有很大的依赖,因此如果有人恶意的使用这些漏洞攻击所在的NTP服务器,就会造成银行内部的业务出现间断或者不可预知的问题。
不只是在金融业, 几乎所有基于时间驱动的身份验证业务都会在“时间”这一要素出现不同步问题后遇到拒绝服务的问题 。
互联网时间之父Harlan Stenn曾表示:如果网络时间协议守护进程被恶意攻击将会引发严重的灾难,他呼吁能有更多的公司或组织主动肩负起社会责任,为“时间协议”项目的安全尽一份力。
1、通过设置防火墙或ACL禁止外部网络远程访问提供ntpd服务器的端口;
2、禁止ntp的远程管理访问,或只允许服务器本地访问;
restrict default kod nomodify notrap nopeer noquery #保持该配置
restrict -6 default kod nomodify notrap nopeer noquery #保持该配置
restrict 127.0.0.1 #这部分建议设置只允许本地或内网地址访问,因为UDP可以被伪造源地址。
3、升级ntp到最新版本(当前最新是 NTP-4.2.8p7 )。
另外360天眼团队已经跟进发布最新的特征规则,来检测企图利用这些漏洞的攻击。