原文地址:安全的軟件開發生命週期
博客地址:blog.720ui.com/web
風險評估要基於系統中的信息的價值、業務功能的價值、系統的潛在威脅、惡意攻擊的可能性、系統的故障和被成功攻擊的後果等狀況進行評估。數據庫
咱們須要從安全角度進行系統的考慮,它是一個安全的軟件開發生命週期過程當中的一部分。編程
閱讀:安全
威脅建模是一個工程技術,能夠幫助咱們識別到系統中存在的相關威脅和漏洞,並幫助咱們肯定安全目標和肯定相關的對策進行防範。服務器
後面有時間,我會針對威脅建模進行大體的講解。微信
靜態代碼分析的好處在於,測試能夠徹底自動化,使開發人員可以實現安全的編碼實踐,並在系統發佈前,檢查並修復存在風險的安全問題。網絡
靜態代碼分析工具能夠幫助開發人員快速查找和防止 SQL 注入、跨站腳本(XSS),跨站請求僞造(CSRF)和其餘惡意攻擊。工具
例如,Sonar (SonarQube)就是一個很好的工具。Sonar 是一個用於代碼質量管理平臺,管理源代碼的質量。Sonar 不僅是一個質量數據報告工具,更是代碼質量管理平臺。支持的語言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex 等。性能
咱們常常遇到 Web 攻擊 和網絡安全性問題。測試
閱讀:
當機密或敏感的數據在用戶與 Web 服務器之間傳遞,可能存在數據的安全性問題。
閱讀:
使用最小權限原則來訪問數據庫對象,例如表、視圖、存儲過程等。我舉個實際的場景,若是我須要只讀訪問一個特定的數據庫表,所以,數據庫權限應該相應設置,而不是將我授予超級管理員權限。
此外,還須要注意數據庫中機密或敏感數據的安全性,必要時候可使用加密技術進行存儲,例如針對密碼採起MD5基礎上的鹽值加密。
代碼審查是計算機源代碼的檢查。它的目的是發如今最初的開發階段忽略的錯誤,提升軟件的總體質量。代碼審查能夠經過交叉編程,非正式的溝通,和正式檢查。
閱讀:
安全測試是在相同測試環境和預生產環境進行全面測試,儘量模擬相應的生產環境。這包括硬件,軟件,系統配置,控制和任何其餘硬件。
在測試過程當中,包括迴歸測試,必須證實全部的安全控制已經適當應用,正確實現,而且工做正常,消滅所預期的威脅和漏洞。
測試過程當中還必須包括漏洞測試,並把該系統投入使用以前表現出嚴重漏洞的修復。
安全評估是每一家公司軟件開發生命週期的重要組成部分。專家組對系統進行安全評估,分析安全問題,提供評估報告。
這個部分咱們常常忽略,以前我參與的一個產品對安全性要求很高,還進行了多輪安全評估。
咱們來回顧下,上面講到的內容。
(完)
更多精彩文章,盡在「服務端思惟」微信公衆號!