隨著互聯(lián)網(wǎng)的飛速發(fā)展,各種網(wǎng)絡(luò)應(yīng)用層出不窮,網(wǎng)絡(luò)應(yīng)用已經(jīng)成為人們生活必不可少的一部分,在大家享受網(wǎng)絡(luò)應(yīng)用給人們帶來(lái)便利的同時(shí),安全問(wèn)題頻繁發(fā)生,信息泄露、業(yè)務(wù)中斷、敲詐勒索等安全事件屢見(jiàn)不鮮,如何保證互聯(lián)網(wǎng)的安全成為了一個(gè)重要的話題。
近年來(lái),大部分安全問(wèn)題來(lái)自于應(yīng)用層安全,應(yīng)用層的安全問(wèn)題主要由軟件源代碼中的安全缺陷所導(dǎo)致。有關(guān)源代碼安全的研究越來(lái)越多,源代碼安全成為了解決信息安全問(wèn)題的一個(gè)重要方向,也是信息安全中的一個(gè)新興領(lǐng)域。
在開(kāi)發(fā)階段引入代碼檢測(cè)解決安全問(wèn)題的思路開(kāi)始被很多企業(yè)所認(rèn)可。源代碼檢測(cè)屬于程序分析領(lǐng)域,需要具有相關(guān)領(lǐng)域的技術(shù)儲(chǔ)備,很多傳統(tǒng)的安全廠商都沒(méi)有相關(guān)的商業(yè)化技術(shù)產(chǎn)品。網(wǎng)上有很多開(kāi)源的審計(jì)工具,但檢測(cè)能力、檢測(cè)精度較差,本文結(jié)合多年對(duì)源代碼檢測(cè)產(chǎn)品的了解,介紹三款較為成熟的商業(yè)化源代碼檢測(cè)產(chǎn)品。
1、Fortify SCA
Fortify Software公司是一家總部位于美國(guó)硅谷,致力于提供應(yīng)用軟件安全開(kāi)發(fā)工具和管理方案的廠商。Fortify為應(yīng)用軟件開(kāi)發(fā)組織、安全審計(jì)人員和應(yīng)用安全管理人員提供工具并確立最佳的應(yīng)用軟件安全實(shí)踐和策略,幫助他們?cè)谲浖_(kāi)發(fā)生命周期中花最少的時(shí)間和成本去識(shí)別和修復(fù)軟件源代碼中的安全隱患。
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)告。掃描的結(jié)果中不但包括詳細(xì)的安全漏洞的信息,還會(huì)有相關(guān)的安全知識(shí)的說(shuō)明,以及修復(fù)意見(jiàn)的提供。
Fortify SCA支持Java,JSP,ASP.NET,C#,VB.NET,C,C++,COBOL,ColdFusion,
Transact-SQL,PL/SQL,JavaScript/Ajax,Classic,ASP,VBScript,VB6,PHPjava,jsp多種語(yǔ)言,600多種風(fēng)險(xiǎn)類(lèi)型,支持CWE/OWASP國(guó)際主流標(biāo)準(zhǔn),交付形態(tài)為純軟件。
2、Checkmarx CxSuite
Checkmarx 是以色列的一家高科技軟件公司。它的產(chǎn)品CheckmarxCxSuite專(zhuān)門(mén)設(shè)計(jì)為識(shí)別、跟蹤和修復(fù)軟件源代碼上的技術(shù)和邏輯方面的安全風(fēng)險(xiǎn)。首創(chuàng)了以查詢語(yǔ)言定位代碼安全問(wèn)題,其采用獨(dú)特的詞匯分析技術(shù)和CxQL專(zhuān)利查詢技術(shù)來(lái)掃描和分析源代碼中的安全漏洞和弱點(diǎn)。
Checkmarx CxSuite的掃描結(jié)果可以以靜態(tài)報(bào)表形式展示,也可以通過(guò)可以對(duì)軟件安全漏洞和質(zhì)量缺陷在代碼的運(yùn)行時(shí)的數(shù)據(jù)傳遞和調(diào)用圖跟蹤的代碼缺陷的全過(guò)程,同時(shí)還可以提供對(duì)安全漏洞和質(zhì)量缺陷進(jìn)行修復(fù)提供指導(dǎo)建議。也可以對(duì)結(jié)果進(jìn)行審計(jì),從而消除誤報(bào)。
Checkmarx CxSuite支持JAVA、ASP.NET(C#、VB.NET)、JavaScript、Jscript、C/C++、APEX等語(yǔ)言,500多種風(fēng)險(xiǎn)類(lèi)型,支持CWE/OWASP國(guó)際主流標(biāo)準(zhǔn),交付形態(tài)為純軟件。
3、360代碼衛(wèi)士
360代碼衛(wèi)士是360企業(yè)安全集團(tuán)基于多年源代碼安全實(shí)踐經(jīng)驗(yàn)推出的新一代源代碼安全檢測(cè)解決方案,包括源代碼缺陷檢測(cè)、合規(guī)檢測(cè)、溯源檢測(cè)三大檢測(cè)功能,同時(shí)360代碼衛(wèi)士還可實(shí)現(xiàn)軟件安全開(kāi)發(fā)生命周期管理,與企業(yè)已有代碼版本管理系統(tǒng)、缺陷管理系統(tǒng)、構(gòu)建工具等無(wú)縫對(duì)接,將源代碼檢測(cè)融入企業(yè)開(kāi)發(fā)流程,實(shí)現(xiàn)軟件源代碼安全目標(biāo)管理、自動(dòng)化檢測(cè)、差距分析、Bug修復(fù)追蹤等功能,幫助企業(yè)以最小代價(jià)建立代碼安全保障體系并落地實(shí)施,構(gòu)筑信息系統(tǒng)的“內(nèi)建安全”。
代碼衛(wèi)士目前支持Windows、Linux、Android、Apple iOS、IBM AIX等平臺(tái)上的代碼安全檢測(cè),支持的編程語(yǔ)言涵蓋C/C++/C#/Objective-C/Java/JSP/JavaScript/PHP/Python/Cobol等主流語(yǔ)言。在軟件代碼缺陷檢測(cè)方面,代碼衛(wèi)士支持24大類(lèi),700多個(gè)小類(lèi)代碼安全缺陷的檢測(cè),兼容國(guó)際CWE、ISO/IEC 24772、OWASP Top 10、SANS Top 25等標(biāo)準(zhǔn)和最佳實(shí)踐;在軟件編碼合規(guī)檢測(cè)方面,代碼衛(wèi)士可支持US CERT C/C++/Java安全編碼規(guī)范的檢測(cè),并可根據(jù)用戶需求進(jìn)行靈活定制;在開(kāi)源代碼溯源檢測(cè)方面,代碼衛(wèi)士可支持80000多個(gè)開(kāi)源代碼模塊識(shí)別,28000多個(gè)開(kāi)源代碼漏洞的檢測(cè)。
4、對(duì)比分析
三大檢測(cè)工具是目前為止源代碼檢測(cè)領(lǐng)域的領(lǐng)軍產(chǎn)品,對(duì)比情況如下:
這三款靜態(tài)源代碼掃描工具都有其各自特色,SCA支持的語(yǔ)言多達(dá)20多種,基本上涵蓋了絕大多數(shù)的應(yīng)用,具有相當(dāng)廣泛的適用性,但同時(shí)也使得其價(jià)格非常昂貴;CxSuite支持的語(yǔ)言包括常見(jiàn)Web應(yīng)用的語(yǔ)言,適用范圍基本上包括了大部分的應(yīng)用,其使用獨(dú)創(chuàng)的語(yǔ)言來(lái)自定義規(guī)則非常有特色,價(jià)格較之SCA有一定的優(yōu)勢(shì);360代碼衛(wèi)士是國(guó)內(nèi)首款源代碼審計(jì)商業(yè)化產(chǎn)品,檢測(cè)能力多元化,可低成本融入開(kāi)發(fā)流程,更適合企業(yè)用戶的需求,性價(jià)比很高。值得一提的是,隨著國(guó)內(nèi)信息安全產(chǎn)品“自主、可控”原則的推廣,更多的企業(yè)會(huì)傾向于本地服務(wù)更好的國(guó)內(nèi)源代碼審計(jì)產(chǎn)品。