Shellshock漏洞:網絡安全噩夢的開始

責任編輯:editor005

2014-10-08 10:59:10

摘自:PCHOME

以下為《連線》文章全文翻譯內容:布萊恩·??怂梗˙rian Fox)駕車從圣巴巴拉(Santa Barbara)來到了波士頓,其車后備箱內放著兩卷巨大的磁帶。即使有了Shellshock這一瑕疵,布萊恩·??怂谷匀粸樽屪约涸洐M跨美國的創(chuàng)造出的Bash而驕傲。

鑒于Linux/UNIX系統(tǒng)近日再次曝出危險等級超“心臟出血”的Bash漏洞——“Shellshock”,《連線》雜志周一特別刊文,介紹了該漏洞的過往與今生,并指出對于已經破損不堪的互聯(lián)網而言,Shellshock或將只是一切噩夢的開始。以下為《連線》文章全文翻譯內容:

布萊恩·福克斯(Brian Fox)駕車從圣巴巴拉(Santa Barbara)來到了波士頓,其車后備箱內放著兩卷巨大的磁帶。

這些并不是音樂磁帶或者視頻磁帶。它們轉載的是電腦軟件代碼及數據,是專為過去有家具般大小的電腦服務的,就像我們在《Dr. Strangelove》和《Three Days of the Condor》等經典電影中看到的一樣。

那一年是1987年,??怂柜{車橫跨美國來到了他的新家。他所攜帶的磁帶裝載了一個名為Bash的軟件程序,而這個程序就是后來在UNIX系統(tǒng)及相關再發(fā)行版中隨處可見,用于橋接用戶與操作系統(tǒng)的重要工具。

??怂故且幻咧休z學生,其平時大量時間都與麻省理工(MIT)的電腦極客們,如理查德·斯托爾曼(Richard Stallman)等一起度過。盡管當時的福克斯只是個腳架焊接工,但其卻有著一顆壯志雄心——要創(chuàng)建出一套完全免費,并可讓人隨意刪節(jié),且不受繁重拷貝條款限制的軟件系統(tǒng)。福克斯將這一想法稱為“自由軟件運動”,其最終的目的是將UNIX操作系統(tǒng)全部重建,并以GNU的方式完全免費地與世人共享。這也便是開源軟件生態(tài)的雛形。

??怂购退雇袪柭谀莻€時候并不知道,他們正在開發(fā)的軟件隨后會成為全世界通信基礎設施幾十年里幾近不可或缺的重要工具。在??怂箤删泶艓牟ㄊ款D帶回到加州后,此時已有不少工程師開始注意到并使用Bash,有的甚至還幫助進行開發(fā)。在UNIX的帶動下,GNU和Linux開始迅速崛起,尤其是后者如今儼然已成為當代互聯(lián)網的軀干組成,Bash也因此進駐了數以億計的計算機當中。

直到1992年的某一天,一位工程師將一個程序Bug鍵入到了Bash中。又過了20多年,終于有安全專家在上周發(fā)現了這一沉睡已久的安全漏洞。這一Bug被稱專業(yè)人士們稱為Shellshock,其危害性將可導致黑客肆意大規(guī)模地破壞當今的互聯(lián)網結構。

Shellshock是人類計算機史上已知的、最老的、尚未修復的程序Bug。事實上在今年早些時候,專家們也在另一個已存在多年的開源軟件上找到了一個名為“心臟出血”(Heartbleed)的Bug。這兩個Bug都表明出當今互聯(lián)網的一個問題,即除非我們能夠改變代碼編寫的方式和軟件審查的方式,否則同樣的問題或將一直阻礙和威脅著互聯(lián)網的發(fā)展?;ヂ?lián)網建立在大量被重復使用的軟件之上,其中一些軟件甚至是幾十年前就已存在的,而那個時候,我們甚至還沒有對安全問題的審查考慮。

譬如Bash被創(chuàng)立之時,就沒有人想過要為其遭受網絡攻擊的可能性進行評估,因為這在當時毫無意義。

“(當時)去擔心這個軟件會成為地球上被使用最多的一個,并要考慮會被一些惡意的人利用在網上發(fā)起攻擊,這完全是不現實的。”??怂拐f,“當可能的條件具備時,Bash已經被使用有15年之久了。”在今天,谷歌、Facebook,或者任何一個互聯(lián)網巨頭都在使用Bash,因為它是開源的,任何人都可以在任何時候對它進行審查。然而事實是,盡管任何人都可以在任何時候去審查Bash的安全性,但卻沒有一個人想過這么去做。這種現象需要發(fā)生改變。

網絡是怎么建成的

從數碼的角度看,??怂沟腂ash程序大致與iPhone的桌面截屏圖大小一致。但在1987年,這個程序是無法利用電子郵件發(fā)送至美國彼岸的。當時的互聯(lián)網雛形才剛剛形成,跨越全球的WWW概念則還處于醞釀中。于是這就有了福克斯駕車帶著兩卷磁帶由圣巴巴拉開往波士頓的一幕。

Bash是一個shell工具,是一個在圖形用戶界面出現前用于與計算機進行交流的指令行鍵入工具。這有點類似Windows下的命令提示符工具。盡管它看上去很“古老”,但卻是在互聯(lián)網盛行的時代,在Apache網絡服務器遍及的時代,橋接網頁應用軟件和操作系統(tǒng)之間最簡單和最高效的方式——只需要在Bash shell下鍵入一系列指令,網頁服務器就可以從計算機中獲得文件信息——這就是當今互聯(lián)網的基礎。一套建立在腳本之上的腳本指令。

