代碼審計測評報告

文章摘要:

代碼審計(CodeAudit) 就是根據(jù)了解到的程序功能和關(guān)鍵業(yè)務(wù),針對程序源代碼逐條進(jìn)行檢查和分析,找出源代碼中可能引發(fā)的常見安全漏洞和業(yè)務(wù)邏輯問題的缺陷,并提供代碼修改建議或解決方案。

文章來源:http://www.fuxihongmi.com/1776.html
代碼審計測評報告

代碼審計介紹

軟件代碼審計是在一個編程中對源代碼旨在發(fā)現(xiàn)錯誤、安全漏洞或違反編程約定的項目。它是防御性程序設(shè)計范例,它試圖在軟件發(fā)布之前減少錯誤。C、C++、php源代碼是最常見的審計代碼,因為許多高級語言,如Python,具有較少的潛在易受攻擊的函數(shù)(例如,不檢查邊界的函數(shù))——維基百科

代碼審計(CodeAudit) 就是根據(jù)了解到的程序功能和關(guān)鍵業(yè)務(wù),針對程序源代碼逐條進(jìn)行檢查和分析,找出源代碼中可能引發(fā)的常見安全漏洞和業(yè)務(wù)邏輯問題的缺陷,并提供代碼修改建議或解決方案。

代碼審計

代碼審計技術(shù)

代碼檢查是代碼審計工作中最常用的技術(shù)手段,實際應(yīng)用中,采用“自動分析+人工驗證”的方式進(jìn)行。通常檢查項目包括:系統(tǒng)所用開源框架、源代碼設(shè)計、錯誤處理不當(dāng)、直接對象引用、資源濫用、API濫用、后門代碼發(fā)現(xiàn)等。

通常能夠識別如下代碼中的風(fēng)險點(diǎn):

跨站腳本漏洞、跨站請求偽裝漏洞、SQL注入漏洞、命令執(zhí)行漏洞、日志偽造漏洞、參數(shù)篡改、密碼明文存儲、配置文件缺陷、路徑操作錯誤、資源管理、不安全的Ajax調(diào)用、系統(tǒng)信息泄露、調(diào)試程序殘留、第三方控件漏洞、文件上傳漏洞、遠(yuǎn)程命令執(zhí)行、遠(yuǎn)程代碼執(zhí)行、越權(quán)下載、授權(quán)繞過漏洞。

環(huán)境部署

針對于源代碼審計工作環(huán)境的部署,其實如果是以服務(wù)的方式為客戶的代碼進(jìn)行審計,審計的環(huán)境一般都會相對復(fù)雜,會面臨幾種情況: 

1. 最理想的環(huán)境,客戶提供代碼同時有對應(yīng)的測試環(huán)境,這樣的話就可以黑盒+白盒進(jìn)行審計,可以提高審計的效率和覆蓋度。

2. 只提供項目源代碼,需要自己梳理整個項目源碼的架構(gòu),通讀所有關(guān)鍵代碼,相對時間成本比較大,但是可以徹底了解整個項目源代碼并且挖掘出高質(zhì)量漏洞。

3. 只提供源代碼片段,這種情況首先需要跟客戶溝通是否可以提供完整項目源代碼,否則是在一定程度影響源代碼審計的完整性,因為部分功能代碼片段可能會找不到調(diào)用的接口函數(shù),無法追蹤業(yè)務(wù)邏輯代碼。

所以客戶的代碼審計服務(wù)基本上沒有搭建環(huán)境的情況,因為他們不會提供數(shù)據(jù)庫,想跑也跑不起來。

代碼審計常用工具

代碼審計工具

代碼審計前期準(zhǔn)備

1.需要和客戶確認(rèn)最新源代碼版本

2.需要客戶準(zhǔn)備入場后代碼審計環(huán)境,是我們自備電腦審計還是在客戶專用的電腦上做審計

3.如果是專用的電腦,需要在電腦上安裝office或者wps、代碼編輯器及IDE工具,同時部署代碼審計工具

4.需要提供被審計系統(tǒng)相關(guān)需求文檔及設(shè)計文檔,幫助審計人員了解業(yè)務(wù),可以深入業(yè)務(wù)進(jìn)行審計

5.需要跟開發(fā)團(tuán)隊提前打好招呼,為審計人員講解代碼結(jié)構(gòu),可以方便審計人員迅速進(jìn)入審計工作中

代碼審計流程

1.客戶提供源代碼,簽訂《保密協(xié)議》

2.源代碼部署完成后,通過專業(yè)的代碼審計工具對源代碼進(jìn)行自動化審計

3.根據(jù)掃描的源代碼結(jié)果對暴露的常規(guī)漏洞和邏輯漏洞進(jìn)行人工復(fù)核,刪除誤報漏洞

4.提交代碼片段和代碼審計報告

代碼審計流程圖


測試周期

測評周期一般15個工作日左右,具體看代碼數(shù)量和項目規(guī)模,有所增減。如果代碼整改不及時或牽涉到第三方程序,時間不好說。測評周期最不確定的因素就是代碼整改,整改的快自然結(jié)束的快,所以用戶單位想早點(diǎn)結(jié)束的話就得把代碼整改抓緊落實完成。

提供的材料

《軟件委托測試申請表》

《源代碼》

任務(wù)書、合同書、申報材料等

約束條件

簽訂《軟件測試委托合同》、《保密協(xié)議》

產(chǎn)出物

《軟件測試驗收報告》

服務(wù)區(qū)域

北京、上海、天津、重慶、遼寧省、黑龍江省、吉林省、廣東省、海南省、福建省、湖南省、四川省、重慶市、貴州省、云南省、廣西省、湖北省、河南省、山東省、甘肅省、新疆省、西藏自治區(qū)、河北省、陜西省、山西省、浙江省、江蘇省等地區(qū)等保測評報告。