【廣告】
代碼審計(jì)有哪些高風(fēng)險漏洞?
代碼審計(jì)過程中一些常見的高風(fēng)險漏洞:
1、非邊界檢查函數(shù)(例如,strcpy,sprintf,vsprintf和sscanf)可能導(dǎo)致緩沖區(qū)溢出漏洞
2、可能干擾后續(xù)邊界檢查的緩沖區(qū)的指針操作,例如:if((bytesread = net_read(buf,len))> 0)buf = bytesread;
3、調(diào)用像execve(),執(zhí)行管道,system()和類似的東西,尤其是在使用非靜態(tài)參數(shù)調(diào)用時
4、輸入驗(yàn)證,例如(在SQL中):statement:=“SELECt * FROM users WHERe name ='” userName “';”是一個SQL注入漏洞的示例
5、文件包含功能,例如(在PHP中):include($ page。'。php');是遠(yuǎn)程文件包含漏洞的示例
6、對于可能與惡意代碼鏈接的庫,返回對內(nèi)部可變數(shù)據(jù)結(jié)構(gòu)(記錄,數(shù)組)的引用。惡意代碼可能會嘗試修改結(jié)構(gòu)或保留引用以觀察將來的更改。
源代碼審計(jì)解決方案
服務(wù)描述
源代碼審計(jì)就是檢查源代碼中的安全缺陷,開展源代碼安全審計(jì)能夠降低源代碼出現(xiàn)的安全漏洞,構(gòu)建安全的代碼,提高源代碼的可靠性,提高應(yīng)用系統(tǒng)自身的安全防護(hù)能力。
◆ 服務(wù)流程
代碼審計(jì)服務(wù)針對系統(tǒng)開發(fā)過程中的編碼階段、測試階段、交付驗(yàn)收階段、對各階段系統(tǒng)源代碼進(jìn)行安全審計(jì)檢測,利用數(shù)據(jù)流分析引擎、語義分析引擎、控制流分析引擎等技術(shù),采用的源代碼安全審計(jì)工具對源代碼安全問題進(jìn)行分析和檢測并驗(yàn)證,從而對源代碼安全漏洞進(jìn)行定級,給出安全漏洞分析報告等,幫助軟件開發(fā)的管理人員統(tǒng)計(jì)和分析當(dāng)前階段軟件安全的威脅、趨勢,跟蹤和安全漏洞,提供軟件安全質(zhì)量方面的真實(shí)狀態(tài)信息。
◆ 服務(wù)價值
1.源代碼審計(jì)工作先于攻擊者發(fā)現(xiàn)應(yīng)用軟件、程序中的安全漏洞,有助于客戶及時做好代碼加固工作;
2.源代碼審計(jì)以代碼安全為關(guān)注視角,以發(fā)現(xiàn)程序安全漏洞為目標(biāo),可提升軟件開發(fā)人員的安全編程能力。
怎么做代碼安全審計(jì)
首先客戶提出代碼安全審計(jì)要求,內(nèi)容包括測試范圍和時間,在提交《代碼審計(jì)申請》與源代碼時,附帶《免責(zé)聲明》一起給客戶,客戶收到申請與免責(zé)聲明之后,確認(rèn)審計(jì)范圍與時間無誤之后??蛻籼峤唤o項(xiàng)目接口人,接口人進(jìn)行工作量臺賬記錄,然后由項(xiàng)目負(fù)責(zé)人進(jìn)行工作安排,開始編寫代碼審計(jì)方案,經(jīng)過客戶方面認(rèn)可代碼審計(jì)方案后,開始實(shí)施代碼審計(jì)工作,在審計(jì)過程中通過代碼審計(jì)設(shè)備進(jìn)行詳細(xì)審計(jì)記錄,通過信息收集、漏洞分析和成果整理編寫出《代碼審計(jì)報告》,并提交給客戶,并協(xié)助完成漏洞修復(fù)。
在漏洞修復(fù)工作之后,項(xiàng)目組進(jìn)行代碼審計(jì)復(fù)測,并輸出《代碼審計(jì)復(fù)測報告》,在客戶方確認(rèn)之后,單個系統(tǒng)代碼審計(jì)工作完成。
代碼安全審計(jì)需要做什么準(zhǔn)備工作
在代碼審計(jì)前期準(zhǔn)備階段,項(xiàng)目組將根據(jù)業(yè)務(wù)系統(tǒng)的實(shí)際情況定制訪談材料,采用文檔審核和訪談方式對業(yè)務(wù)軟件功能、架構(gòu)、運(yùn)行環(huán)境和編程語言等實(shí)際情況進(jìn)行調(diào)研。了解業(yè)務(wù)系統(tǒng)的開發(fā)環(huán)境、架構(gòu)、安全現(xiàn)狀以及運(yùn)行環(huán)境等可能對業(yè)務(wù)系統(tǒng)安全性產(chǎn)生影響的各種因素。同時會準(zhǔn)備代碼審計(jì)工具、務(wù)系統(tǒng)測試系統(tǒng)等環(huán)境,為代碼審查工作的開展提供必要條件。