绿盟科技发布ISC BIND 9 DoS漏洞技术分析与防护方案

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

高危漏洞通告 BIND最新漏洞将导致DoS攻击 绿盟科技发布预警通告 之后,绿盟科技发布技术分析与防护方案。全文如下:

ISC互联网系统协会(Internet Systems Consortium)官网发布了一个安全通告,公布了编号为CVE-2016-2776的漏洞及其修复情况。该漏洞位于文件buffer.c中,当程序在为精心构造的查询请求构建响应包时会遇到断言失败,导致程序崩溃,从而造成拒绝服务。详情请见如下链接:https://kb.isc.org/article/AA-01419

什么是BIND

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个月的风险监控与巡检服务。根除风险,确保事件不复发。
  • 长期服务:基于行业业务风险解决方案(威胁情报+攻击溯源+专业安全服务)。

绿盟科技声明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。



原文发布时间:2017年3月24日

本文由:绿盟科技 发布,版权归属于原作者

原文链接:http://toutiao.secjia.com/nsfocus-isc-bind-9-dos-vulnerability-analysis-protection

本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站

相关文章
|
6月前
|
存储 安全 算法
智能合约中Gas限制和DoS攻击漏洞
智能合约中Gas限制和DoS攻击漏洞
78 7
|
负载均衡 网络协议 安全
SYNPROXY:廉价的抗DoS攻击方案
DoS攻击是一个永恒的问题,虽然专业厂商的防火墙,负载均衡类的网关设备能比较有效的防御DoS攻击,但黑客们更倾向于x86+GNU/Linux的组合,原因很简单:足够的廉价。 在linux内核3.13里终于加入了SYNPROXY的新功能,这个模块是一个基于链接跟踪的netfilter扩展,主要干的工...
819 0
|
7月前
|
存储 Shell Linux
【Shell 命令集合 磁盘维护 】Linux 创建DOS文件系统 mkdosfs命令使用指南
【Shell 命令集合 磁盘维护 】Linux 创建DOS文件系统 mkdosfs命令使用指南
103 2
|
7月前
|
算法 Linux Shell
【Shell 命令集合 磁盘管理 】Linux 于挂入MS-DOS文件系统 mmount 命令使用指南
【Shell 命令集合 磁盘管理 】Linux 于挂入MS-DOS文件系统 mmount 命令使用指南
101 0
|
7月前
|
存储 Linux Shell
【Shell 命令集合 磁盘维护 】Linux 创建MS-DOS文件系统 mkfs.msdos命令使用教程
【Shell 命令集合 磁盘维护 】Linux 创建MS-DOS文件系统 mkfs.msdos命令使用教程
111 0
下一篇
DataWorks