開源代碼:網(wǎng)絡攻擊的下一個重點目標
開源軟件的普遍存在帶來了重大的安全風險,因為它為使用者(有意或無意地)引入漏洞打開了大門。廣泛使用的Log4j代碼庫中的嚴重漏洞為大家做了提醒。
開源代碼對網(wǎng)絡犯罪分子的吸引
使用廣泛而便于被利用的開源軟件對網(wǎng)絡犯罪分子很有吸引力,攻擊者可以使用各種方法來混淆對開源項目做出的惡意更改,并且,通過審查代碼來了解安全隱患的嚴格與否可能會根據(jù)項目而不同,因此,如果沒有嚴格的安全控制措施來檢測這些惡意更改,那么很可能會被忽視,隨之被分發(fā)并包含在眾多公司的軟件中。
對開源代碼的攻擊所產(chǎn)生的影響會隨著規(guī)模和實體不同而不同。例如,去年7月,研究人員發(fā)現(xiàn)了9個漏洞,這幾個漏洞影響了EspoCRM、Pimcore 和 Akaunting這3個開源項目,并且這些項目經(jīng)常被中小型企業(yè)所使用。更重要的是,2017年數(shù)據(jù)泄露事件是由于該組織的開源代碼中漏洞被利用,從而影響了1.47 億人的個人數(shù)據(jù)。
能否舍棄開源代碼?
CISA曾表示,數(shù)億臺設備可能受到Log4j漏洞的影響。盡管開源代碼的漏洞影響嚴重,但完全放棄使用開源是不現(xiàn)實的。幾乎所有現(xiàn)代軟件都是由開源組件構建的,在沒有開源的情況下重建這些組件將需要大量的時間和金錢來生產(chǎn),即使是很小的應用程序。全球超60%的網(wǎng)站在Apache和Nginx服務器上運行,據(jù)報道90%的IT領導者定期使用企業(yè)開源代碼。
測試和保護您的軟件
與其擔心如何避開開源組件,更現(xiàn)實的方法是將安全融入軟件開發(fā)團隊中,將應用軟件安全測試提前。這一部分可以由三部分組成,首先要掃描和測試代碼安全,其次建立一個明確的流程來解決和修復出現(xiàn)的漏洞,最后創(chuàng)建一個內(nèi)部策略,其中設置了解決安全問題的規(guī)則。
在使用工具檢測代碼安全時,靜態(tài)代碼分析是很好的第一步。通過靜態(tài)代碼檢測分析可以分析源代碼中是否存在缺陷及安全漏洞。此外,通過將嚴格的代碼審查與動態(tài)分析和開源組件成分分析相結合,以發(fā)現(xiàn)更深層次的漏洞問題。
掃描檢測完成后,組織應該有一個明確的流程來解決發(fā)現(xiàn)的漏洞。開發(fā)人員可能會發(fā)現(xiàn)自己面臨發(fā)布截止日期,或者軟件補丁可能需要重構整個程序,這將導致延長時間。通過明確的后續(xù)步驟來解決漏洞和緩解問題,幫助開發(fā)人員解決艱難的選擇,并保護組織的安全。
保護開源免受未來攻擊
整個行業(yè)都在關注進一步保護開源代碼安全的必要性。除了全行業(yè)努力保護基于開源代碼構建的軟件免受網(wǎng)絡威脅外,組織應該對其防御戰(zhàn)略采取內(nèi)部積極主動的方法。
這包括為他們自研代碼和他們所依賴的開源代碼實施安全檢測和控制程序。制定內(nèi)部政策和指南,可以幫助識別使用開源軟件的風險,并確定用于管理該風險的控制措施。這樣不但能利用開源代碼所帶來的便捷,同時還能創(chuàng)建一個能夠抵御未來攻擊的軟件開發(fā)環(huán)境。
文章來源:
https://www.darkreading.com/vulnerabilities-threats/open-source-code-the-next-major-wave-of-cyberattacks
