一周海外安全事件回顧(2014.04.14-04.20)
在上周,“心臟滴血”(Heartbleed)仍舊是最熱的話題。誰應該為滴血漏洞負主要責任呢?就在安全界爭論到最熱鬧的時候,史上“最偉大”的程序猿出現了。他說,你們都別吵了,那段OpenSSL問題代碼尼瑪就是我寫的。
?? ??
誰應該為“心臟滴血”負主要責任?
到底誰該為“心臟滴血”漏洞負責,這是安全界最近爭論的焦點之一。大家眾說紛紜,靠譜的不靠譜的,說什么的都有。就在這個時候,“史上最偉大”的程序猿出現了——他就是Robin Seggelmann。Seggelmann說,你們都別吵了,那段OpenSSL問題代碼尼瑪就是我寫的。
?? ??
“我寫了那段代碼,忽略了一個必要的驗證,其實就是疏忽了,” Seggelmann對《衛報》說,“然后在代碼驗證階段犯了同樣的問題,這個問題在版本發布時仍舊存在?!?/p>
不管Seggelmann的這個“疏忽”(Oversight)對人類社會到底造成了多么嚴重的后果,他無疑是一個勇敢的攻城獅。甭說別的,換上你,你敢承認嗎?
很多人借此大力抨擊開源社區:尼瑪都是瞎子嗎?不是說任何BUG逃不過開源社區幾百萬程序猿的眼睛嗎?這次尼瑪怎么沒人看出來呢?
勇敢的程序猿Seggelmann不這么認為。他充分肯定了開源社區。他認為最根本的問題不在開源這種形式,不僅如此,事實上開源社區太需要更多的資金和資助。開源社區表面看起來紅紅火火,實際上很多社區都面臨生存的挑戰。
?? 
這和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哦?;赨DP可以取得更高的通信性能,但是DTLS可是不基于狀態的哦。那么是否可以被利用發起反射放大DDoS攻擊呢?
針對這個問題,Black Lotus的Jeffrey A. Lyon做了詳細解答。
Lyon的答案:不太可能。感謝RFC4347,它在DTLS通信中增加了cookie機制。發送一方在發送request信息的時候,加入cookie,并要求應答一方在返回的報文中攜帶同樣的cookie,才可能繼續接下來的通信。這樣一來在很大程度上規避了反射的風險。
?? ??
其次,如果攻擊者繞過了Cookie機制怎么辦?不是不可能。但是,DTLS自身具有天然的免疫力。首先,DTLS的應用很少。沒有獲得廣泛應用的原因恰恰是其安全機制。雖然是UDP,但是由于引入了很多類似TCP的驗證,使得原有UDP的高效喪失,效率上不比TCP高,因此采用DTLS的價值不太大。即便采用了DTLS,利用request信息獲得反射response報文的放大倍數是相當低的,比NTP和DNS反射倍數小很多,攻擊ROI是很低的。攻擊者與其使用復雜的DTLS來放大,不如選擇更簡單方便的NTP或DNS協議。
簡言之,至少在當下,利用“心臟滴血”漏洞發動DDoS攻擊的可能性不大。但是Lyon提醒,當下的結論只是當下的猜測,不排除在不遠的將來有人會利用類似的漏洞發起DDoS攻擊。




















