|
公司基本資料信息
|
Fortify掃描Qt項目
Fortify對于C++類型的代碼掃描需要結合編譯指令實現,但Fortify支持的C++指令并不多,所以有些類似使用Qt工具開發的項目就需要做一定調整來適配Foritfy的掃描。使用gcc或者cl級別的命令來實現會很麻煩,因為需要對于Qt的qmake工具運行邏輯有一定深入分析,熟知其生成的Makefile以來的環境和make工具,難度較大,所以更建議以Visual Studio的Fortify插件為入口,先將Qt項目轉成Visual Studio項目,再使用插件掃描,這樣就會容易很多。
我們簡單介紹一下流程:
1、在Visual Studio中安裝Qt Visual Studio Tools插件和Fortify插件。
2、在Qt插件的Qt Opt選項中配置編譯套件,該套件位置可以在Qt對應版本下面,比如QtQt5.12.85.12.8msvc2017。
3、使用Qt插件的Open Qt Project File (.pro)...打開對應的Qt項目,并使用插件的Convert custom build steps to Qt/MSBuild選項,將項目轉成vs項目,并生成對應的.vcsproj文件。
測試能成功運行后,就可以使用Fortify進行掃描了。步驟類似與上面的Android項目,即可生成對應的fpr文件。另外,如果想要使用命令來自動化的進行項目掃描,但不知道一個類型的項目如何進行適配,可以解壓使用插件生成的fpr文件。查看其中audit.fvdl文件中的sun.mand屬性內容,里面包含了該項目生成掃描中間文件的指令參數,可以參考了解如何配置自動化的掃描平臺。
Fortify SCA如何使用!
安裝fortify之后,打開
界面:
選擇掃描
他問要不要更新? 如果你購買了可以選擇YES。
選擇之后出現如下界面
瀏覽意思是:掃描之后保存的結果保存在哪個路徑。
然后點擊下一步。
參數說明:
1、enable clean :把上一次的掃描結果清楚,除非換一個build ID,不然中間文件可能對下一次掃描產生影響。
2、enable translation: 轉換,把源碼代碼轉換成nst文件
3、64: 是掃描64位的模式,sca默認掃描是32位模式。
4、-Xmx4000m:4000M大概是4G,制定內存數-Xmx4G :也可以用G定義這個參數建議加
5、-encoding: 定制編碼,UTF-8比較全,工具解析代碼的時候字符集轉換的比較好,建議加,如果中文注釋不加會是亂碼。
6、-diable-source-:rendering:不加載與漏洞無關的代碼到審計平臺上,不建議加,這樣代碼顯示不全。
Fortify “Function(函數)”面板:
Function(函數)面板顯示了項目中的函數/方法列表。使用“Function(函數)”面板可找出該函數在源代碼中的位置,了解函數是否應用和匹配某個規則,以及編寫和驗證自定義規則。
“Function(函數)”面板具有以下選項:
Show(顯示):確定顯示在該列表中的函數。
Group by(分組方式):將函數歸類到各個包和類中,顯示層次結構或直接顯示所有函數而不進行分組。
Include unused funct(包括未使用的函數):顯示源代碼中的每個函數。默認情況下,列表中不會包含未使用的函數。