據說比Heartbleed更危險巨型砲彈震擊是由法國人 Stéphane Chazelas 發現的,他在蘇格蘭一家機器人公司擔任 IT 經理。他不是安全研究員,但他是 Unix、GNU Linux 和一般自由軟體的專家。他的興趣包括命令解釋器(通常稱為 shell)和編寫可靠的腳本。因此,他定期為各種討論論壇做出貢獻。01網聯繫了他以了解更多資訊。
01net:你是怎麼發現這個缺陷的?
史蒂芬‧查澤拉斯:或多或少是偶然的,透過結合兩個想法。幾個月前,我報告了 C 程式語言庫 (GNU libc) 中的一個漏洞,該漏洞依賴執行環境變數。我將這項原則與 Bash 的這個鮮為人知的功能聯繫起來,該功能允許您透過環境變數定義函數。當你洗完澡後,你的腦海中就會浮現出這樣的想法。
乍一看,這個缺陷似乎很簡單。以前怎麼沒發現?
SC:是的,這很令人驚訝。我也問自己這個問題。我認為問題在於沒有人將 Bash(或任何 shell)視為威脅。幾十年來,出於安全原因,建議避免使用 shell 處理不受信任的資料輸入。每個人都會告訴您,對 CGI 網頁使用 shell 腳本(即由程式動態產生)是一個非常糟糕的主意。主要原因是shell語法複雜。寫好劇本很難。
此外,沒有人預料到資料輸入可能來自 Bash 環境變數如此意想不到的地方。沒有人會想到變數的內容會影響 shell 的行為,這確實是 Bash 開發人員的一大錯誤。
一些安全專家估計需要數年時間才能消除這個缺陷。為什麼這麼難?
SC:主要是因為Bash 可能安裝在難以更新的系統中,要么是因為它不是有意的,要么是因為那些人可能沒有技能或動機這樣做(例如,對於嵌入式系統或連接的對象數量,編者註) 。甚至因為沒有人再提供補丁了。
對網路安全有何影響?
SC:這並不是什麼新鮮事。這是犯罪者可以利用的另一個手段。但最終,它是積極的,因為它是一個將被解決的漏洞,因此少一個意味著犯罪分子可以利用。
用戶因該缺陷會面臨什麼風險?
SC:在接下來的幾天和幾週內,我們必須保持警惕並整理收到的資訊。在我看來,這是一個會說很多事情及其對立面的時期。惡意者可以利用這一點,例如透過發送電子郵件鼓勵人們安裝以附件形式提供的虛假補丁,並從網站下載。
您對迄今為止發布的修復有何看法?
SC:Linux 發行版的補丁是由 Bash 的維護者 Chet Ramey 提供的。從我聯絡 Chet 和發行版編輯到漏洞發布(連同修補程式)之間,我們討論過是直接修復 bug 還是採取更嚴厲的措施,例如更改函數匯入。但這會影響相容性。最後,實作了一個簡單的修復。
隨後,人們發現了 Bash 的另一個缺陷,但影響要小得多。這意味著很快就會有另一個補丁發布。接下來,Bash開發者很可能會對解釋器進行更深層的修改。
另請閱讀:
Shellshock:第一次攻擊席捲整個網絡,於 26/09/2014