關於支援科學新聞報道
如果您喜歡這篇文章,請考慮透過以下方式支援我們屢獲殊榮的新聞報道: 訂閱。 透過購買訂閱,您將幫助確保未來有關於塑造我們今天世界的發現和想法的有影響力的故事。
在OpenSSL中“心臟出血”漏洞被公佈九天後,我們對損害的程度有了更深入的瞭解。OpenSSL是一種廣泛用於保護網際網路流量的軟體。(感謝無價的xkcd網路漫畫,我們也對“心臟出血”的工作原理有了更好的瞭解。)
好訊息是,最初對受影響網站數量的估計——多達三分之二的網站——被證明是過於悲觀的。密歇根大學的計算機科學家扎基爾·杜魯梅里克、大衛·阿德里安、邁克爾·貝利和J.亞歷克斯·哈爾德曼對Alexa Internet的100萬個頂級域名進行了反覆掃描(https://zmap.io/heartbleed/)。截至4月13日上午11點(美國東部時間),該小組發現,在支援TLS的前100萬個網站中,有6.2%的網站容易受到“心臟出血”的影響,低於該小組4月9日發現的11%。所以這是好訊息:受影響的網站比最初認為的要少,並且大約一半的網站已及時修復。
其餘的大部分訊息都不那麼令人愉快。安全公司CloudFlare在4月11日曾短暫地提高了人們的希望,該公司報告稱,其工程師得出結論,使用“心臟出血”提取伺服器的私鑰非常困難或不可能。幾個小時內,四名回應者對CloudFlare的發現提出了質疑,該公司撤回了其論點。結果是,任何受“心臟出血”影響的站點或服務確實需要吊銷其當前的證書和加密金鑰,並獲取新的證書和加密金鑰。
我們現在也知道,一些意想不到的服務也受到或曾經受到影響,例如雲平臺提供商Akamai;加拿大相當於國稅局的機構;黑莓的iOS和Android的BBM訊息服務(儘管不包括該公司的手機或平板電腦);思科和瞻博網路裝置;以及大約400萬臺執行2012年4.1.1版作業系統的Android手機和平板電腦。
負責在更新軟體時意外引入此漏洞的德國志願者程式設計師羅賓·塞格爾曼是德國電信子公司的一名員工,他公開承認在2011年新年前夜將此漏洞提交到程式碼中(儲存了他的更改)。
當彭博社上週五報道稱美國國家安全域性(NSA)在過去兩年中一直在利用“心臟出血”漏洞時, “心臟出血”對公眾信任的影響加劇了。美國國家安全域性否認了這些指控,但《紐約時報》釋出的一份報告使這些指控聽起來似乎是可信的。據《泰晤士報》報道,美國總統巴拉克·奧巴馬錶示,情報機構應該披露諸如“心臟出血”之類的漏洞,以確保它們得到修復,但他為“明確的國家安全或執法需求”留下了例外。對許多人來說,這種例外情況的範圍過於寬泛。
技術界仍在討論我們是如何走到這一步的以及應該採取哪些措施。問題大致分為三類:網際網路關鍵基礎設施的資金籌集方式;用於編寫和測試軟體的工具;以及軟體被廣泛採用的過程。
一篇《連線》文章指出,許多開源專案都在努力尋找足夠的資金。例如,OpenSSL由四名程式設計師執行,其中只有一名是全職人員。OpenSSL在一年內從未籌集超過100萬美元的資金。許多科技公司向開源專案捐贈大量資金和人力,但這些資金並未在各個專案之間平均分配。正如《連線》指出的那樣,大量廣泛使用的軟體由極少數無償或報酬低的人員控制。
另外兩個問題——軟體的編寫、審查和採用方式——部分是資金不足問題的結果。上週,安全工程師丹·卡明斯基在一篇部落格文章中寫道,識別相互依賴關係非常緊迫。“攻擊者可以訪問的,而防禦者覆蓋最少的,最重要的一百萬行程式碼是什麼?”他問道。找到這些相互依賴關係的挑戰在於,審查程式碼就像做家務:既無聊又耗時;人們只有在沒有做的時候才會注意到,而且做這件事幾乎沒有回報。
羅斯·安德森、雷納·博姆、理查德·克萊頓和泰勒·摩爾在歐洲聯盟網路和資訊安全局(ENISA)關於安全經濟學的2008年報告中提出了一項建議,即在軟體行業引入對有缺陷產品的責任。在這樣的制度下,你可能仍然會有數百萬人依賴於四個喜歡在新年前夜午夜編碼的人編寫的軟體,但是將其納入其產品的供應商將必須更加註意審查程式碼,然後再採用它。