【廣告】
什么場景下需要做代碼安全審計
1、合規(guī)驅動
新等?!白孕熊浖_發(fā)”及“外包軟件開發(fā)”中均有對代碼安全的要求;
2、軟件研發(fā)自身的安全隱患
普通軟件開發(fā)公司的缺陷密度為4~40個缺陷;
高水平的軟件公司的缺陷密度為2~4個缺陷;
美國NASA的軟件缺陷密度可達到0.1個缺陷;
3、安全事件
源代碼缺陷導致的安全事件,例如sql注入、跨站攻擊等,導致信息泄露、脫庫、提權等。
代碼安全審計的對象和內容
源代碼安全檢測主要對象包括并不限于對Windows和Linux系統(tǒng)環(huán)境下的語言進行審核,例如C、C 、OC、C#、Java、PHP、JSP、ASPX、Javascript、Python、Cobol、Go等進行安全審計測試。
源代碼安全檢測的主要內容包括但不限于:
1、WEB應用框架安全性;
2、WEB應用程序的權限架構;
3、WEB應用通信安全;
4、數據庫的配置規(guī)范;
5、OWASP WEB 前10漏洞;
5、SQL語句的編寫規(guī)范
代碼安全審計需要做什么準備工作
在代碼審計前期準備階段,項目組將根據業(yè)務系統(tǒng)的實際情況定制訪談材料,采用文檔審核和訪談方式對業(yè)務軟件功能、架構、運行環(huán)境和編程語言等實際情況進行調研。了解業(yè)務系統(tǒng)的開發(fā)環(huán)境、架構、安全現(xiàn)狀以及運行環(huán)境等可能對業(yè)務系統(tǒng)安全性產生影響的各種因素。同時會準備代碼審計工具、務系統(tǒng)測試系統(tǒng)等環(huán)境,為代碼審查工作的開展提供必要條件。
自動化代碼審計工具的優(yōu)缺點
優(yōu)點:
? 檢測容易出現(xiàn)的漏洞和數百個其他漏洞,包括SQL注入和跨站點腳本
? 在敏捷和持續(xù)集成環(huán)境中,快速和大量代碼測試的能力是至關重要的
? 能夠按需調度和運行
? 能夠添加包括業(yè)務邏輯在內的非安全性檢查
? 能夠根據組織的需要擴展自動化測試
? 根據工具的選擇,可以根據組織的需要,特別是特定的合規(guī)性規(guī)范和值的應用程序,定制自動化的源代碼評審工具
? 可以幫助提高開發(fā)人員的安全意識,并提供一種更好地培訓使用該工具的開發(fā)人員的方法
缺點:
? 不允許進行微調和自定義的工具可能會產生誤報和誤報
? 覆蓋范圍和廣度實際上取決于你選擇的工具以及它所涵蓋的語言、框架和標準
? 為那些不熟悉靜態(tài)代碼檢查器的人提供了一個學習曲線
? 盡管有強大的通用開發(fā)語言自動審查開源工具,但它們并不總是符合預算計劃的