Fortify自定义规则编写教程笔记(五):结构化规则与描述规则

举报
开发者学堂小助 发表于 2017/12/22 10:10:59 2017/12/22
【摘要】 Fortify自定义规则编写教程笔记之结构化规则与描述规则。

一、结构化规则:

Structural Rules

(1)Predicate(谓词)语言

逻辑运算:and,or,not

正则匹配:matches

比较运算:<,>,<=,>=,==

实例: is (quality onsimple types)

存在: in

子规则:[]

(2)结构化属性

Value:

Type:

Construct:

CompilationUnit

Statement

SwitchCase

Expression

Declaration

CommentFile

Comment

(3)示例:

CatchBlock: emptyand

not exception.type.name =="java.lang.InterruptedException"

(4)语法树:

参考附件:structural-type-reference.rar中index.html

:

二、描述规则:

CharacterizationRules

(1)StructuralMatch

类似于structural rule中的predicate

(2)Definition

TaintSource( inxxx, {+SOME_FLAG} )

TaintEntrypoint( inxxx, {+SOME_FLAG1 +SOME_FLAG2} )

TaintSink( inxxx ,[ !SOME_FLAG1 && (SOME_FLAG2 || SOME_FLAG3)] )

TaintTransfer ( inxxx, outxxx , {+SOME_FLAG1 –SOME_FLAG2})

注意:Sink规则一定要有MetaInfo,VulnKingdom,VulnCategory,VulnSubcategory,Description属性



作者:陈辉军

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。