Fortify自定义规则笔记(二)

摘要:

对于自定义规则,我们需要掌握每条规则的所代表的可以检查的漏洞类型,这样,才能编写有效的自定义规则,伴随着自定义规则库的增多,Fortify SCA发现漏洞能力越来越强,误报率会越来越低,一定程度上可以智能化扫描系统。

如下是fortify自定义规则向导中的规则选项:

1) Access Control: Database  Validation Rule
定义验证对数据库中所存储的信息的访问权限的函数 (授权函数)。这个规则可以发现与未经授权的访问相关的漏洞Alias Rule
在安全编码规则包或自定义规则的范围内定义核心和扩展API 所发现的能够模拟其他函数行为的函数。
2) Allocation Rule
定义内存分配的函数。这个规则有助于跟踪缓冲区大小并检测 buffer overflow 漏洞
3) Buffer Overflow Detection Rules for 'scanf' Family of Functions
定义像 scanf() 家族函数一样运行的函数。这些规则有助于跟踪缓冲区大小并检测 buffer overflow 漏洞
4) Buffer Overflow Detection Rules for 'sprintf' Family of Functions
定义像 sprintf() 家族函数一样运行的函数。这个函数可以在格式化字符串中并置多个起始缓冲区,并将格式化字符串的多个内存单位复制到目标缓冲区。这个规则有助于跟踪缓冲区大小并检测 buffer overflow 漏洞

5) Buffer Overflow Detection Rules for 'strcat' Family of Functions
定义像 strcat() 家族函数一样运行的函数。它在目标缓冲区的末端并置了多个起始缓冲区的内存单位。这些规则有助于跟踪缓冲区大小并检测 buf

### 如何在Fortify中创建或应用自定义规则 #### 创建自定义规则 为了在Fortify中创建自定义规则,首先需要将编写好的规则包放置于特定路径下以便其生效。通常情况下,默认位置位于 `${FortifyInstall}/Core/config/customrules/` 文件夹内[^1]。 接着,在构建规则之前,必须清楚地理解并识别那些可能引发安全隐患的函数及其特性。这一步骤可以通过审查源代码或者查阅API文档完成。只有当明确了这些函数的行为模式以及它们可能导致的安全漏洞类别之后,才能进一步设计出精确反映上述特性的规则形式[^2]。 一旦完成了前期分析工作,则可以利用Fortify提供的自定义规则编辑器来进行实际操作。此阶段涉及的具体步骤虽然未被详尽描述,但由于已经建立了清晰的功能映射关系,因此整体流程会显得较为直观简易。 #### 应用已有的自定义规则 对于希望直接运用现有的定制化方案而非重新开发新规则的情况而言,可通过多种方式实现这一目标: - **导入官方提供或其他来源的规则集**:无论是通过客户门户获取还是其他合法渠道获得的规则集合都可以轻松加载到不同版本的工作环境中去。例如,在 `Fortify Audit Workbench`, `Fortify Eclipse Complete Plugin` 或者 `Fortify Extension for Visual Studio` 这些平台里均具备相应的功能支持此类动作执行[^4]。 - **针对具体项目实施扫描作业**:如果目的是要对某个具体的 Java 工程进行安全性评估的话,那么只需要启动 Fortify 软件本身,并按照提示指引选取对应的 Java 类型工程对象再附加必要的配置参数即可开始全面细致化的静态代码检测活动[^5]。 ```java // 示例代码片段展示如何调用可能存在风险的方法 public void unsafeMethod(String input){ Runtime.getRuntime().exec(input); // 此处存在命令注入的风险 } ``` 以上示例展示了潜在不安全方法的应用场景之一——未经验证即执行外部输入字符串作为操作系统指令的一部分,这是典型的命令注入隐患表现形式。通过对这类典型例子的学习研究可以帮助我们更好地制定针对性强的有效防御措施及相关联检视准则。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值