Fortify扫描Android项目
使用插件扫描是一个比较推荐的方式,因为操作简单,且环境可靠不需要重新配置。
首先肯定是获取插件,我们需要从安装Fortify开始。如果已经安装了也不要紧,直接点击安装到原有目录即可,Fortify会自动适配的。安装步骤基本都使用默认选项,但是在选择组件的环节,我们要记得勾选上我们需要的插件。
上图中红框是给Android Studio使用的插件,是本小节需要使用到的。第二个红框则是一个Visual Studio的插件,后面会用到,这里可以先勾选一下(但要记得Visual Studio的插件只能在Visual Studio已存在时安装,版本也不要选错)。安装后,可以在Fortify安装目录下的plugins﹨IntelliJAnalysis目录中找到我们需要的插件。
然后是第二步,将插件安装到Android Studio上。在Android Studio中打开插件的界面,源代码扫描工具fortify版本,选择设置的图标,然后选择Install Plugin from Disk...选项,选中前面说到的插件文件。然后重启Android Studio即可生效。
生效后我们可以在Android Studio的标题栏中找到Fortify选项,在Fortify->Analysis Settings...选项中,我们可以配置该插件扫描源码的规则和配置。
蕞后,我们点击Fortify->Analyze Project选项,即可扫描项目并在项目的根目录生成fpr文件





Fortify SCA 优势
1、 扫描快又准
? 在开发早期就捕获了大部分代码相关性问题;
? 识别并消除源代码、二进制代码或字节代码中的漏洞;
? 支持 27 种编程语言中 815 种的漏洞类别,并跨越超过 100 万个独立的 API;
?在 OWASP 1.2b 基准测验中,真实阳性率为100%,证明了高度的准确性。
2、CI/CD 管道中的安全自动化
? 识别和优先处理构成威胁的漏洞,快速降低风险;
? 与CI/CD 工具充分集成,包括 Jenkins, ALM Octane,贵州fortify版本, Jira, Atlassian Bamboo, Azure DevOps, Eclipse 和 Microsoft Visual Studio 等;
? 实时审查扫描结果并获得访问建议,通过代码行导航更快地发现漏洞和与审计开展协作。
3、节约开发时间和成本
? 嵌入 SDLC 后,开发时间和成本平均降低 25%,且早期修复漏洞成本比制作/发布后阶段低 30 倍;
? 发现漏洞数是原来的 2 倍,误报率降低 95%;(数据来源:《Micro Focus Fortify 2017 商业价值可持续交付》)
? 通过在开发人员工作时对他们进行静态应用安全测试培训,源代码扫描工具fortify版本,满足安全编码实践要求。
Fortify system命令执行检测
除了使用 DataflowSourceRule 、DataflowSinkRule 等规则来定义污点跟踪相关的属性外,Fortify还支持使用 CharacterizationRule 来定义污点跟踪相关的特性。
Fortify在编译/分析代码过程中会把代码中的元素(代码块、类、表达式、语句等)通过树状结构体组装起来形成一颗 structural tree,然后扫描的时候使用 Structural Analyzer 来解析 StructuralRule ,蕞后输出匹配的代码。
下面以一个简单的示例看看 structural tree 的结构,示例代码如下

华克斯-源代码扫描工具fortify版本由苏州华克斯信息科技有限公司提供。行路致远,砥砺前行。苏州华克斯信息科技有限公司致力成为与您共赢、共生、共同前行的战略伙伴,更矢志成为行业软件具有竞争力的企业,与您一起飞跃,共同成功!