Fortify自定义规则编写教程(一):Fortify规则文件简介
Fortify是一款业界公认的静态代码检查工具,就连CWE中诸多条目都来自于Fortify的源码安全知识库。
Fortify源码安全知识库链接:http://hpenterprisesecurity.com/vulncat/zh_CN/vulncat/index.html
Fortify规则库是Fortify工具的核心,工具是由规则来驱动的。没有规则,Fortify不能对源代码进行分析扫描。
安装好Fortify以后需要将规则文件解压至 Fortify安装目录/Core/config/rules目录下:
官方的.bin文件当然是加密的,无法查看。
要编写自定义规则,我们可以使用Fortify内置的规则编辑器(熟练的员工可以使用其他xml编辑器)。必须在图形界面下才能运行规则编辑器:位于 Fortify安装目录/bin下,名为CustomRuleEditor.cmd:
启动后,新建一个规则包:
我们随意选择一个规则类型,然后配置(参考下图一步步配置):
选择XML View视图,可以看到生成的规则:
一个规则包可以包含多个,因此后续生成的规则,我们保存的时候,可以保存到同一个xml文件里,Fortify会自动将其放到/Rulepack/Rules下面。
关于规则包文件,大家需要熟悉几个概念:
1./RulePack/RulePackID:这个是规则包唯一ID,不能与其他规则包ID重复,否则判为无效。当然,使用工具生成的ID肯定是唯一的。
2./RulePack/SKU:这个猜测是规则包系列名称,官方包里也只是RUL加一串数字
3./RulePack/Name:规则包名称,例如官方规则中:Fortify安全编码规则,核心,SQL
4./RulePack/Version:规则包版本,例如官方规则中:2014.1.1.0002
5./RulePack/Description:规则包描述,例如官方规则中的描述:提供关于SQL核心API相关的安全问题描述
注:,这个是xml的基础知识,不了解的自行google。
6./RulePack/Rules:规则组,里面可容纳多个规则
7./RulePack/Rules/RuleDefinitions:规则定义
关于具体的规则类型介绍,以及规则设计定制,后续教程将会介绍。
作者:陈辉军
- 点赞
- 收藏
- 关注作者
评论(0)