C/C++源码扫描系列- Fortify 篇
环境搭建
本文的分析方式是在 Linux 上对源码进行编译、扫描,然后在 Windows 平台对扫描结果进行分析,所以涉及 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重复报出这种问题呢?
写一条新规则覆盖这个id的规则,如下xml:
随便一个不会用到的保存秘钥的变量名pasword,覆盖了这条规则
Fortify SCA安全合规问题规则定制
《互联网个人信息保护指南》里指出重要数据在存储过程中应保密,包括但不限于鉴别数据和个人信息。而我们在实际审查中发现,有的应用为了排查问题方便,在服务器中间件Log里记录了用户的姓名、shenfenzheng号、yinhangka号、等敏感信息。这种问题可以通过自动化代码审查发现,而fortify默认的规则是无法识别shenfenzheng号这种信息的,我们可以新建CharacterizationRule来完成对shenfenzheng标识的识别
1.增加对合规信息的识别
2.定制漏洞描述和修复建议
Fortify SCA使用
2.1安装完成后桌面没有快捷方式的话,点击左下角windows图片输入 au,点击运行即可。
注意事项
2.2如果打开后出现弹窗点击按钮后出现错误提示的话
2.3 替换安装目录的许可证文件后重新打开软件即可
需要注意的是目录为安装目录,不是压缩包解压目录
2.4 选择java项目或者自动识别项目类型,这里以自动识别项目类型举例,点击后选中代码目录。
2.5 选择完目录后运行可能会提示是否更新规则包,点击是。
2.6 规则更新完成后会弹出配置本次扫描的弹窗
无特殊配置的话一路next蕞后点击扫描,等待扫描完成。
2.7 导出扫描报告
扫描完成后即可查看扫描出的问题,点击tools ->reports -> 即可生成pdf报告
以上信息由专业从事源代码检测工具fortify报告中文插件的华克斯于2025/3/1 16:01:27发布
转载请注明来源:http://jiling.mf1288.com/hksxxkj-2845324048.html