【廣告】
代碼審計(jì)的語(yǔ)言種類?
我們的代碼審計(jì)對(duì)象包括并不限于對(duì)Windows和Linux系統(tǒng)環(huán)境下的以下語(yǔ)言進(jìn)行審核:java、C、C#、ASP、PHP、JSP、.NET。內(nèi)容包括:
1.前后臺(tái)分離的運(yùn)行架構(gòu)
2.WEB服務(wù)的目錄權(quán)限分類
3.認(rèn)證會(huì)話與應(yīng)用平臺(tái)的結(jié)合
4.數(shù)據(jù)庫(kù)的配置規(guī)范
5.SQL語(yǔ)句的編寫規(guī)范
6.WEB服務(wù)的權(quán)限配置
7.對(duì)抗爬蟲引擎的處理措施
代碼審計(jì)——四款主流的源代碼掃描工具簡(jiǎn)介
工欲善其事,必先利其器。
在源代碼的靜態(tài)安全審計(jì)中,使用自動(dòng)化工具代替人工漏洞挖掘,可以顯著提高審計(jì)工作的效率。學(xué)會(huì)利用自動(dòng)化代碼審計(jì)工具,是每一個(gè)代碼審計(jì)人員必備的能力。在學(xué)習(xí)PHP源代碼審計(jì)的過(guò)程中,本人搜集使用了多款自動(dòng)化工具。本文將簡(jiǎn)要介紹其中三款比較實(shí)用的工具:
Fortify SCA(Static Code Analyzer)是由Fortify軟件公司(已被惠普收購(gòu))開發(fā)的一款商業(yè)版源代碼審計(jì)工具。它使用的數(shù)據(jù)流分析技術(shù),跨層跨語(yǔ)言地分析代碼的漏洞產(chǎn)生,目前支持所有的主流開發(fā)語(yǔ)言。Fortify SCA是一個(gè)靜態(tài)的、白盒的軟件源代碼安全測(cè)試工具。它通過(guò)內(nèi)置的五大主要分析引擎:數(shù)據(jù)流、語(yǔ)義、結(jié)構(gòu)、控制流、配置流等對(duì)應(yīng)用軟件的源代碼進(jìn)行靜態(tài)分析,分析的過(guò)程中與它特有的軟件安全漏洞規(guī)則進(jìn)行地匹配、查找,從而將源代碼中存在的安全漏洞掃描出來(lái),并給于整理報(bào)告。
Checkmarx的CxEnterprise靜態(tài)源代碼安全漏洞掃描和管理方案是一款比較的、綜合的源代碼安全掃描和管理方案,該方案提供用戶、角色和團(tuán)隊(duì)管理、權(quán)限管理、掃描結(jié)果管理、掃描調(diào)度和自動(dòng)化管理、掃描資源管理、查詢規(guī)則管理、掃描策略管理、更新管理、報(bào)表管理等多種企業(yè)環(huán)境下實(shí)施源代碼安全掃描和管理功能。
VeraCode靜態(tài)源代碼掃描分析服務(wù)平臺(tái)是商業(yè)運(yùn)營(yíng)好的平臺(tái),數(shù)千家 軟件科技公司都在使用其服務(wù)發(fā)現(xiàn)軟件安全漏洞、質(zhì)量缺陷。
什么場(chǎng)景下需要做代碼安全審計(jì)
1、合規(guī)驅(qū)動(dòng)
新等保“自行軟件開發(fā)”及“外包軟件開發(fā)”中均有對(duì)代碼安全的要求;
2、軟件研發(fā)自身的安全隱患
普通軟件開發(fā)公司的缺陷密度為4~40個(gè)缺陷;
高水平的軟件公司的缺陷密度為2~4個(gè)缺陷;
美國(guó)NASA的軟件缺陷密度可達(dá)到0.1個(gè)缺陷;
3、安全事件
源代碼缺陷導(dǎo)致的安全事件,例如sql注入、跨站攻擊等,導(dǎo)致信息泄露、脫庫(kù)、提權(quán)等。
代碼安全審計(jì)能夠解決哪些安全問(wèn)題
代碼檢查是審計(jì)工作中常用的技術(shù)手段,實(shí)際應(yīng)用中,采用“自動(dòng)分析 人工驗(yàn)證”的方式進(jìn)行。通常檢查項(xiàng)目包括:系統(tǒng)所用開源框架、源代碼設(shè)計(jì)、錯(cuò)誤處理不當(dāng)、直接對(duì)象引用、資源濫用、API濫用、后門代碼發(fā)現(xiàn)等,通常能夠識(shí)別如下代碼中的風(fēng)險(xiǎn)點(diǎn):
跨站腳本漏洞、跨站請(qǐng)求偽裝漏洞、SQL注入漏洞、命令執(zhí)行漏洞、參數(shù)篡改、密碼明文存儲(chǔ)、配置文件缺陷、路徑操作錯(cuò)誤、資源管理、不安全的Ajax調(diào)用、系統(tǒng)信息泄露、調(diào)試程序殘留、第三方控件漏洞、文件上傳漏洞、遠(yuǎn)程命令執(zhí)行、遠(yuǎn)程代碼執(zhí)行、越權(quán)操作、授權(quán)繞過(guò)漏洞。