確保Web應用程式安全應該考慮哪些事項

zktq2021發表於2022-10-13

應用程式的安全性和快速交付之間存在矛盾,但由於應用程式程式碼缺陷和安全漏洞,組織正在目睹或經歷越來越多的攻擊。根據Forrester的一份報告,軟體安全漏洞佔了大約47%的組織的網路攻擊。

與任何軟體一樣,Web應用程式也包含缺陷和錯誤。這種安全風險的一個主要來源是軟體供應鏈,其中開發人員使用開源和第三方程式碼,這些程式碼可能存在漏洞。這些漏洞可能會導致Web 伺服器和應用程式面臨網路威脅。

儘管測試起著重要的作用,但僅靠測試是不夠的。隨著攻擊者開發出複雜的方法來利用 Web 應用程式漏洞,開發人員需要在整個軟體生命週期中進行安全工作,以確保儘可能多的解決應用程式中的缺陷和安全漏洞。

透過 SDLC 進行的網路安全實踐

隨著軟體開發向雲端轉移,使用Web應用程式已成為企業的常態。但是,這也帶來了新的安全挑戰。安全應置入安全軟體開發SDLC 的所有階段。

需求階段的風險評估

在概述軟體需求時考慮安全規範,識別風險及其來源,分析它們可能造成的危害,並制訂補救策略。

設計階段的威脅建模

在選擇應用程式框架和體系結構時,審查設計,以避免漏洞和缺陷。透過深入的軟體體系結構分析和功能規範,可以實現威脅建模等策略,以排除不安全的設計和風險。

開發階段的靜態分析

嵌入安全實踐包括應用安全編碼規範以確保建立高質量的程式碼,並透過靜態分析進行程式碼審查。注意來自開源庫和依賴項的安全風險也至關重要。

測試階段的動態/互動式測試

雖然程式碼分析從開發階段開始,但測試階段是SDLC中關鍵的部分,透過動態和互動測試,可以有效地識別出在開發階段被“逃走”的漏洞。

部署階段的安全性和配置評估

Web應用程式安全性不會在測試階段結束。在進入部署階段,定期執行評估來評估系統配置和安全控制。如使用滲透測試、漏洞掃描或紅藍對抗等策略。

測試型別

1. 靜態應用程式安全測試

SAST透過由內而外的方法掃描應用程式的原始碼、位元組碼和二進位制程式碼。透過靜態分析,可以在不執行程式的情況下訪問框架、設計和實現方法。SAST被稱為“白盒安全測試”,在 SDLC 的早期實施,以便在將程式碼新增到軟體之前識別現有程式碼缺陷和安全漏洞。並可以定位到程式碼行數,便於及時修復。

SAST 透過自動化工作流程更快地實施針對風險的補救措施,以進行連續的程式碼掃描。可以隨時隨地查詢缺陷,從而使修復漏洞的成本相對較低。

2. 動態應用程式安全測試

DAST 是一種應用安全測試方法,可以從“由外而內”的角度評估應用程式;即,掃描應用程式及其相關結構,而無需檢視原始碼,技術或框架。DAST 也稱為“黑盒安全測試”,可識別 SQL 注入和跨站點指令碼等安全威脅。此安全測試方法可以確定風險的優先順序並規劃修正策略,以降低風險。

這種安全測試方法查詢暴露的漏洞,並瞭解到如何利用它們。

3. RASP(執行時應用程式自我保護)

RASP 是一種安全工具,可在執行時環境中與應用程式一起執行,以驗證傳入的請求以確保應用程式安全。它持續監視應用程式行為,並圍繞應用程式提供必要的安全層。當檢測到威脅時,RASP可以發出警報,並透過終止使用者會話來保護應用程式,即使網路受到損害。

在當前網路攻擊日益增多的大環境下,積極防範安全十分必要。我們不能坐等攻擊發生,攻擊的後果不僅包括經濟損失,還包括聲譽損失及客戶流失,這可能需要更長時間才能恢復。

保護應用程式安全正在迅速成為企業的業務目標,因為這可能造成資料洩露併產生長期影響。透過在應用程式開發及部署期間執行安全測試及策略,來提高應用程式的安全性,已成為保護網路安全的基礎手段。

來源:

https://spectralops.io/blog/web-application-security-for-2023/


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2918212/,如需轉載,請註明出處,否則將追究法律責任。

相關文章