軟件組成分析(SCA)何時替換SAST或DAST?
軟件組成分析(SCA)何時替換SAST或DAST?簡短的答案是永遠不會。在這里,我為您節(jié)省了足夠的時間,您可以去做正確的事情,運行SAST和DAST,并致力于強化代碼,而不是嘗試在應(yīng)用程序中測試安全性。
這聽起來像是咆哮的開始嗎?也許。但是請注意,每次出現(xiàn)新技術(shù)、新工藝或新技巧時,都會有人認為這是一切的答案。它可以解決軟件安全問題,節(jié)省開發(fā)和測試時間,甚至可以消除世界上的饑餓感。好吧,我越來越戲劇化。但是說SCA最終將取代SAST實質(zhì)上是說,因為您正在尋找他人代碼中的已知漏洞,所以您不必再檢查自己的漏洞。
什么是軟件組成分析(SCA)?
SCA是軟件組成分析。從理論上講,它與軟件物料清單(目前幾乎不存在的物料清單)緊密配合,并跟蹤應(yīng)用程序中使用的其他庫和組件。當前,這些工具大多只掃描您應(yīng)用程序的開源組件,而不一定使用物料清單。(注意:其中一些工具還執(zhí)行其他功能,例如從OSS項目中查找剪切片段,或者識別和管理OSS許可證問題。這既有趣又重要,但仍不能替代SAST的工作。)
SCA的一項主要功能是檢查應(yīng)用程序中的組件是否存在已知漏洞。這很重要,因此您可以避免出現(xiàn)零時差問題,也可以解決一些組件可能沒有貨源的問題,因此您無法將它們用于SAST。
OWASP提供用于供應(yīng)鏈安全的工具
我必須說,SCA當然是工具包中用于保護軟件系統(tǒng)的重要部分。廣受歡迎且有用的安全組織稱為開放Web應(yīng)用程序安全項目(OWASP),甚至將此概念添加到了流行的OWASP十大當今最關(guān)鍵安全風(fēng)險列表的最新版本中。它顯示為項目A9——使用具有已知漏洞的組件。如果您不使用OWASP,則可能應(yīng)該使用。如果您不針對CVEand NVD數(shù)據(jù)庫檢查應(yīng)用程序是否存在已知漏洞,則應(yīng)該這樣做。這些來源跟蹤發(fā)生的實際攻擊以及可用的補丁程序和其他補救措施。
OWASP甚至構(gòu)建了一個名為OWASP Dependency Check的工具,可以為您完成這項工作。像OWASP提供的所有功能一樣,它免費提供。Dependency-Check是一種軟件組成分析實用程序,可識別項目依賴項并檢查是否存在任何已知的、公開披露的漏洞。
軟件供應(yīng)鏈安全是應(yīng)用程序安全的關(guān)鍵部分
我必須承認,在不多年前,軟件供應(yīng)鏈就被人們忽略了。一些關(guān)鍵人物,其中許多人是軟件供應(yīng)鏈保證論壇(SSCA)的一部分,他們不僅通過專注于代碼,還著眼于供應(yīng)鏈,努力強調(diào)應(yīng)用安全方面的這一弱點。實際上,由美國國防部(DoD)、國土安全部(DHS)、總務(wù)管理局(GSA)和美國國家標準與技術(shù)研究院(NIST)主辦的SSCA論壇以前稱為軟件保障論壇(SwA)并更改了名稱,以幫助更多地關(guān)注供應(yīng)鏈。但目的是擴大重點,而不是將其從您的代碼轉(zhuǎn)移到其他人的代碼上。
軟件和供應(yīng)鏈保證論壇(SSCA)為來自世界各地的政府、行業(yè)和學(xué)術(shù)界人士提供了一個論壇,以分享他們在軟件和供應(yīng)鏈風(fēng)險,有效實踐和緩解策略、工具和技術(shù)以及任何其他方面的知識和專長。與所涉及的人員、流程或技術(shù)有關(guān)的差距。
實際上,SCA是一項測試活動——確保根據(jù)列表檢查您的應(yīng)用程序,并確保該列表與該列表一致(例如,已知的漏洞(如NVD))。相反,SAST主要不是測試功能(我知道是異端),而是工程功能。SAST的最小值是在進行筆測試之前發(fā)現(xiàn)弱點或漏洞。SAST的最大價值是首先指導(dǎo)您加強代碼。停止嘗試堵塞泄漏并構(gòu)建不會泄漏的代碼。這是在應(yīng)用程序安全方面領(lǐng)先一步的唯一方法。如果做得好,您仍然需要SCA,因為您仍然會遇到應(yīng)用程序中所有這些組件以及與之交互的其他程序以及操作系統(tǒng)本身的問題。如果您的SCA表現(xiàn)出色,那么您仍然需要SAST,因為盡管您已經(jīng)解決了其他人的代碼中的問題,但您自己沒有做任何事情。目的是相輔相成的,不能相互替代。
總而言之,SCA非常棒,您想要它,實際上您需要它。我很高興它比以往得到更多的關(guān)注。但是,說它將替代DAST或SAST就像說您有錘子,不需要螺絲刀一樣。