目录

1、简介

2、自定义规则原理

3、自定义规则

4、运行自定义规则


1、简介

Fortify是Micro Focus旗下AST (应用程序安全测试)产品 [1]  ,其产品组合包括:Fortify Static Code Analyzer提供静态代码分析器(SAST),Fortify WebInspect是动态应用安全测试软件(DAST),Software Security Center是软件安全中心(SSC)和 Application Defender 是实时应用程序自我保护(RASP)。

Fortify 能够提供静态和动态应用程序安全
测试技术,以及运行时应用程序监控和保护功能。为实现高效安全监测,Fortify具有源代码安全分析,可精准定位漏洞产生的路径,以及具有1分钟1万行的扫描速度。 

2、自定义规则原理

要编写有效的自定义规则,就必须熟悉已知的安全漏洞类别和通常与它们相关的函数类型。深入理解各类经常出现在特定类型漏洞的函数,有利于在编写自定义规则过程中能够准确地找到与安全相关的函数。相对来说寻找与安全相关的函数往往是比较困难的,因为任何一门语言,都有其庞大的开源框架和lib库。所以自定义规则,就需要即精通安全漏洞原理,又要熟练掌握一门或几门开发语言。一般自定义规则用的比较多的语言有 java、C/C++、PHP等。

其次必须识别与安全相关的函数,并熟悉这些函数的特性(通过检查源代码,或借助 API 文档)以此来确定能够体现各个函数具体行为和与之相关的漏洞类别的正确规则形式。一旦确定好了这种联系,使用自定义规则编辑器来创建规则就相对简单了。

3、自定义规则

1). 在fortify SCA安装的bin目录下找到打开自定义规则编辑器,CustomRulesEditor.cmd,如下图所示:

 

2). 打开编辑器后,选择File ——>Generate Rule,弹出规则向导框。

 

3). 自定义规则模板可以按照漏洞类型(Category)和规则类型(Rule Type)进行分类,不管是何种方式分类,这些模板大体上分为,数据污染源tainted规则,数据控制流规则,数据传递规则,以及漏洞缺陷爆发的sink规则。只要理解了这些规则模板,和开发语言的函数特征,建立规则就简单了。

 

 

3) .选择规则包语言,点击next,然后填写报名,类名,函数名

 

 

4). 点击next,设置sink点

 

5). 点击保存即可

4、运行自定义规则

需要将编写好的自定义规则包放在Fortify SCA指定的文件夹下方可生效。默认一般是在${FortifyInstall}/Core/config/customrules/目录下

 

 

也可以在${FortifyInstall}/Core/config/fortify-sca.properties进行配置自定义路径

 

 

更多推荐

安全测试工具之-fortify(二)