構建安全、高質量的軟件,需要智能全面的解決方案,在您的環境中構建應用安全測試,覆蓋從開發到部署的整個過程。新思科技認爲交互式應用安全測試(IAST)與軟件組件分析(SCA)相結合可以幫助開發團隊最大限度降低風險,構建安全、高質量的軟件。

交互式應用安全測試(IAST)和軟件組件分析(SCA)是應用程序安全測試中兩款強大、但相對來說比較新的技術。使用動態測試(即運行時測試)技術可以發現正在運行的Web應用的漏洞。IAST解決方案旨在幫助企業識別和管理與這些漏洞有關的安全風險。

SCA是市場分析師創造的一個術語,描述了自動識別代碼庫中開源組件的過程。一旦識別出組件,就可以對比已知的安全問題,判斷組件是否存在這些隱患,瞭解在一個應用裏面是否存在組件的不同版本。另外,SCA還可以幫助識別組件的年份,確定是否需要維護。除了安全方面的問題,SCA還可以發現開源代碼中的許可證合規性問題。

IAST和SCA結合的必要性

根據2018年Verizon數據泄露調查報告 ,Web應用程序攻擊仍然是數據泄露最常見的載體。Web應用程序是黑客試圖訪問敏感IP/數據和個人數據(比如用戶名和密碼、信用卡賬號和患者信息)的首選攻擊界面。企業需要確保他們開發的web應用程序是安全的,最好是在投產之前就已經確保安全性,並且當關鍵漏洞被發現時,開發者可以快速將其修復。

Web應用程序很少僅由專有代碼組成。事實上,相反來說,開源代碼組件在商業和內部應用程序中無處不在。新思科技開源研究和創新中心發佈的2018年開源安全和風險分析報告 (OSSRA)顯示在1,100個被掃描的應用程序中有96%存在開源組件,每個應用程序中平均有257個組件。因爲企業通常不知道他們使用多少甚至使用什麼開源組件,當開源組件的漏洞被發現時,他們可能不知不覺中已經成爲攻擊者的目標。OSSRA報告顯示,78% 被檢查的代碼庫中至少包含一個漏洞,每個代碼庫平均包含 64個漏洞。

雖然開發和安全團隊經常使用靜態應用安全測試工具(SAST)和軟件組件分析解決方案(SCA)來識別web應用程序中的安全缺陷和漏洞,但只有通過動態測試才能檢測正在運行的應用程序中的許多漏洞,從而推動了動態應用安全測試工具(DAST)的發展。儘管與傳統的DAST和滲透測試工具有相似之處,IAST在軟件開發生命週期(SDLC)早期發現漏洞的能力要優於前兩者,在修復漏洞時更容易、更快速且成本更低。隨着時間的推移,IAST很有可能會取代DAST。這有兩方面的原因:第一,IAST在軟件開發生命週期早期反饋漏洞信息並迅速提供補救指南方面具有強大優勢;第二,它還可以更輕鬆地集成到CI/CD和DevOps工作流程中。

往軟件開發生命週期左端推移

IAST通常用在軟件開發生命週期的測試和質量保證(QA)階段。採用IAST可以有效地將測試往軟件開發生命週期左端推移,儘早發現問題並且降低補救成本,減少產品發佈延遲。當重新編譯更改的代碼並重新測試正在運行的應用程序時,最新一代的IAST工具能即刻反饋結果。

IAST從應用程序內部進行分析,可以訪問應用程序代碼、運行時控制和數據流信息、內存和堆棧追蹤信息、網絡請求和響應、庫、框架和其它組件(通過與SCA工具集成)。該分析不僅可以使開發人員查明已識別漏洞的來源,而且可以快速解決問題。

IAST工具需要具備哪些功能?

我們要依據哪些標準來挑選一款IAST工具?它可以執行應用程序代碼審查。而且這些應用程序是以你現在使用的編程語言編寫的;它還需要與軟件使用的底層框架兼容;還有一點很重要,它必須可以輕鬆、快速地進行部署,並與CI/CD工作流程無縫集成;此外,我們希望IAST工具還可以與任何類型的測試方法兼容,包括 現有的自動化測試、手動QA/開發測試、自動網絡爬蟲、單元測試等等。

有效的IAST工具可以爲DevOps團隊提供識別安全漏洞的能力,並且可以告知該漏洞是否會被利用。現在任何IAST工具都應該包括web APIs,使DevOps能夠將測試集成到持續集成構建中。這些構建過程會使用到Jenkins等持續集成工具。

隨着軟件中開源代碼使用的普及,有效的IAST工具需要了解所測試的應用程序的開源組件。SCA工具負責分析開源組件。

瞭解在指定的應用程序中的開源漏洞是否會被利用,需要了解易受攻擊的組件是否存在、漏洞的利用如何運作、以及應用程序如何利用該組件。只有高效的IAST和SCA工具組合纔能有效識別該級別的軟件風險並指導開發人員解決問題。集成的IAST和SCA解決方案可以幫助開發團隊構建更安全的軟件、最大限度地降低風險,同時最大限度的加快開發速度和產量,並且提高軟件的質量。

查看原文 >>
相關文章