|
公司基本資料信息
|
|||||||||||||||||||||||||
Fortify掃描Qt項(xiàng)目
Fortify對于C++類型的代碼掃描需要結(jié)合編譯指令實(shí)現(xiàn),但Fortify支持的C++指令并不多,所以有些類似使用Qt工具開發(fā)的項(xiàng)目就需要做一定調(diào)整來適配Foritfy的掃描。使用gcc或者cl級別的命令來實(shí)現(xiàn)會很麻煩,因?yàn)樾枰獙τ赒t的qmake工具運(yùn)行邏輯有一定深入分析,熟知其生成的Makefile以來的環(huán)境和make工具,難度較大,所以更建議以Visual Studio的Fortify插件為入口,先將Qt項(xiàng)目轉(zhuǎn)成Visual Studio項(xiàng)目,再使用插件掃描,這樣就會容易很多。

我們簡單介紹一下流程:
1、在Visual Studio中安裝Qt Visual Studio Tools插件和Fortify插件。
2、在Qt插件的Qt Opt選項(xiàng)中配置編譯套件,該套件位置可以在Qt對應(yīng)版本下面,比如QtQt5.12.85.12.8msvc2017。
3、使用Qt插件的Open Qt Project File (.pro)...打開對應(yīng)的Qt項(xiàng)目,并使用插件的Convert custom build steps to Qt/MSBuild選項(xiàng),將項(xiàng)目轉(zhuǎn)成vs項(xiàng)目,并生成對應(yīng)的.vcsproj文件。
測試能成功運(yùn)行后,就可以使用Fortify進(jìn)行掃描了。步驟類似與上面的Android項(xiàng)目,即可生成對應(yīng)的fpr文件。另外,如果想要使用命令來自動化的進(jìn)行項(xiàng)目掃描,但不知道一個類型的項(xiàng)目如何進(jìn)行適配,可以解壓使用插件生成的fpr文件。查看其中audit.fvdl文件中的sun.mand屬性內(nèi)容,里面包含了該項(xiàng)目生成掃描中間文件的指令參數(shù),可以參考了解如何配置自動化的掃描平臺。
Fortify SCA如何使用!
安裝fortify之后,打開

界面:

選擇掃描

他問要不要更新? 如果你購買了可以選擇YES。
選擇之后出現(xiàn)如下界面

瀏覽意思是:掃描之后保存的結(jié)果保存在哪個路徑。
然后點(diǎn)擊下一步。
參數(shù)說明:
1、enable clean :把上一次的掃描結(jié)果清楚,除非換一個build ID,不然中間文件可能對下一次掃描產(chǎn)生影響。
2、enable translation: 轉(zhuǎn)換,把源碼代碼轉(zhuǎn)換成nst文件
3、64: 是掃描64位的模式,sca默認(rèn)掃描是32位模式。
4、-Xmx4000m:4000M大概是4G,制定內(nèi)存數(shù)-Xmx4G :也可以用G定義這個參數(shù)建議加
5、-encoding: 定制編碼,UTF-8比較全,工具解析代碼的時候字符集轉(zhuǎn)換的比較好,建議加,如果中文注釋不加會是亂碼。
6、-diable-source-:rendering:不加載與漏洞無關(guān)的代碼到審計平臺上,不建議加,這樣代碼顯示不全。
Fortify “Function(函數(shù))”面板:

Function(函數(shù))面板顯示了項(xiàng)目中的函數(shù)/方法列表。使用“Function(函數(shù))”面板可找出該函數(shù)在源代碼中的位置,了解函數(shù)是否應(yīng)用和匹配某個規(guī)則,以及編寫和驗(yàn)證自定義規(guī)則。
“Function(函數(shù))”面板具有以下選項(xiàng):
Show(顯示):確定顯示在該列表中的函數(shù)。
Group by(分組方式):將函數(shù)歸類到各個包和類中,顯示層次結(jié)構(gòu)或直接顯示所有函數(shù)而不進(jìn)行分組。
Include unused funct(包括未使用的函數(shù)):顯示源代碼中的每個函數(shù)。默認(rèn)情況下,列表中不會包含未使用的函數(shù)。