選擇軟件組合分析工具的優(yōu)秀實(shí)踐
在開(kāi)發(fā)商和應(yīng)用程序安全團(tuán)隊(duì)在跟蹤開(kāi)源組件(包括其代碼庫(kù)中的直接依賴(lài)項(xiàng)和傳遞依賴(lài)項(xiàng))遇到問(wèn)題之后,軟件組成分析(SCA)工具應(yīng)運(yùn)而生。依靠人工流程和電子表格這種做法效率低下、容易出錯(cuò),并且不可擴(kuò)展。
軟件組成分析工具如何工作
采用軟件組成分析(SCA)工具可以自動(dòng)化識(shí)別和分類(lèi)開(kāi)發(fā)環(huán)境中使用的開(kāi)源代碼的過(guò)程,并識(shí)別安全性、許可和質(zhì)量問(wèn)題及其依賴(lài)關(guān)系。
為此需要討論選擇軟件組成分析(SCA)解決方案的最佳實(shí)踐。
軟件組成分析(SCA)和持續(xù)監(jiān)控
為了有效地工作,軟件組成分析(SCA)工具必須持續(xù)監(jiān)視代碼,因?yàn)槭褂瞄_(kāi)放源代碼的現(xiàn)代開(kāi)發(fā)方法本質(zhì)上是連續(xù)的。
一個(gè)安全團(tuán)隊(duì)負(fù)責(zé)人喜歡這個(gè)功能,他說(shuō):“我們一直在開(kāi)發(fā)新的應(yīng)用程序,我們發(fā)現(xiàn)在未被積極開(kāi)發(fā)的應(yīng)用程序中,存在很多需要修復(fù)的漏洞。”
這就是可見(jiàn)性在選擇軟件組成分析(SCA)解決方案時(shí)成為一個(gè)重要考慮因素的原因。開(kāi)發(fā)人員以及負(fù)責(zé)分析工作的人員必須了解開(kāi)發(fā)中使用的開(kāi)源組件。
一家擁有上萬(wàn)名員工的金融服務(wù)機(jī)構(gòu)的員工說(shuō):“這就像一直在黑暗中工作,突然之間就擁有了可見(jiàn)性。可以確切地看到自己正在使用的內(nèi)容并提出建議。這樣如果不能使用某些東西,則還有其他選擇。”
另一家采用軟件組成分析(SCA)的大型金融服務(wù)機(jī)構(gòu)的用戶(hù)也表達(dá)了這樣的觀(guān)點(diǎn)。他們說(shuō),“我們不再盲目地使用易受攻擊的組件。我們已經(jīng)意識(shí)到正在向開(kāi)發(fā)人員推廣這種意識(shí),并且認(rèn)為我們對(duì)威脅的前景有了更好的了解。我們甚至都不知道哪些是錯(cuò)誤或漏洞,而現(xiàn)在我們已經(jīng)知道了,并且可以很快地補(bǔ)救。”
誤報(bào)率低
誤報(bào)會(huì)浪費(fèi)時(shí)間,并導(dǎo)致用戶(hù)在軟件組成分析(SCA)工作中不堪重負(fù)。與其相反,假否定會(huì)在代碼中引入安全性和許可問(wèn)題。由于這些原因,軟件組成分析(SCA)解決方案需要盡可能精確。
一家解決方案服務(wù)商的一位高級(jí)主管指出了此問(wèn)題的重要性,。他說(shuō),“這有助于我們避免在現(xiàn)場(chǎng)暴露關(guān)鍵漏洞。它為我們節(jié)省了部署之后可能進(jìn)行的補(bǔ)救活動(dòng)的時(shí)間,因?yàn)槿绻覀冊(cè)趹?yīng)用程序完全開(kāi)發(fā)和部署之后發(fā)現(xiàn)了安全問(wèn)題,那么需要進(jìn)行更改或重新使用將變得更加困難。”
提高開(kāi)發(fā)人員的生產(chǎn)力和投資回報(bào)率
軟件組成分析(SCA)不僅僅是保護(hù)代碼。它也應(yīng)該是提高開(kāi)發(fā)人員生產(chǎn)力的驅(qū)動(dòng)力。
這位主管還發(fā)現(xiàn)在解決問(wèn)題時(shí),由于明確列出了問(wèn)題,解決方案提高了開(kāi)發(fā)人員的生產(chǎn)力。如果按數(shù)字計(jì)算,可以將開(kāi)發(fā)人員的生產(chǎn)力提高5%至10%。
他表示,采用軟件組成分析(SCA)技術(shù)可能支付一定的成本,因?yàn)樾迯?fù)開(kāi)發(fā)生命周期中的安全漏洞將花費(fèi)大量資金。
開(kāi)源代碼政策
軟件組成分析(SCA)實(shí)踐和解決方案的最終目的是將安全策略強(qiáng)制應(yīng)用到代碼庫(kù)的所有部分。因此,首選的軟件組成分析(SCA)解決方案是可以強(qiáng)制實(shí)施開(kāi)源代碼策略的解決方案。
這位主管補(bǔ)充說(shuō):“由于它具有主動(dòng)性和實(shí)時(shí)數(shù)據(jù),可以立即知道應(yīng)用程序的任何部分現(xiàn)在是否容易受到攻擊。”
盡管確實(shí)需要強(qiáng)大的安全策略,但是如果它們過(guò)于嚴(yán)格,則會(huì)對(duì)開(kāi)發(fā)人員的生產(chǎn)率產(chǎn)生負(fù)面影響,它們甚至可能被完全規(guī)避。因此,如果軟件組成分析(SCA)解決方案可提供靈活的政策實(shí)施,則很有用。
軟件組成分析(SCA)是一個(gè)新的緩解控件,可以發(fā)現(xiàn)新的漏洞類(lèi)別。它有助于實(shí)施安全的編碼實(shí)踐,在首次推出時(shí)可能會(huì)花費(fèi)一些時(shí)間,但在應(yīng)用一段時(shí)間后,將會(huì)降低成本,因?yàn)楦嗟拈_(kāi)發(fā)人員對(duì)此非常熟悉。
此外,軟件組成分析(SCA)工具甚至可以繼承某些組件,因?yàn)樵诂F(xiàn)實(shí)世界中,由于它不向后兼容,不能總是花費(fèi)時(shí)間去更新。擁有這些功能使它變得更易于使用,并且更加實(shí)用,而無(wú)需采用全有或全無(wú)的方法。
很多用戶(hù)希望軟件組成分析(SCA)對(duì)開(kāi)發(fā)活動(dòng)的可見(jiàn)性和意識(shí)進(jìn)行連續(xù)監(jiān)控。他們還希望軟件組成分析(SCA)具有來(lái)自多個(gè)來(lái)源的高質(zhì)量數(shù)據(jù)、較低的誤報(bào)率、提高開(kāi)發(fā)人員生產(chǎn)率,投資回報(bào)率、靈活的策略執(zhí)行、通過(guò)破壞構(gòu)建來(lái)實(shí)施開(kāi)源策略、集成功能和強(qiáng)大的供應(yīng)商支持。