今天,Bash仍舊在網頁服務器管理工具中扮演重要角色。Mac系統(tǒng)中也有它的存在。事實上,任何運行Linux操作系統(tǒng)或UNIX操作系統(tǒng)的公司都在通過該工具快速而簡單地與運行于這些系統(tǒng)之上的應用軟件建立連接。

然而,領導Bash開發(fā)的程序員卻并不為任何一家互聯(lián)網巨頭工作。他甚至不在為一家科技公司工作。這名程序員名叫切特·雷米(Chet Ramey),是克里夫蘭Case Western Reserve University的程序開發(fā)人員,并只在業(yè)余時間對Bash進行維護。

“相當長一段時間了”

80年代末,雷米取代??怂钩蔀榱薆ash的領導開發(fā)者。在9月12日這天,雷米收到了一封來自安全專家史蒂芬·查茲拉斯(Stephane Chazelas)有關Shellshock程序Bug的電子郵件。這是一個高危的安全漏洞,全世界的人在上周都意識到了這個問題——僅在數個小時,就有黑客發(fā)布了攻擊代碼,可利用

Shellshock漏洞將一臺未補丁的機器瞬間轉變稱可任意操控的僵尸網“肉雞”。

雷米并沒有權限訪問Bash開發(fā)項目原始代碼的更新日志,這些數據是在90年代初期創(chuàng)立的。不過雷米認為自己很可能是那個編寫了Shellshock程序Bug的人,而Bug創(chuàng)建的時期大約要追溯到1992年的某個時候。這個時間顯然足以讓Shellshock成為當今最古老、最重要,且尚未修補的安全漏洞?!哆B線》為此還特別聯(lián)系了普渡大學的尤金·斯帕福德(Eugene Spafford)教授以證實猜測。而斯帕福德也明確表示:“我無法回憶起任何其它尚未修補的比這個更古老的漏洞。當然這個世界上肯定還有很多歷史更久遠的Bug存在,但考慮到漏洞產生的潛在影響及存在時間,Shellshock無疑是最耀眼的。”

不過,上述的情況讓那些對“心臟流血”十分熟悉的人有似曾相識的感覺。“心臟流血”也是發(fā)現于一個歷史悠久的開源軟件項目——SSH,該軟件同樣亦被廣泛使用。與SSH項目的開發(fā)一樣,Bash也從未有過任何安全性審查,軟件是由一組志愿愛好者維護開發(fā)的,且基本上他們并不會因開發(fā)Bash而獲得任何財務方面的贊助。很不幸的是,這種模式也正是互聯(lián)網的發(fā)展過程。

“多雙眼睛”的謊言

安全咨詢公司Errata Security首席執(zhí)行官羅伯特·格萊漢姆(Robert Graham)指出,Shellshock對開源軟件的主要用戶撒了一個謊言,即:開源軟件允許“許多雙眼睛”來共同監(jiān)督和修復Bug,這能使其效率和安全性要好過閉源的商業(yè)版權軟件。這種美好的想法亦被稱為“林納斯定律”(Linus's Law)。

“如果真有許多雙眼睛在過去25年里一直都在關注Bash,那么這些Bug早在多年前就會被發(fā)現了。”格萊漢姆上周在博客上寫到。

“林納斯定律”是由林納斯·托瓦茲(Linus Torvalds)創(chuàng)建了Linux操作系統(tǒng)后命名。Shellshock漏洞曝出后,林納斯表示該定律依舊成立。

“有很多代碼實際上并沒有很多雙眼睛在監(jiān)督。很多開源項目也并沒有真正讓大量開發(fā)者參與到其中,即使其中一些是非常核心的開源應用。”林納斯表示。

這個問題在任何軟件中都是存在的,無論是開源或者閉源??傮w來說,我們更難說清閉源軟件里究竟存在多少Bug,譬如甲骨文的數據庫應用。而在大約十年前,微軟也曾面臨過嚴重的安全問題,因為該公司部分代碼并未沒有正確地經過審核。但在經歷過2003年的Windows Blaster蠕蟲問題后,微軟終將安全審查列到了第一位。于是在接下來的十年里,微軟的代碼質量提高了。微軟每年都會聘請大量的“白帽”黑客和花費千萬美元來保證產品的安全性。如今開源軟件社區(qū)也將會開始同樣的旅程。

今年5月,在“心跳流血”漏洞首次公開后不久,Linux基金會籌集了600萬美元,以針對一些被廣泛使用的開源項目的安全性進行一次大檢修,其中包括了SSH、NTP(網絡事件協(xié)議)等等。然而不幸的是,Bash并未在其列。

“這是不可預料的。”Linux基金會執(zhí)行董事吉姆·澤姆林(Jim Zemlin)表示,“但當然的,我的人一定會去接觸相關的開發(fā)人員,以看看是否能提供幫助。”

這很好,但前提是要在Bug發(fā)現前繼續(xù)維護好互聯(lián)網。希望Linux基金會、谷歌或Facebook等可以繼續(xù)做好這一點。

即使有了Shellshock這一瑕疵,布萊恩·??怂谷匀粸樽屪约涸洐M跨美國的創(chuàng)造出的Bash而驕傲。

“在它首個Bug被發(fā)現之前,這個軟件已經存在27年了。”??怂拐f,“鑒于軟件的使用情況和Bug的發(fā)現比例,這個結果非常令人難以忘記。”

鏈接已復制,快去分享吧

企業(yè)網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號