源代碼審核的概念和原理
7.3.3 代碼安全審核
1.源代碼審核的概念和原理
為了保障安全編程規(guī)范的執(zhí)行,以及在開發(fā)階段由開發(fā)小組發(fā)現(xiàn)安全問題。需要采用源代碼審核的技術(shù)手段來予以保障。
源代碼審核是指無需運(yùn)行被測代碼,僅通過分析或檢查源程序的語法、結(jié)構(gòu)、過程、接口等來檢查程序的正確性,報告源代碼中的可能導(dǎo)致安全弱點(diǎn)的薄弱之處,找出代碼隱藏的錯誤和缺陷,如參數(shù)不匹配、有歧義的嵌套語句、錯誤的遞歸、非法計算、可臺旨出現(xiàn)的空指針引用等。統(tǒng)計證明,在整個軟件開發(fā)生命周期中,30010至'70%的代碼邏輯設(shè)計和編碼缺陷是可以通過源代碼審核來發(fā)現(xiàn)的。
源代碼審核可以采用人工審核和工具審核兩種方式進(jìn)行,可以看出,源代碼審核往往要求大量的時間消耗和相關(guān)知識的積累,采用人工審核的方式不僅費(fèi)時費(fèi)力,還極容易產(chǎn)生遺漏。因此,對于軟件開發(fā)團(tuán)隊來說,使用源代碼審核工具自動化執(zhí)行代碼檢查和分析,禽邑夠極大地提高軟件可靠性并節(jié)省軟件開發(fā)和測試成本。
源代碼審核工具的優(yōu)勢在于:
◇幫助程序開發(fā)人員自動執(zhí)行靜態(tài)代碼分析,快速定位代碼隱藏錯誤和缺陷;
◇明顯地減少了在代碼逐行檢查上花費(fèi)的時間,提高軟件可靠性并節(jié)省軟件開發(fā)成本;
◇支持知識庫的升級,也支持用戶添加自定義的安全規(guī)則。
因此,在軟件編碼完成后,使用源代碼審核工具,從客觀角度對程序員編寫的代碼進(jìn)行一次全面的安全檢查,能極大地減少軟件中的安全問題被帶人隨后的軟件生命周期階段的可能性。