云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

文件存储_百度云链接格式_便宜的

小七 141 0

DNS包大小的深入研究:为什么更小的包大小可以保证Internet的安全

CC BY 2.0图片作者:Robert Couse Baker昨天我们写了一篇关于我们在网络上看到的每秒400千兆位的攻击。攻击者DDoS网站的一种方法是重复进行DNS查找,这些查找有小的查询,但有大的答案。攻击者伪造自己的IP地址,以便将DNS应答发送到他们要攻击的服务器,这称为反射攻击。由于某些响应的大小,具有DNSSEC的域通常是这种滥用的成熟时机,许多DNS提供商都在努力打击基于DNSSEC的DDoS攻击。就在上个月,Akamai发布了一份关于利用DNS查找针对其DNSSEC签名的.gov域到DDoS其他域的攻击的报告。他们说,自去年11月以来,他们已经见过400起这样的袭击事件。为了防止CloudFlare上的任何域以这种方式被滥用进行DNS放大攻击,我们采取了预防措施,以确保我们发送的大多数DNS应答适合512字节的UDP数据包,即使该区域是用DNSSEC签名的。要做到这一点,我们必须在DNSSEC的实现中具有创造性。我们选择了一种很少用于DNSSEC的签名算法,甚至一路否决了DNS记录类型。椭圆曲线:保持紧密荷兰数学家阿尔詹·伦斯特拉(Arjen Lenstra)以能量的方式谈论密码学,这是出了名的。(我们以前在我们的博客上报道过他一次)。他计算出破解密码算法所需的能量,并将其与能量能烧开的水进行比较。破解一个228位的RSA密钥所需的能量比烧开一茶匙水要少。另一方面,要破解228位椭圆曲线密钥,需要将地球上所有的水煮沸所需的能量。在ECDSA签名算法中使用椭圆曲线密码,我们可以使用与较大的RSA密钥具有相同安全级别的较小密钥。我们的椭圆曲线密钥长度为256位,相当于3100位的RSA密钥(大多数RSA密钥只有1024或2048位)。您可以比较下面两个签名DNSKEY集,一个RSA实现与我们的ECDSA实现。我们的密码只有匹配的RSA密钥和签名的四分之一。作为一个附带的好处,ECDSA的速度非常快,而我们的工程师弗拉德克拉斯诺夫(vladkrasnov)实际上帮助它更快了。通过在汇编程序中本机实现ECDSA,他能够将签名速度提高到21x,他的优化现在已经成为Go版本1.6的标准Go加密库的一部分。现在,我们只需一秒钟,即0.0001秒,就可以签署DNS应答的记录。抨击任何:一个DNS记录类型的讣告在Akamai的安全报告中,作者得出的结论是,DNSSEC是DDoS攻击使用的大答案的唯一原因,但造成大答案的另一个原因是攻击者使用任何查询来最大化放大因子。任何查询都是一个内置的调试工具,用于返回名称的每个DNS记录。不幸的是,它们更多地被用于发起大型DDoS攻击。9月,我们停止回答任何问题,并发布了一份互联网草案,开始将任何贬损行为作为互联网标准。我们仔细地做了这件事,并与剩下的几个软件供应商密切合作,他们使用任何软件来确保我们不会影响他们的生产系统。已启用DNSSEC的任何查询cloudflare.com网站返回231字节的答案。相比之下,Akamai论文中所称的域返回的ANY查询几乎大了18倍,达到了惊人的4016字节。ECDSA+任何通过使我们的数据包足够小,能够容纳512字节的UDP数据包,我们可以保证我们的域安全,不会成为DDoS攻击的放大因素。如果您对将DNSSEC与CloudFlare一起使用感兴趣,下面是一些简单的设置步骤。如果您有兴趣处理这些技术挑战,我们很乐意听到您的意见。