高危漏洞通告 BIND最新漏洞将导致DoS攻击,绿盟科技发布预警通告之后,绿盟科技发布技术分析与防护方案。
全文如下:
ISC互联网系统协会(Internet Systems Consortium)官网发布了一个安全通告,公布了编号为CVE-2016-2776的漏洞及其修复情况。该漏洞位于文件buffer.c中,当程序在为精心构造的查询请求构建响应包时会遇到断言失败,导致程序崩溃,从而造成拒绝服务。
详情请见如下链接:https://kb.isc.org/article/AA-01419
BIND(Berkeley Internet Name Daemon)是现今互联网上最常使用的DNS服务器软件,使用BIND作为服务器软件的DNS服务器约占所有DNS服务器的九成。BIND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。
影响的版本
- BIND 9 version 9.0.x -> 9.8.x
- BIND 9 version 9.9.0->9.9.9-P2
- BIND 9 version 9.9.3-S1->9.9.9-S3
- BIND 9 version 9.10.0->9.10.4-P2
- BIND 9 version 9.11.0a1->9.11.0rc1
不受影响的版本
- BIND 9 version 9.9.9-P3
- BIND 9 version 9.10.4-P3
- BIND 9 version 9.11.0rc3
漏洞分析
该漏洞的成因是BIND 9在构造响应包时,错误计算了所需保留空间的长度,导致后续断言失败,终止程序,造成拒绝服务漏洞。该漏洞位于dns_message_renderbegin函数中,此函数的实现如下图所示:
图1 dns_message_renderbegin函数实现
其中r.length表示dns响应包的长度,固定为512字节。msg->reserved表示所需保留的响应数据长度。当 r.length < msg->reserved 时,所需的响应数据长度超过数据包的大小,因此返回ISC_R_NOSPACE,表示没有足够空间;而当 r.length >= msg->reserved 时,则有足够的空间用于构造返回的响应包,此时返回ISC_R_SUCCESS。
但程序在比较 r.length 和 msg->reserved 长度时没有考虑后面加入的DNS_MESSAGE_HEADERLEN长度大小。DNS_MESSAGE_HEADERLEN大小为12字节,表示Message头的长度。因此当msg->reserved大于500且小于等于512时,再加上后面DNS_MESSAGE_HEADERLEN的12字节,就会使得总长度大于512字节,超出响应包大小,从而在后续断言检查中失败,程序终止运行。
通过向BIND 9发送精心构造的DNS请求,操纵Additional RR中长度,可以使msg->reserved大小大于500,如下图所示:
图2 构造恶意DNS请求
从下面截图中可以看到BIND 9断言失败、终止运行的情况:
图3 断言失败,程序终止
官方在修复代码中对长度进行了重新计算,加上了之前忽略的DNS_MESSAGE_HEADERLEN长度,确保r.length的大小大于msg->reserved与DNS_MESSAGE_HEADERLEN二者之和。代码修复情况如下图所示:
图4 代码修复
绿盟威胁情报中心NTI关于本漏洞全球影响分析
全球漏洞分布情况
截止到今天,我们统计全球范围内存在此安全漏洞的设备数量就已经达到70,392个。
这些受此漏洞影响的设备数量最多的国家是美国,占全部的43.13%,其次是俄罗斯联邦,占10.7%,第三是中国,占8.58%,剩余国家分别是印度、瑞典、印度尼西亚、巴西、德国、乌克兰、保加利亚等。
Top20国家的受此漏洞影响的设备数量占全球总数的83.87%,其余16.13%的设备分散于其他国家和地区内。
图5 受此漏洞影响的设备全球分布图
图6 全球受此漏洞影响的分布国家TOP20占比
图7 G20成员国受影响暴露面
中国地区受此漏洞影响的设备分布情况
中国各省份及地区分布的受此漏洞影响的设备总数量达6039个。其中台湾地区所占数量最多,有1752台设备受影响,其次是北京、山东等地区。TOP10省份的受此漏洞影响的设备数量占中国总数的84.47%。其余15.53%的数量分散于其他省份或地区内。
图8 受此漏洞影响的设备中国各省份及地区分布图
图9 受此漏洞影响的设备中国TOP10省份排名
防护方案
官方已经发布了版本升级,建议用户升级到最新版本,下载链接如下:http://www.isc.org/downloads
- 使用绿盟科技防护类产品IPS/IDS/NF进行防护。
- 使用绿盟科技的远程评估系统RSAS进行安全评估。
已经购买了绿盟科技防护类产品服务的客户可以通过产品升级进行防护。
- 短期服务:绿盟科技工程师现场处理。确保第一时间消除网络内相关风险点,控制事件影响范围,提供事件分析报告。
- 中期服务:提供 3-6个月的风险监控与巡检服务。根除风险,确保事件不复发。
- 长期服务:基于行业业务风险解决方案(威胁情报+攻击溯源+专业安全服务)。
绿盟科技威胁事件定级标准
声 明
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。