【廣告】
什么是代碼審計(jì)?常見(jiàn)的自動(dòng)化代碼審計(jì)工具有哪些?
自從人類發(fā)明了工具開(kāi)始,人類就在不斷為探索如何更方便快捷的做任何事情,在科技發(fā)展的過(guò)程中,人類不斷地試錯(cuò),不斷地思考,于是才有了現(xiàn)代偉大的科技時(shí)代。在安全領(lǐng)域里,每個(gè)安全研究人員在研究的過(guò)程中,也同樣的不斷地探索著如何能夠自動(dòng)化的解決各個(gè)領(lǐng)域的安全問(wèn)題。其中自動(dòng)化代碼審計(jì)就是安全自動(dòng)化繞不過(guò)去的坎。
這一次我們就一起聊聊自動(dòng)化代碼審計(jì)的發(fā)展史,也順便聊聊如何完成一個(gè)自動(dòng)化靜態(tài)代碼審計(jì)的關(guān)鍵。自動(dòng)化代碼審計(jì)在聊自動(dòng)化代碼審計(jì)工具之前,首先我們必須要清楚兩個(gè)概念,漏報(bào)率和誤報(bào)率。
- 漏報(bào)率是指沒(méi)有發(fā)現(xiàn)的漏洞/Bug
- 誤報(bào)率是指發(fā)現(xiàn)了錯(cuò)誤的漏洞/Bug
在評(píng)價(jià)下面的所有自動(dòng)化代碼審計(jì)工具/思路/概念時(shí),所有的評(píng)價(jià)標(biāo)準(zhǔn)都離不開(kāi)這兩個(gè)詞,如何消除這兩點(diǎn)或是其中之一也正是自動(dòng)化代碼審計(jì)發(fā)展的關(guān)鍵點(diǎn)。
我們可以簡(jiǎn)單的把自動(dòng)化代碼審計(jì)(這里我們討論的是白盒)分為兩類,一類是動(dòng)態(tài)代碼審計(jì)工具,另一類是靜態(tài)代碼審計(jì)工具。
源代碼審計(jì)解決方案
服務(wù)描述
源代碼審計(jì)就是檢查源代碼中的安全缺陷,開(kāi)展源代碼安全審計(jì)能夠降低源代碼出現(xiàn)的安全漏洞,構(gòu)建安全的代碼,提高源代碼的可靠性,提高應(yīng)用系統(tǒng)自身的安全防護(hù)能力。
◆ 服務(wù)流程
代碼審計(jì)服務(wù)針對(duì)系統(tǒng)開(kāi)發(fā)過(guò)程中的編碼階段、測(cè)試階段、交付驗(yàn)收階段、對(duì)各階段系統(tǒng)源代碼進(jìn)行安全審計(jì)檢測(cè),利用數(shù)據(jù)流分析引擎、語(yǔ)義分析引擎、控制流分析引擎等技術(shù),采用的源代碼安全審計(jì)工具對(duì)源代碼安全問(wèn)題進(jìn)行分析和檢測(cè)并驗(yàn)證,從而對(duì)源代碼安全漏洞進(jìn)行定級(jí),給出安全漏洞分析報(bào)告等,幫助軟件開(kāi)發(fā)的管理人員統(tǒng)計(jì)和分析當(dāng)前階段軟件安全的威脅、趨勢(shì),跟蹤和安全漏洞,提供軟件安全質(zhì)量方面的真實(shí)狀態(tài)信息。
◆ 服務(wù)價(jià)值
1.源代碼審計(jì)工作先于攻擊者發(fā)現(xiàn)應(yīng)用軟件、程序中的安全漏洞,有助于客戶及時(shí)做好代碼加固工作;
2.源代碼審計(jì)以代碼安全為關(guān)注視角,以發(fā)現(xiàn)程序安全漏洞為目標(biāo),可提升軟件開(kāi)發(fā)人員的安全編程能力。
如何開(kāi)始源代碼安全審計(jì)?
源代碼安全審計(jì)是依據(jù)CVE(Common Vulnerabilities & Exures)公共漏洞字典表、OWASP Web漏洞,以及設(shè)備、軟件廠商公布的漏洞庫(kù),結(jié)合源代碼掃描工具對(duì)各種程序語(yǔ)言編寫(xiě)的源代碼進(jìn)行安全審計(jì)。能夠?yàn)榭蛻籼峁┌ò踩幋a規(guī)范咨詢、源代碼安全現(xiàn)狀測(cè)評(píng)、定位源代碼中存在的安全漏洞、分析漏洞風(fēng)險(xiǎn)、給出修改建議等一系列服務(wù)。
服務(wù)內(nèi)容
1.安全編碼規(guī)范及規(guī)則咨詢
在軟件編碼之前,利用豐富的安全測(cè)試經(jīng)驗(yàn),為系統(tǒng)開(kāi)發(fā)人員提供安全編碼規(guī)范、規(guī)則的咨詢和建議,提前避免不安全的編碼方式,提高源代碼自身的安全性。
2.源代碼安全現(xiàn)狀測(cè)評(píng)
針對(duì)系統(tǒng)開(kāi)發(fā)過(guò)程中的編碼階段、測(cè)試階段、交付驗(yàn)收階段、對(duì)各階段系統(tǒng)源代碼進(jìn)行安全審計(jì)檢測(cè),利用數(shù)據(jù)流分析引擎、語(yǔ)義分析引擎、控制流分析引擎等技術(shù),采用的源代碼安全審計(jì)工具對(duì)源代碼安全問(wèn)題進(jìn)行分析和檢測(cè)并驗(yàn)證,從而對(duì)源代碼安全漏洞進(jìn)行定級(jí),給出安全漏洞分析報(bào)告等,幫助軟件開(kāi)發(fā)的管理人員統(tǒng)計(jì)和分析當(dāng)前階段軟件安全的弱點(diǎn)、趨勢(shì),跟蹤和安全漏洞,提供軟件安全質(zhì)量方面的真實(shí)狀態(tài)信息。
3.源代碼整改咨詢
依據(jù)源代碼安全測(cè)評(píng)結(jié)果,對(duì)源代碼安全漏洞進(jìn)行人工審計(jì),并依據(jù)安全漏洞問(wèn)題給出相應(yīng)修改建議,協(xié)助系統(tǒng)開(kāi)發(fā)人員對(duì)源代碼進(jìn)行修改。
源代碼安全審計(jì)服務(wù)流程