Fortify自定义规则编写教程(一):Fortify规则文件简介
【摘要】 Fortify是一款业界公认的静态代码检查工具,就连CWE中诸多条目都来自于Fortify的源码安全知识库。Fortify规则库是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:规则定义
关于具体的规则类型介绍,以及规则设计定制,后续教程将会介绍。
作者:陈辉军
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)