在過去幾年中,超過 50% 的數(shù)據(jù)泄露 源于應(yīng)用程序?qū)又械穆┒础倪h(yuǎn)程代碼執(zhí)行到 SQL 注入,攻擊者利用已知方法來利用應(yīng)用程序漏洞來獲取對組織數(shù)據(jù)的訪問權(quán)限。這可以通過應(yīng)用程序安全測試和主動(dòng)更新的安全策略來避免。組織可以保護(hù)他們的數(shù)據(jù)存儲和機(jī)密信息。
從根本上講,Web 應(yīng)用程序的安全測試使組織能夠盡早檢測到漏洞。開發(fā)人員和 IT 安全團(tuán)隊(duì)可以使用多種類型的應(yīng)用程序安全測試方法。這些類型是什么?他們應(yīng)該首先部署哪些?請仔細(xì)閱讀,找出答案。
什么是應(yīng)用程序安全測試?
應(yīng)用程序安全測試是在一組工具、技術(shù)和方法的幫助下識別應(yīng)用程序(包括其代碼庫和框架)中的漏洞、弱點(diǎn)和錯(cuò)誤配置的過程。AppSec 測試可幫助組織:
- 了解這些漏洞的可利用性、惡意輸入的影響以及對其業(yè)務(wù)運(yùn)營的威脅。
- 提供有關(guān)其應(yīng)用程序安全級別的證據(jù),并使用結(jié)果重新制定安全策略并將風(fēng)險(xiǎn)降至最低。
應(yīng)用程序安全測試的類型
1.靜態(tài)應(yīng)用程序安全測試(SAST)
SAST 測試應(yīng)用程序的內(nèi)部結(jié)構(gòu)/工作以檢測源代碼中的漏洞,包括高度復(fù)雜的漏洞。靜態(tài)應(yīng)用程序安全測試可以集成到應(yīng)用程序開發(fā)生命周期的早期階段,因?yàn)榉治鍪窃诖a編譯和代碼執(zhí)行之前進(jìn)行的。它告訴測試人員哪些弱點(diǎn)可能會發(fā)展成安全漏洞。SAST 確定了弱點(diǎn)的細(xì)節(jié),包括代碼行,使補(bǔ)救變得簡單直接。它有助于識別數(shù)字錯(cuò)誤、輸入驗(yàn)證、指針和引用、競爭條件、路徑遍歷和其他非編譯代碼缺陷。然而,SAST 會導(dǎo)致高水平的誤報(bào)和漏報(bào)。由于測試發(fā)生在開發(fā)階段,因此很難識別邏輯錯(cuò)誤和不安全的配置。
2.動(dòng)態(tài)應(yīng)用程序安全測試(DAST)
DAST 在運(yùn)行時(shí)測試具有不同攻擊類型的應(yīng)用程序,以評估其安全防御并識別漏洞。測試人員不需要訪問源代碼。相反,他們通過運(yùn)行操作代碼來評估安全性,以指出請求、響應(yīng)、接口、腳本、數(shù)據(jù)注入、身份驗(yàn)證、會話、網(wǎng)絡(luò)配置等方面的弱點(diǎn)/缺陷/錯(cuò)誤。這種應(yīng)用程序安全測試類型返回的誤報(bào)較少,并支持動(dòng)態(tài)和現(xiàn)成的編程語言。但是,它不能在開發(fā)的早期階段進(jìn)行部署;它僅適用于運(yùn)行時(shí)測試。
3.手動(dòng)應(yīng)用滲透測試(Pen-Testing)
測試人員在安全設(shè)置中模擬對應(yīng)用程序的最新攻擊,以確定在應(yīng)用程序滲透測試中部署的安全防御的強(qiáng)度。它由內(nèi)部專家或受信任的第三方專家手動(dòng)執(zhí)行。由可信賴的專家定期進(jìn)行滲透測試是一種被廣泛接受的應(yīng)用程序安全測試實(shí)踐,可以加強(qiáng)組織的安全態(tài)勢。
4.軟件組成分析(SCA)或起源分析
SCA 是一種測試類型,用于分析應(yīng)用程序中使用的組件和庫的來源。在這樣做的過程中,他們識別開源庫和組件并檢測存在的漏洞。這種應(yīng)用程序安全測試類型僅對開源組件有效,對應(yīng)用程序的定制內(nèi)部組件無效,因?yàn)楣_錯(cuò)誤列表很容易用于開源組件。此外,該測試還提供了有關(guān)庫/組件是否過時(shí)以及補(bǔ)丁是否可用的見解。
5.交互式應(yīng)用程序安全測試(IAST)
交互式應(yīng)用程序安全測試使用混合方法來測試和分析代碼中的已知漏洞是否可以在應(yīng)用程序運(yùn)行時(shí)被利用。該測試通過模擬用戶與應(yīng)用程序交互的各種高級攻擊場景來識別漏洞。
6.移動(dòng)應(yīng)用程序安全測試(MAST)
利用SAST、DAST和取證分析的 組合,移動(dòng)應(yīng)用程序安全測試使用特定于移動(dòng)設(shè)備的攻擊向量(如惡意 Wi-Fi 熱點(diǎn)、設(shè)備生根、加密不足等)。
7.數(shù)據(jù)庫安全掃描
數(shù)據(jù)庫雖然并不總是被視為應(yīng)用程序的一部分,但會直接受到應(yīng)用程序的影響,不應(yīng)排除在 AppSec 測試之外。數(shù)據(jù)庫安全掃描使組織能夠評估所用數(shù)據(jù)庫的最佳實(shí)踐,例如強(qiáng)密碼、更新的補(bǔ)丁和版本、安全配置、強(qiáng)大的訪問控制等。
結(jié)論
應(yīng)用程序安全測試對于當(dāng)今的各種組織來說都是必不可少的。它越早集成到應(yīng)用程序開發(fā)生命周期中越好。這樣,組織可以在攻擊者利用它們之前識別并修復(fù)漏洞、弱點(diǎn)、缺陷和錯(cuò)誤。為此,SAST 應(yīng)該是組織部署的第一個(gè) AppSec 測試,因?yàn)樗兄谠趹?yīng)用程序開發(fā)的最早階段識別和修復(fù)漏洞。但是,組織僅僅為 Web 應(yīng)用程序部署一種類型的安全測試是不夠的。測試必須是連續(xù)的,并且必須在不同的應(yīng)用程序生命周期階段集成/使用不同的測試。