Fortify SCA是一款靜態(tài)代碼掃描工具,它可以幫助程序員分析源碼漏洞,一旦檢測(cè)出安全問題,安全編碼規(guī)則包會(huì)提供有關(guān)問題的信息,讓開發(fā)人員能夠立馬實(shí)施修復(fù)工作,可以全方面的解決你的源碼問題。
【功能特點(diǎn)】
【審計(jì)功能】
1、安全問題審計(jì)結(jié)果、審計(jì)類別劃分和問題旁注功能。
2、安全審計(jì)自動(dòng)導(dǎo)航功能
3、安全漏洞掃描結(jié)果的匯總和問題優(yōu)先級(jí)別劃分功能。
4、安全問題定位和問題傳遞過程跟蹤功能。
5、安全問題查詢和過濾功能。
6、安全問題描述和推薦修復(fù)建議。
【掃描分析功能】
1、獨(dú)特的控制流分析技術(shù)精確地跟蹤業(yè)務(wù)操作的先后順序,發(fā)現(xiàn)因代碼構(gòu)造不合理而帶來的軟件安全隱患。
2、獨(dú)特的配置流分析技術(shù)分析軟件的配置和代碼的關(guān)系,發(fā)現(xiàn)在軟件配置和代碼之間,配置丟失或者不一致而帶來的安全隱患
3、獨(dú)特的數(shù)據(jù)流分析技術(shù),跟蹤被感染的、可疑的輸入數(shù)據(jù),直到該數(shù)據(jù)被不安全使用的全過程,并跨越整個(gè)軟件的各個(gè)層次和編程語(yǔ)言的邊界。
4、獨(dú)特的語(yǔ)義分析技術(shù)發(fā)現(xiàn)易于遭受攻擊的語(yǔ)言函數(shù)或者過程,并理解它們使用的上下文環(huán)境,并標(biāo)識(shí)出使用特定函數(shù)或者過程帶來的軟件安全的隱患
5、獨(dú)特的代碼結(jié)構(gòu)分析技術(shù)從代碼的結(jié)構(gòu)方面分析代碼,識(shí)別代碼結(jié)構(gòu)不合理而帶來的安全弱點(diǎn)和問題。
6、自定義安全代碼規(guī)則功能。
【特色介紹】
1、掃描引擎介紹:
主要包含的五大分析引擎:
數(shù)據(jù)流引擎:跟蹤,記錄并分析程序中的數(shù)據(jù)傳遞過程所產(chǎn)生的安全問題。
語(yǔ)義引擎:分析程序中不安全的函數(shù),方法的使用的安全問題。
結(jié)構(gòu)引擎:分析程序上下文環(huán)境,結(jié)構(gòu)中的安全問題。
控制流引擎:分析程序特定時(shí)間,狀態(tài)下執(zhí)行操作指令的安全問題。
配置引擎:分析項(xiàng)目配置文件中的敏感信息和配置缺失的安全問題。
特有的X-Tier跟蹤器:跨躍項(xiàng)目的上下層次,貫穿程序來綜合分析問題
2、工作原理:首先通過調(diào)用語(yǔ)言的編譯器或者解釋器把前端的語(yǔ)言代碼(如JAVA,CIC++源代碼)轉(zhuǎn)換成一種中間媒體文件NST(Normal Syntax Tree將其源代碼之間的調(diào)用關(guān)系,執(zhí)行環(huán)境,上下文等分析清楚。然后再通過上述的五大分析引擎從五個(gè)切面來分析這個(gè)NST,匹配所有規(guī)則庫(kù)中的漏洞特征,一旦發(fā)現(xiàn)漏洞就抓取出來。最后形成包含詳細(xì)漏洞信息的FPR結(jié)果文件,用AWB打開查看。
3、Fortify SCA掃描的結(jié)果如下:
結(jié)果文件為.FPR文件,包括詳細(xì)的漏洞信息:漏洞分類,漏洞產(chǎn)生的全路徑,漏洞所在的源代碼行,漏洞的詳細(xì)說明及修復(fù)建議等。
4、能夠掃描的安全漏洞種類有:
可以掃描出約350種漏洞,將所有安全漏洞整理分類,根據(jù)開發(fā)語(yǔ)言分項(xiàng)目,再細(xì)分為8個(gè)大類,約350個(gè)子類。
5、支持混合語(yǔ)言的分析,包括ASP、.NET、C/C++、C#、Java、 JSP;支持Windows、Linux、Mac OS等多種操作系統(tǒng)。
6、支持自定義軟件安全代碼規(guī)則。
7、集成軟件開發(fā)環(huán)境(Microsoft Visual Studio, IBM RAD, and Eclipse.)和自動(dòng)產(chǎn)品構(gòu)建過程。