Fortify自定义规则编写教程笔记(五):结构化规则与描述规则
【摘要】 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)