信息來源:FreeBuf
現(xiàn)在,無論是商業(yè)軟件還是程序員自行開發(fā)的小程序,開源代碼已經(jīng)變得越來越普遍了,而開源似乎也已經(jīng)成為了一種趨勢。但需要注意的是,Black Duck軟件公司的研究人員根據(jù)他們對開源項目所收集到的統(tǒng)計數(shù)據(jù)預測到,基于開源軟件漏洞的網(wǎng)絡攻擊活動數(shù)量在2017年將增長20%。
Black Duck軟件公司的安全策略副總裁Mike Pittenger表示,商業(yè)軟件項目的免費版本數(shù)量已經(jīng)超過了50%甚至更多,而開源軟件產(chǎn)品所占比重從2011年的3%增長到了現(xiàn)在的33%。平均每一款商業(yè)軟件都會使用超過100個開源組件,而且三分之二的商業(yè)應用代碼中已知是存在安全漏洞的。
最糟糕的是,買家和用戶通常都沒有辦法知道他們所購買的產(chǎn)品使用了哪些開源組件。一般來說,公司在這一方面做的都不是很到位,有些公司可能會給客戶提供一份產(chǎn)品組件清單,但這些清單所名列出的組件數(shù)量和類型往往是不完整的。如果你打算在沒有得到廠商允許的情況下對產(chǎn)品代碼進行分析,那么你很有可能會違反他們的產(chǎn)品許可協(xié)議,而這將會給你帶來一大堆麻煩,所以我們不建議用戶這樣做。但是由于行業(yè)地位和影響力等因素,某些大型企業(yè)在購買第三方軟件產(chǎn)品時會要求廠商提供產(chǎn)品的完整技術細節(jié),并且還會請類似Black Duck這樣的第三方廠商來對產(chǎn)品代碼進行安全審查。
Pittenger認為,避免使用開源軟件其實并不可取。很多開源代碼庫的開發(fā)是完全符合行業(yè)標準的,而重復造車輪絕對是在浪費時間,這樣不僅會延遲產(chǎn)品的上市時間,而且還會使公司的行業(yè)競爭力大大降低。因此,越來越多的商業(yè)軟件開發(fā)商會開始在自己的產(chǎn)品中使用開源代碼,而這種趨勢目前正在加速發(fā)展。
目前,任何一個活躍的開源項目背后都有社區(qū)的積極支持,而這將會給這款產(chǎn)品帶來可靠的安全保證和穩(wěn)定的功能更新。在某些情況下,如何某款產(chǎn)品允許用戶自行對軟件源碼進行安全審計,或者可以對該產(chǎn)品進行高度定制,那么將會對產(chǎn)品的安全性提升有很大的幫助。就我們的經(jīng)驗來看,如果某一款商業(yè)工具可以做到這件事情的話,那么肯定會有相應的開源工具可以做到同樣的事情。
但是,這種“多渠道”的漏洞檢查方法并不總是百分之百有效的,仍然會有很多開源代碼中的漏洞會成為漏網(wǎng)之魚。
“任何人都可以對代碼進行審計,但并非每個人都會這樣做,因為似乎每一個人都認為其他人已經(jīng)對這些代碼進行過安全審查了,這也就是問題之所在?!?
因此,管理開源組件的問題已經(jīng)成為了一個非常棘手的問題,而且網(wǎng)絡犯罪分子們似乎也已經(jīng)意識到了這一點,并逐漸開始利用我們的這一薄弱點來實施攻擊。
在目前的互聯(lián)網(wǎng)中,開源代碼幾乎無處不在,所以攻擊者只需要利用一個漏洞就可以攻擊大量的目標。對開源代碼的追蹤其實是非常困難的,隱私用戶通常無法對產(chǎn)品中的開源代碼進行及時地修復和更新,所以攻擊者就可以利用很多已知的漏洞和安全研究專家所發(fā)布的漏洞PoC來實施攻擊。
除此之外,物聯(lián)網(wǎng)在去年也得到了非常迅速的發(fā)展,而物聯(lián)網(wǎng)設備的安全性也成為了目前的一個令人頭疼的問題。毫無疑問,這個問題在2017年仍將困擾著我們。
Malik認為,現(xiàn)在很多智能設備和物聯(lián)網(wǎng)設備都會使用大量的開源工具,而臭名昭著的Mirai僵尸網(wǎng)絡就是一個很好的例證。
與此同時,開發(fā)人員通常都不會去檢測開源代碼中的安全漏洞,而且有時候迫于產(chǎn)品開發(fā)期限的壓力,他們明知代碼中存在安全問題,卻仍然選擇直接使用它們。這也就意味著,即便是開源項目的維護人員及時發(fā)布了更新,外面也仍然存在很多未打補丁的產(chǎn)品。當你的新產(chǎn)品使用了舊版本的開源組件時,你的新產(chǎn)品中也會存在已知的安全漏洞。而且據(jù)統(tǒng)計數(shù)據(jù)顯示,商業(yè)軟件項目中的安全漏洞平均年齡為五年,有些產(chǎn)品中的某一漏洞甚至存在了有十年之久。
OpenSSL代碼庫中的Heartbleed漏洞在2014年初被發(fā)現(xiàn),而該漏洞的曝光也引起了業(yè)界的廣泛關注。但是在去年,仍然有10%左右的應用軟件正在使用包含漏洞的OpenSSL版本。而且Pittenger表示,安全研究專家平均每一年都可以在開源軟件中找出2000到4000個安全漏洞。
解決這個問題則需要軟件廠商和廣大客戶的共同努力,而且企業(yè)的軟件開發(fā)人員也需要培養(yǎng)良好的安全意識。但我們應該做好心理準備,因為在情況好轉(zhuǎn)之前,目前的安全狀況只會變得更加糟糕。