開源等於安全嗎?
今年,汽車圈的那些事占據著媒體頭條,比如黑客入侵吉普車、大眾汽車在排放測試上作弊, 這說明公眾開始思索汽車的軟件問題,這是前所未有的。有些專家可能會爭辯說,強製這些軟件開源,是一個解決辦法。雖然將這些軟件置於公眾的審視之下是有明 顯好處的,但開放代碼這種行為本身,並不能給你帶來保障。就像Sam Liles在一封電子郵件中給我解釋的那樣,開源並沒有阻止“破殼(ShellShock)”漏洞的發生。
Liles教授以前是普渡大學數字取證領域的教授,在那兒工作時,他和他的學生研究過汽車和其他物聯網設備的安全。他說,多重防禦的思想已經落伍,我們無法再靠多設幾層安全屏障來保護自己。舉個例子,我們的手機和其他個人設備,知道我們的一切:我們去過哪裏,和誰聯係過,甚至何時做愛。這些設備,以及存在其中的所有信息,已經滲透到我們生活和工作的方方麵麵。一部被入侵的手機,可以挖出各種隱藏的信息,或者把威脅傳播給與之相連的其他設備。
這些設備的存量本身就是個威脅。“如果發生了安全事件,誰應為此負責?”Liles問。就我們這個問題來說,誰來審查那些代碼?在《大教堂和市集》中,Eric S. Raymond寫道,“隻要給予足夠的關注,所有的bug都會顯形”,他稱之為Linus定律,但我們不能指望什麼軟件都有足夠的關注度。像OpenSSL這樣成名已久的重要項目都因為缺乏資金而無法預防像“心髒滴血(Heartbleed)”這樣的Bug,那運行在你設備中的你都已習以為常的成千上萬行代碼,又指望誰去審查呢?
2011年,美國國家航空航天局和美國高速公路安全管理局針對豐田汽車意外加速事件進行了調查,結果顯示並沒有證據表明電子設備的失控能導致大量意外加速,但盡管如此,其他研究人員還是找到了能讓汽車產生加速的軟件方法。“如果電源管理單元被攻破,”IOActive的報告指出,"加速度就會迅速變化,汽車將處於極度危險中。"毫無疑問,軟件是現代汽車安全的一個至關重要的組件。
然而,像Liles小組所做的那類研究還是不多見的。單純分析軟件是一件困難的事。“係統中幾乎從來不考慮集成一個用於搜集取證的模塊,為了使證據 有法律效力,必須要使用逆向工程的手段來取證。”Liles說。此外,物聯網給汽車帶來的威脅在不斷變化,所以我們的研究方向也要隨之改變。“很多陳舊的 信息保護手段,安全規則和教條,有時還稱之為科學的東西,都是基於謬見、偽事實和過時的技術概念而來的。”
所以,開源軟件要如何適應這種形勢?無論是否開源,偶發的bug總是會出現,有時還很嚴重。“心髒滴血(Heartbleed)”、“破殼 (ShellShock)”,以及開源軟件中其他備受矚目的漏洞都在告訴我們,這就是現實。開源更容易使軟件被惡意利用,而隻有在我們能驗證軟件的行為和 代碼的意圖一致時,其開放性才能帶來好處。這一點將愈發重要,因為汽車正在變成和我們的手機和移動互聯網服務相連的開放係統。
文章轉載自 開源中國社區[https://www.oschina.net]
最後更新:2017-08-13 22:34:19