一個“潛伏”了22年的安全漏洞
早在互聯網取得商業成功之前,布賴恩·J·福克斯(Brian J. Fox)就發明了互聯網中使用最廣泛的工具之一。
1987年,年輕的程序員福克斯編寫了Bash(Bourne-Again Shell的簡稱)。如今,逾70%連入網絡的機器都裝有該免費軟件,比如服務器、電腦、路由器、某些類型的手機,乃至冰箱和相機等日常用品。
周四,安全專家警告,Bash存在一個極其令人擔憂的軟件漏洞,而這一漏洞可以被用于控制世界范圍內數以億計的機器,或許會危及蘋果電腦(Macintosh)和使用Android操作系統的智能手機。
這個名為“Shellshock”的漏洞被拿來與今年春天在一重要軟件中發現的“心臟出血”(Heartbleed)漏洞作比較。
不過,Shellshock有可能會帶來更大的威脅。“心臟出血”漏洞可以被用于從服務器上盜取密碼等行動,而Shellshock則可以用于控制整臺機器。前者潛伏了兩年,給大約50萬臺機器造成影響,而后者潛伏了22年后才被發現。
一種存在漏洞的代碼能夠在20多年的時間里不被發現,這可能會令很多人感到震驚。但程序員們并不吃驚。
個人用戶及大型企業依賴的很多商用工具,基于的都是由開源社區的幾名無償志愿者編寫并維護的程序。谷歌(Google)等大公司與開源社區一樣,都是在之前產品的基礎上改造、創造新東西。例如,蘋果操作系統會定期更新,但它建立在Unix等老版程序的基礎之上。
有時候,這種代碼會出現漏洞。隨著時間的流逝,漏洞成為了各種產品的一部分。
福克斯對Bash——相當于用于解讀用戶不同指令的軟件——維護了五年,然后將它交給現年49歲的程序員切特·雷米(Chet Ramey)。這項工作雷米一干就是22年,純屬業余愛好,沒有報酬。他平時在凱斯西儲大學(Case Western Reserve University)擔任高級技術架構師,業余時間才維護Bash。
雷米周四接受采訪時表示,他認為是自己在1992年推出Bash的一項新功能時無意間引入了Shellshock,但他無法確定,因為當時沒有進行詳細的記錄。這些年來,他一個人維護Bash,郵箱里偶爾會收到錯誤報告。
9月12日,另一名開源愛好者斯特凡·查澤拉斯(Stephane Chazelas)聯系上他,稱存在一個可能很危險的漏洞。
在發現這個漏洞的幾個月前,查澤拉斯在另外一個系統里找到了類似問題。他在自己的服務器上測試這個被他稱為“Bashdoor”的漏洞,并尋找修復它的方法。
與雷米和開源社區的安全工作人員合作,查澤拉斯數小時內就編寫好了補丁。然后他們開始聯系各大軟件廠商,同時試圖避免把風聲走漏給黑客。
美國國家標準與技術研究院(National Institute of Standards and Technology)發出了正式警告,宣稱在嚴重程度、影響和可利用性方面,該漏洞達到了最高分10,而且它的復雜性較低,這就意味著很容易被黑客利用。
安全研究人員說,這個漏洞一經通報,他們就發現,通常所說的“白帽黑客”——很可能是安全研究人員——以及有網絡罪犯嫌疑的人,均對互聯網進行了全面掃描。他們擔心,遲早會有人編寫一個程序,利用Shellshock來控制機器。
研究人員指出,相較于蘋果個人筆記本電腦,連接到互聯網的服務器遠遠更容易受到這種攻擊,因為你必須把自己的筆記本電腦連接到一個公共網絡上,而且黑客需要知道你連接到哪個網絡上,才能利用這個漏洞攻擊你。
蘋果尚未回應置評請求。
國土安全部旗下的計算機應急小組(Computer Emergency Readiness Team,簡稱US-CERT)建議用戶和技術管理人員通知Linux或Unix操作系統的供應商,請他們提供相應的補丁。對于家庭用戶,安全專家建議保 持軟件更新到最新版本,并查看生產商網站上的信息,特別是針對路由器這樣的硬件。
即使一些人對開源社區有所質疑,但其最大的支持者提出,該漏洞被發現——就算是22年后才發現——至少也證明了程序員從來沒有停止過糾錯工作。
在本周四接受采訪時,Bash的發明者福克斯開玩笑說,對于發現Shellshock漏洞這件事,他的第一反應是,“啊哈,我的計劃成功了。”
今年春天“心臟出血”漏洞被發現后,非營利組織Linux基金會成立了核心基礎設施聯盟(Core Infrastructure Initiative),與亞馬遜(Amazon)、蘋果(Apple)和谷歌(Google)等各大科技公司開展合作。該聯盟的目的是識別和資助開源基 礎設施的核心件。本周四接受采訪時,Linux基金會的執行總監吉姆·澤姆林(Jim Zemlin)稱,該聯盟正在聯系雷米,看看他有沒有需要幫忙的地方。
“我不認為這個問題的關鍵在開源,”澤姆林說。“軟件正在滲透這個世界的方方面面。糟糕的是,軟件又難又復雜。”
至于開源社區的真諦,開源運動元老埃里克·J·雷蒙德(Eric J.
Raymond)所做的闡述也許是最精辟的。他在1997年寫道,“只要吸引足夠多的眼球,一切漏洞都很淺顯。”但是,哥倫比亞大學(Columbia
University)的計算機科學教授史蒂夫·M·貝羅文(Steven M.
Bellovin)說,在這件事情上,吸引更多眼球的是新功能,而不是質量。“質量需要干苦活、設計、檢查和測試,這些事情根本比不上編程有趣,”貝羅文
說。“如果不培養這些技能,開源社區就會在質量競賽中落后得更遠。”
來自:http://www.techug.com/a-22-years-old-security-bug