一周海外安全事件回顾(2014.04.14-04.20)

安全
在上周,“心脏滴血”(Heartbleed)仍旧是最热的话题。谁应该为滴血漏洞负主要责任呢?就在安全界争论到最热闹的时候,史上“最伟大”的程序猿出现了。他说,你们都别吵了,那段OpenSSL问题代码尼玛就是我写的。

在上周,“心脏滴血”(Heartbleed)仍旧是最热的话题。谁应该为滴血漏洞负主要责任呢?就在安全界争论到最热闹的时候,史上“最伟大”的程序猿出现了。他说,你们都别吵了,那段OpenSSL问题代码尼玛就是我写的。

[[111852]]

谁应该为“心脏滴血”负主要责任?

到底谁该为“心脏滴血”漏洞负责,这是安全界最近争论的焦点之一。大家众说纷纭,靠谱的不靠谱的,说什么的都有。就在这个时候,“史上最伟大”的程序猿出现了——他就是Robin Seggelmann。Seggelmann说,你们都别吵了,那段OpenSSL问题代码尼玛就是我写的。

[[111853]]

“我写了那段代码,忽略了一个必要的验证,其实就是疏忽了,” Seggelmann对《卫报》说,“然后在代码验证阶段犯了同样的问题,这个问题在版本发布时仍旧存在。”

不管Seggelmann的这个“疏忽”(Oversight)对人类社会到底造成了多么严重的后果,他无疑是一个勇敢的攻城狮。甭说别的,换上你,你敢承认吗?

很多人借此大力抨击开源社区:尼玛都是瞎子吗?不是说任何BUG逃不过开源社区几百万程序猿的眼睛吗?这次尼玛怎么没人看出来呢?

勇敢的程序猿Seggelmann不这么认为。他充分肯定了开源社区。他认为最根本的问题不在开源这种形式,不仅如此,事实上开源社区太需要更多的资金和资助。开源社区表面看起来红红火火,实际上很多社区都面临生存的挑战。

一周海外安全事件回顾(2014.04.14-04.20)

这和CAST的Peter Pizzutillo的观点不谋而合。Pizzutillo认为开源社区的重大问题正是源于大多人的不劳而获。“90%的网站只是拷走代码,然后拍拍屁股就走了,不会对开源社区做任何贡献,” Pizzutillo忿然道,“开源社区远不象以前那样活跃,现在只剩下一小部分狂热的开发者,归罪于开源社区自身是不公平的。此外,只有开源社区,没有开放测试社区,这就不行了。开源社区只有在代码的索取者同时也是代码的贡献/反馈者的前提下才可能长期有效运作”。

更为激进的批评者认为诸如Google,Cisco,BlackBerry和Juniper这些“滴血漏洞”的受害者公司纯属咎由自取。“他们就是活该!从OpenSSL拷走代码,尼玛不测试一下就用了?”批评者称,很多大公司的程序猿直接从诸如OpenSSL这样的开源社区拷贝代码,然后不经过必要的安全测试就上线了。因此,一个开放源代码漏洞成为众多网站的通病是很正常的事情。

普遍的观点是,指望开源社区进行全面和细致的代码安全性测试是非常不现实的。很多人因此提议,类似Google这样的大公司应该拿些钱出来资助开源社区。开源社区有钱了,可以建立更为完善的机制,可以吸引更多的代码高手,这样一来,相应的安全测试机制就可以自然而然地形成。

观点貌似有些道理。不管开源还是不开源,Seggelmann一定不是第一个编写出存在如此重大bug的程序猿,也肯定不是最后一个。开源社区存在的安全问题和解决方法的讨论因此番“心脏滴血”漏洞的爆发,显得比以往都更急迫。

“心脏滴血”可能引发DDoS攻击吗?

“‘心脏滴血’漏洞可以被利用发起放大DDoS攻击,放大的倍数是3000倍!”对于这样的论断你怎么看?这是Twitter上的言论。

扯淡!你可能会这么说,NTP才尼玛放大400倍,“Heartbleed”怎么可能放大得更多?

你说的很对。问题的关键不是放大多少倍,而是“Heartbleed”基于TLS,需要维持TCP会话,NTP基于UDP,没有状态,因此不可能发生类似NTP或DNS的反射放大情况。

不过,有人提醒,不要忘了TLS还有个兄弟——DTLS——基于UDP的TLS哦。基于UDP可以取得更高的通信性能,但是DTLS可是不基于状态的哦。那么是否可以被利用发起反射放大DDoS攻击呢?

针对这个问题,Black Lotus的Jeffrey A. Lyon做了详细解答。

Lyon的答案:不太可能。感谢RFC4347,它在DTLS通信中增加了cookie机制。发送一方在发送request信息的时候,加入cookie,并要求应答一方在返回的报文中携带同样的cookie,才可能继续接下来的通信。这样一来在很大程度上规避了反射的风险。

[[111854]]

其次,如果攻击者绕过了Cookie机制怎么办?不是不可能。但是,DTLS自身具有天然的免疫力。首先,DTLS的应用很少。没有获得广泛应用的原因恰恰是其安全机制。虽然是UDP,但是由于引入了很多类似TCP的验证,使得原有UDP的高效丧失,效率上不比TCP高,因此采用DTLS的价值不太大。即便采用了DTLS,利用request信息获得反射response报文的放大倍数是相当低的,比NTP和DNS反射倍数小很多,攻击ROI是很低的。攻击者与其使用复杂的DTLS来放大,不如选择更简单方便的NTP或DNS协议。

简言之,至少在当下,利用“心脏滴血”漏洞发动DDoS攻击的可能性不大。但是Lyon提醒,当下的结论只是当下的猜测,不排除在不远的将来有人会利用类似的漏洞发起DDoS攻击。

责任编辑:蓝雨泪 来源: FreeBuf
相关推荐

2014-01-07 14:59:21

2014-04-14 14:02:27

2013-12-03 09:38:39

安全事件海外安全事件

2013-12-30 10:59:17

2013-12-09 14:59:25

2014-03-18 11:33:03

2014-05-30 09:17:11

2014-11-11 10:52:46

2014-04-29 14:22:34

2014-05-19 09:54:44

2014-11-19 13:32:38

2014-06-09 11:05:08

2014-04-02 14:12:34

2014-05-13 16:13:44

2014-12-03 11:12:53

2015-07-19 20:30:11

2023-10-08 00:05:28

2014-12-29 09:10:47

2016-01-11 10:10:53

2015-04-13 00:24:17

点赞
收藏

51CTO技术栈公众号