C/C++源码扫描系列- Fortify 篇
环境搭建
本文的分析方式是在 Linux 上对源码进行编译、扫描,然后在 Windows 平台对扫描结果进行分析,源代码检测工具fortify规则,所以涉及 Windows 和 Linux 两个平台的环境搭建。
Windows搭建
首先双击 Fortify_SCA_and_Apps_20.1.1_windows_x64.exe 安装
安装完成后,把 fortify-common-20.1.1.0007.jar 拷贝 Core﹨lib 进行,然后需要把 rules 目录的规则文件拷贝到安装目录下的 Core﹨config﹨rules 的路径下,该路径下保存的是Fortify的默认规则库。
ExternalMetadata 下的文件也拷贝到 Core﹨config﹨ExternalMetadata 目录即可
执行 d 即可进入分析源码扫描结果的IDE.
Fortify SCA覆盖规则
以下演示覆盖一个秘钥硬编码的规则:
还是以fortify安装目录下自带的php示例代码(Samples﹨basic﹨php)为例
由于没有加密机和密码托管平台,数据库密码只能明文写在代码或配置文件里,华北fortify规则,怎么不让fortify重复报出这种问题呢?
写一条新规则覆盖这个id的规则,如下xml:
随便一个不会用到的保存秘钥的变量名pasword,覆盖了这条规则
Fortify SAST 新增语言支持
提供27种以上的主要语言及其框架的准确支持和敏捷更新。之后将添加更多新的语言版本,从根本上改进、简化工作方式。以下语言更新已添加到 Fortify Static 代码分析器:
.NET
增加对 .NET 5.0、C# 9、 Blazor 语言和框架的支持。
MSBuild Support Update
增加对16.8和16.9版本的支持。
Go
增加对1.15和1.16版本的支持;增加对 GOPROXY 环境变量的支持。
Java
更新 JSP 翻译以减少误报;改进字节码分析。
JavaScript
增加对 TypeScript 4.1及Angular 10、11语言和框架的支持。
Kotlin
增加对 Kotlin 1.4.20版本的支持。
PHP
增加对 PHP 7.2、7.3、7.4及8.0版本的支持。
Python
增加对Python 3.9、Django 3.1语言和框架的支持。
Swift/Obj-C
增加对 Xcode 12.4版本的支持。
Operating Systems (Linux)
增加对以下 Linux 服务器的支持:1. SUSE Linux Enterprise Server 15
2. Red Hat Enterprise Linux 8.2
3. CentOS Linux 7.6-1810 and 8.2-2004
4. Ubuntu 20.04.1 LTS
Micro Focus Visual COBOL (Technology Preview)
增加对 Micro Focus Visual COBOL 6.0.版本的支持。
C/C++ (Technology Preview)
使用新的基于 Clang 的翻译改进对 C++11 结构的支持。
华克斯信息-源代码审计工具fortify规则由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司实力不俗,信誉可靠,在江苏 苏州 的行业软件等行业积累了大批忠诚的客户。华克斯带着精益求精的工作态度和不断的完善创新理念和您携手步入辉煌,共创美好未来!