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