個人計算機(jī)問世之初,很少有廠商擔(dān)心其安全。直到上世紀(jì)90年代初,對安全的需要才變得廣為人知。而如今,物聯(lián)網(wǎng)遵循同樣的模式——只不過對安全的需要顯然變得快好多,廠商應(yīng)該變得聰明些,尤其是考慮到開源具有的巨大影響力。
根據(jù)2014年惠普公司的一項調(diào)查結(jié)果顯示,在測試的十個物聯(lián)網(wǎng)設(shè)備中有七個存在嚴(yán)重的安全漏洞,每個設(shè)備平均有25個安全漏洞。尤其是,這些安全漏洞包括本地和互聯(lián)網(wǎng)傳輸?shù)臄?shù)據(jù)缺少加密,沒有實(shí)施安全密碼,以及已下載更新版的安全性。測試設(shè)備包括目前使用的一些最常見的物聯(lián)網(wǎng)設(shè)備,包括:電視機(jī)、恒溫器、火警報警器和門鎖。
據(jù)Gartner預(yù)測,到2020年使用的智能設(shè)備將多達(dá)250億個,沒有人能事先預(yù)知到安全問題,到時重大的安全問題會讓基本互聯(lián)網(wǎng)的安全問題顯得無關(guān)緊要。
這個迫在眉睫的問題不僅令人憂慮,還令人困惑。考慮到物聯(lián)網(wǎng)與之前的OpenStack一樣,建立在開源上,這個技術(shù)領(lǐng)域的開發(fā)人員比大多數(shù)人更關(guān)注這類問題,物聯(lián)網(wǎng)廠商為什么沒有更加關(guān)注安全呢?
最近一項調(diào)查表明,三分之二的調(diào)查對象關(guān)注物聯(lián)網(wǎng)安全,不過沒有證據(jù)能說明安全問題的數(shù)量在過去幾年有所減少,或者正在采取措施來防止未知的危機(jī)。那么出現(xiàn)了什么情況?
選擇最合適的開源用于物聯(lián)網(wǎng)
智能設(shè)備與之前的OpenStack一樣建立在開源的基礎(chǔ)上,這一點(diǎn)太過明顯,誰也不曾懷疑。2015年年初,VisionMobile對3700名物聯(lián)網(wǎng)開發(fā)人員所作的一項調(diào)查表明,91%在工作中使用開源。
這個數(shù)字表明,要是沒有開源,就算物聯(lián)網(wǎng)果真發(fā)展起來,速度也要慢得多。暫且不說別的,使用開源和開放標(biāo)準(zhǔn)就有助于減少廠商的設(shè)備之間的兼容性問題。
眾所周知,開源還幫助廠商更快速地開發(fā)產(chǎn)品,幫助生產(chǎn)盈利的產(chǎn)品,而從頭開始搞研發(fā)是不切實(shí)際的。與整個IT行業(yè)一樣,大多數(shù)智能設(shè)備廠商要是沒有開源,幾乎存活不下來。
正如VisionMobile調(diào)查所做的那樣,問問開發(fā)人員為何使用開源,他們可能會提到理想主義方面的原因,或者是有機(jī)會學(xué)習(xí)新技術(shù)。
然而,問題在于,雖然廠商們出于戰(zhàn)術(shù)上的原因使用免費(fèi)許可證,開發(fā)人員對基于社區(qū)的開發(fā)具有的優(yōu)點(diǎn)光說不練,很少有企業(yè)開源項目具有社區(qū)項目那樣的開放性。理論上來說,企業(yè)項目向任何人開放,但實(shí)際上,很少有人聽到這種項目。就算聽到此類項目,由于保密協(xié)議,非雇員也常常沒有積極參與的勁頭。
Canonical Software就是這種情況,這家公司開發(fā)了Ubuntu Linux發(fā)行版。至今已有六七個年頭,Canonical偏愛開始啟動自己的項目,或者主導(dǎo)現(xiàn)有項目,而不是與龐大或老牌的社區(qū)項目進(jìn)行合作。
從經(jīng)常請求其他開發(fā)人員來看,不為Canonical工作的人很少似乎渴望為這些項目做貢獻(xiàn)。開發(fā)人員不是那么天真,以至于沒有看到這類企業(yè)項目實(shí)際上是貢獻(xiàn)免費(fèi)人力――如果與Canonical一樣,貢獻(xiàn)需要將版權(quán)賦予公司,更是如此。
在這種氛圍下,我覺得,關(guān)注的重點(diǎn)放在開源的短期優(yōu)點(diǎn)上。完全同樣重要的是,項目的參與者過于專注、人數(shù)過少,“足夠多的眼睛,就可以讓所有問題浮現(xiàn)”這句老話就沒法奏效。不僅可能缺少眼睛,那些現(xiàn)有的眼睛更傾向于關(guān)注盡快進(jìn)入市場,而不是花時間操心安全。
當(dāng)然,廠商可能采取彌補(bǔ)措施,招聘開發(fā)人員關(guān)注安全漏洞。當(dāng)然,這是幾年前解決像openSSH等項目缺少眼睛的方法,當(dāng)時Linux基金會捐錢,以便更多的開發(fā)人員投入到核心項目。
然而,如果項目不是以社區(qū)為中心,那種解決辦法就行不通。當(dāng)大家關(guān)注短期效益時,就需要一定的前瞻性,而這很難做到。因而,許多人擔(dān)心未經(jīng)檢智能設(shè)備的潛在安全問題,但是很少有人采取任何措施來預(yù)防。
工具合適,但理由不對
由于社區(qū)蓬勃發(fā)展而能夠檢測漏洞不是開源的任何普通定義的一部分。Richard Stallman的四大軟件自由沒有提到它,GNU通用公共許可證或其他任何免費(fèi)許可證的條文中也沒有提到它。相反,它是健康社區(qū)的意外結(jié)果。
然而,這種意外性不可能出現(xiàn)在想要充分利用開源,又盡量少交出控制權(quán)的公司。只有建立一個活躍、開放的社區(qū),才能夠獲得開源的一些優(yōu)點(diǎn)。除非智能設(shè)備廠商學(xué)會信任社區(qū)的一套流程,否則安全問題完全可能會日益嚴(yán)峻。
原文標(biāo)題:IoT Security: What IoT Can Learn From Open Source 作者:Bruce Byfield