美文网首页互联网科技程序员@IT·互联网
[译]揭秘为什么更小的DNS数据包使网络更安全

[译]揭秘为什么更小的DNS数据包使网络更安全

作者: 微笑0619 | 来源:发表于2016-04-08 16:11 被阅读415次

原文:A Deep Dive Into DNS Packet Sizes: Why Smaller Packet Sizes Keep The Internet Safe

译者:杰微刊兼职翻译汪建

昨天我们写了一篇关于我们网络遭受到每秒400G流量的攻击的文章,其中一种攻击网站的方式是通过不断重复执行DNS查询操作进行DDoS攻击,由于DNS查询请求只是一个很小的包,而响应包很大,所以攻击者可以通过伪造DNS请求包中的请求IP,从而将响应包发往受攻击的服务器上,这种模式就是所谓的反射攻击。

域名有DNS安全扩展机制,因为DNS请求响应的包的大小不同,这通常被滥用于这种类型的流量攻击,许多DNS服务提供商挣扎着跟基于DNS安全扩展机制的DDoS攻击作斗争。就在上个月,Akamai发布了一份关于使用DNS请求.gov域名去DDos攻击其他域名的报告,他们说从十一月份以来,他们已经看到了400起这类的攻击。

为了防止CloudFlare上的域名免遭受这种类型的DNS放大攻击,我们采取了预防措施去确保大多数DNS的响应都被我们装到512字节的UDP数据包中,即使当某域使用了DNS安全扩展协议。我们不得不对我们的DNS安全扩展采取创新实现,我们使用了DNS安全扩展协议中很少使用的一个签名算法,甚至可以在请求访问期间让DNS记录类型过期。

椭圆曲线:确保破解难度

荷兰著名数学家Arjen Lenstra从能量的角度讨论了密码学,在我们之前的博客我们也曾经提及过他。他将破解密码需要花费的精力与这些精力能烧沸腾多少水进行形象比较,破解一个228位的RSA密钥需要的能力等同于煮沸一茶匙的水,而另一方面,要想破解一个228位的椭圆曲线密钥则需要的能力等同于将地球上所有的水都煮沸。

使用椭圆曲线密码学中的ECDSA签名算法,我们可以用更小的密钥达到同样的安全级别,而对于同等安全级别RSA密钥则需要更大。我们的椭圆曲线密钥长度为256位,实力相当于3100位长度的RSA密钥(大多数RSA密钥只有1024位或2048位)。你可以比较下面的签名后的DNSKEY集,其中一个是RSA密钥而另外一个是ECDSA密钥,我们的密钥大小仅仅是RSA密钥和签名长度的四分之一。

还有一个好处是,ECDSA快如闪电,并且实际上我们的工程师Vlad Krasnov对其进行优化帮助其跑得更快,通过汇编程序实现本地方式的ECDSA,他使签名速度增加了21%。他的优化现在作为1.6版本Go语言的标准加密库。现在仅仅需要一瞬间就能完成加密,只需0.0001秒,就能对一个DNS响应记录进行签名。

拒绝ANY查询类型:一个DNS记录类型的死亡

在Akamai的安全报告中,作者得出结论:DNS安全扩展是造成DDoS攻击的唯一原因,因为他有一个很大的响应包,但是另外一个关于大响应包的原因是,攻击者使用ANY类型请求去最大限度地放大这个因素。ANY类型查询都是一个内置的调试工具,意思就是说DNS服务器将返回每个对应域名的DNS记录。不幸的是,他们经常被用于发动大规模的DDoS攻击。

九月份,我们停止了对ANY类型请求的响应以及发布了一个关于反对ANY类型作为互联网标准的互联网草案,我们小心翼翼地进行着这项工作,并与剩下不多的还在使用ANY类型请求的软件厂商密切合作,确保不会影响他们的生产系统。

一个DNS安全扩展的ANY类型的查询,cloudflare.com会返回231字节的响应,而与Akamai's的报告中的域名长度相比,同样是ANY类型它几乎要返回一个18倍大的包,多达4016字节。

椭圆曲线+拒绝ANY类型

通过保证我们的数据包足够小并放进512字节的UDP数据包,我们就已经保证了我们域名的安全而免遭受放大因素的DDoS攻击。如果你对在CloudFlare上使用DNS安全扩展感兴趣,这里有一些简单的步骤让你设置。如果你对技术性挑战感兴趣,我们欢迎听到你的消息。

相关文章

  • [译]揭秘为什么更小的DNS数据包使网络更安全

    原文:A Deep Dive Into DNS Packet Sizes: Why Smaller Packet ...

  • 【wireshark】如何对Wireshark抓包文件进行脱敏?

    随着网络数据包分析技术的应用,关于数据包捕获和分析的安全性问题也随之而来,由于网络数据包或多或少会带些敏感信息,涉...

  • iOS面试之网络大全

    网络 网络内容如下 HTTP协议 HTTPS与网络安全 TCP / UDP DNS解析 Session/Cooki...

  • iOS面试之网络模块

    网络 网络内容如下 HTTP协议 HTTPS与网络安全 TCP / UDP DNS解析 Session/Cooki...

  • iOS网络优化

    网络可优化部分 缓存DNS映射关系 为什么要DNS缓存:减少DNS解析时间,防止DNS劫持、服务器动态部署。需要注...

  • 主流数据包捕获技术的比较与分析

    前言 在网络安全领域中数据包捕获技术的应用十分广 泛,在当前高速网络环境中,如何实时、高效、完整、快速捕获数据包是...

  • 网络知识相关概念

    网络知识相关概念 何为DNS? local DNS 一般指的是哪些? 为什么会出现DNS解析异常? 什么是SNI?...

  • Charles抓取HTTPS请求

    抓取HTTPS数据包 相对于HTTP类的网络请求,HTTPS请求更加安全,这也使得抓取这类的数据包进行分析要麻烦一...

  • 假消息攻击

    利用网络协议设计中的缺陷,通过发送伪造的数据包达到欺骗目标、从中获利的目的。 假消息攻击的分类: 应用层:DNS欺...

  • Protocol Buffers 的技术优势详述

    前言 APP由于其移动特性,网络通讯要求数据结构更小、更快、更安全,主流的数据协议逐渐从文本协议迁移到序列化协议:...

网友评论

    本文标题:[译]揭秘为什么更小的DNS数据包使网络更安全

    本文链接:https://www.haomeiwen.com/subject/rqmvlttx.html