博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
绿盟科技发布ISC BIND 9 DoS漏洞技术分析与防护方案
阅读量:5881 次
发布时间:2019-06-19

本文共 2557 字,大约阅读时间需要 8 分钟。

之后,绿盟科技发布技术分析与防护方案。全文如下:

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函数中,此函数的实现如下图所示:

dns%20message%20renderbegin.png

图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,如下图所示:

dns%20request.png图2 构造恶意DNS请求

从下面截图中可以看到BIND 9断言失败、终止运行的情况:

program%20terminated.png

图3 断言失败,程序终止

官方在修复代码中对长度进行了重新计算,加上了之前忽略的DNS_MESSAGE_HEADERLEN长度,确保r.length的大小大于msg->reserved与DNS_MESSAGE_HEADERLEN二者之和。代码修复情况如下图所示:

code%20repaired.png

图4 代码修复

绿盟威胁情报中心NTI关于本漏洞全球影响分析

全球漏洞分布情况

截止到今天,我们统计全球范围内存在此安全漏洞的设备数量就已经达到70,392个。

这些受此漏洞影响的设备数量最多的国家是美国,占全部的43.13%,其次是俄罗斯联邦,占10.7%,第三是中国,占8.58%,剩余国家分别是印度、瑞典、印度尼西亚、巴西、德国、乌克兰、保加利亚等。

Top20国家的受此漏洞影响的设备数量占全球总数的83.87%,其余16.13%的设备分散于其他国家和地区内。

NTI%20devices.png

图5 受此漏洞影响的设备全球分布图

global%20top20.png

图6 全球受此漏洞影响的分布国家TOP20占比

G20%20member.png图7 G20成员国受影响暴露面

中国地区受此漏洞影响的设备分布情况

中国各省份及地区分布的受此漏洞影响的设备总数量达6039个。其中台湾地区所占数量最多,有1752台设备受影响,其次是北京、山东等地区。TOP10省份的受此漏洞影响的设备数量占中国总数的84.47%。其余15.53%的数量分散于其他省份或地区内。

NTI%20chinese%20devices.png

图8 受此漏洞影响的设备中国各省份及地区分布图

china%20top20.png图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

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

你可能感兴趣的文章
Linux 进程中 Stop, Park, Freeze【转】
查看>>
文件缓存
查看>>
PHP盛宴——经常使用函数集锦
查看>>
重写 Ext.form.field 扩展功能
查看>>
Linux下的搜索查找命令的详解(locate)
查看>>
福利丨所有AI安全的讲座里,这可能是最实用的一场
查看>>
开发完第一版前端性能监控系统后的总结(无代码)
查看>>
Python多版本情况下四种快速进入交互式命令行的操作技巧
查看>>
MySQL查询优化
查看>>
【Redis源码分析】如何在Redis中查找大key
查看>>
android app启动过程(转)
查看>>
安装gulp及相关插件
查看>>
如何在Linux用chmod来修改所有子目录中的文件属性?
查看>>
Applet
查看>>
高并发环境下,Redisson实现redis分布式锁
查看>>
关于浏览器的cookie
查看>>
Hyper-V 2016 系列教程30 机房温度远程监控方案
查看>>
.Net 通过MySQLDriverCS操作MySQL
查看>>
JS Cookie
查看>>
ubuntu Unable to locate package sysv-rc-conf
查看>>