開源能夠引起很多安全漏洞,開源多少算是太多? DevOps可以救我們嗎?
你知道你的代碼從哪兒來的么?
從安全方面來說,這是一個比開發人員意識到的更重要的因素。在最近的安全漏洞事件中,如2017年的Equifax失敗,突顯了開源軟件的重要性;黑客們通過Apache Struts使用了一個已知的漏洞來訪問超過1.43億美國人的敏感信息。
開源有利也有弊。由于其開放性和協作性,開放允許很多人來查看代碼并發現問題和錯誤。這些錯誤是公開發布的。從理論上講,每個人都會去更新他們的代碼,但是事實并非如此。
糟糕的維護或純粹的業務往往使程序員無法更新代碼。當漏洞被公開發布時,黑客們會測試各種組織,看是否有人在一段時間內沒更新他們的代碼。
多少算是太多開源?
首先,我們鼓勵發放源碼。
但是,在安全性的形勢中,多少是太多又變成了問題? 在利用開源并維護應用程序和組織安全之間存在一中緊張關系。
據2017年“軟件安全報告”報告,約75%的應用代碼由開源組件組成。 這是引起關注的一個原因,特別是當只有28%的組織跟蹤和監視其應用程序的組件。
令人震驚的是,Veracode的報告指出,“大多數開源組件一旦被內置到軟件中,就不會被修補”。 更令人震驚是,88%的Java應用程序在組件中至少存在有一個缺陷。
▲Veracode2017年軟件安全報告狀態圖
同樣,這個問題的關鍵在于,一旦發現漏洞或新版本發布,開發人員就不會在生產中修復組件。
一線希望
好消息是情況有所好轉。 Veracode的報告指出,許多 “成熟的項目正在對其漏洞密度上取得了穩定的進展”。
壞消息是,目前這樣的項目并不多,而且在改善行業的安全問題上還有很長的路要走。
▲Veracode2017年軟件安全報告狀態圖
過去的一年里,40%以上的缺陷仍未解決。近30%花了90天才能解決。不到10%的缺陷在8天內得到解決。
我們應該何去何從?
我們不會放棄開源,這是現代互聯網的基石。但是我們需要更加注意我們的代碼來自哪里,可以做得更好。
組織機構和企業要在安全和更新方面投入更多時間。防患于未然。沒有人想成為大規模安全漏洞的下一個受害者。