您好,歡迎來到易龍商務網!
發布時間:2021-10-27 07:32  
【廣告】






代碼審計——四款主流的源代碼掃描工具簡介
工欲善其事,必先利其器。
在源代碼的靜態安全審計中,使用自動化工具代替人工漏洞挖掘,可以顯著提高審計工作的效率。學會利用自動化代碼審計工具,是每一個代碼審計人員必備的能力。在學習PHP源代碼審計的過程中,本人搜集使用了多款自動化工具。本文將簡要介紹其中三款比較實用的工具:
Fortify SCA(Static Code Analyzer)是由Fortify軟件公司(已被惠普收購)開發的一款商業版源代碼審計工具。它使用的數據流分析技術,跨層跨語言地分析代碼的漏洞產生,目前支持所有的主流開發語言。Fortify SCA是一個靜態的、白盒的軟件源代碼安全測試工具。它通過內置的五大主要分析引擎:數據流、語義、結構、控制流、配置流等對應用軟件的源代碼進行靜態分析,分析的過程中與它特有的軟件安全漏洞規則進行地匹配、查找,從而將源代碼中存在的安全漏洞掃描出來,并給于整理報告。
Checkmarx的CxEnterprise靜態源代碼安全漏洞掃描和管理方案是一款比較的、綜合的源代碼安全掃描和管理方案,該方案提供用戶、角色和團隊管理、權限管理、掃描結果管理、掃描調度和自動化管理、掃描資源管理、查詢規則管理、掃描策略管理、更新管理、報表管理等多種企業環境下實施源代碼安全掃描和管理功能。
VeraCode靜態源代碼掃描分析服務平臺是商業運營好的平臺,數千家 軟件科技公司都在使用其服務發現軟件安全漏洞、質量缺陷。
APP代碼審計檢測系統架構
測試系統主要分為兩個模塊,一個是分析引擎模塊,一個是測試管理模塊。不同平臺上開發的軟件代碼可以通過中間的分布式調度方式來完成分發調度測試。如圖所示:
目前可以支持對 JAVA、JSP、 C、C 、PHP、ASP、 C#、Javascript、VBscript、Python、HTML、XML等十幾開發語言的安全漏洞的檢查,共能夠檢測出約 1000種漏洞。啟天安全源代碼審計系統將所有安全漏洞系統地整理并依據漏洞的表現形式、形成原因和危害程序進行科學地分類,共分為“輸入驗證、API 誤用、質量性能、異常處理、 代碼規范、安全控制、環境配置、信息封裝”8個大類,然后根據開發語言的不同,在結合國際漏洞標準組織CWE的漏洞知識庫進行細分和命名,目前約1000個子類。

銀行應用代碼審計方案
銀行是網絡攻擊的主要目標,企業也將信息安全作為其的關注點之一。近年來,銀行系統的安全事件不絕于耳。導致這些攻擊事件的主要根源是由于應用程序自身的漏洞,因此保障應用安全成了當前銀行業信息安全的工作重點。
銀行面臨的應用安全問題主要有以下幾個方面:
1、 應用數量龐大,實現全部安全測試并實時監控的難度很大。
要想實現對所有的應用進行詳盡的安全測試,并在其版本更新時立即進行回歸測試,無論是人工測試還是利用傳統滲透測試工具及靜態代碼掃描工具都無法很好的達到目的。人工的方式太耗費人力。滲透測試工具依賴于人,且對于很多測試路徑無法達到。靜態工具誤報率高,掃描的效率低下。
2、 為了快速應對需求變更,金融行業軟件大量使用敏捷開發的模型,這使得安全代碼審核的工作量加大。
敏捷開發的模型的特點是快速迭代,頻繁的版本發布加大的安全代碼審核的工作量,人工審核的方式已無法全部覆蓋到。
3、 有大量項目是外包開發,其安全質量無法把控。
外包團隊往往只注重對功能需求的完成,而不太顧及代碼質量與安全問題。 企業沒有很好的方法在過程中加強安全質理的管理。
對外包團開發的代碼進行安全審計是銀行保障應用安全的關鍵活動。SECZONE經過多年的安全服務的積累,對于銀行外包代碼安全審計形成了包括培訓、S-SDLC流程、IAST技術組成的成熟解決方案。
1、應用安全培訓
2、S-SDLC軟件安全開發生命周期流程
3、利用IAST工具進行源碼審核
4、兼容敏捷開發模式
5、實現對外包團隊開發質量的控制

代碼安全審計需要做什么準備工作
在代碼審計前期準備階段,項目組將根據業務系統的實際情況定制訪談材料,采用文檔審核和訪談方式對業務軟件功能、架構、運行環境和編程語言等實際情況進行調研。了解業務系統的開發環境、架構、安全現狀以及運行環境等可能對業務系統安全性產生影響的各種因素。同時會準備代碼審計工具、務系統測試系統等環境,為代碼審查工作的開展提供必要條件。