首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >加强360 -添加‘密码’别名?

加强360 -添加‘密码’别名?
EN

Stack Overflow用户
提问于 2012-02-25 00:34:16
回答 2查看 2.1K关注 0票数 0

我在一些非常大的项目上运行了Fortify (2.6.5),但它没有标记出一些关键问题,这是它确实必须要做的。似乎Fortify对名为“password”的变量执行了一些模式匹配,然后执行数据流分析。这很好,并有助于确保不会对此类敏感数据发生侵犯隐私的情况,例如将它们写入记录器(在调试中)。

这一切都很好,但我们也有通过其他变量名传递密码到系统中的情况,比如“credential”,以及其他需要严格处理的机密信息,就像Fortify对包含字符串“password”的变量所做的那样!

有没有什么简单的方法可以添加/配置这样的关键字列表,以便Fortify像“密码”一样对它们执行操作?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-25 03:57:51

“容易”取决于您对自定义规则的适应程度。您绝对可以使用CharacterizationRule向名为"credential“的变量添加一个+私有污点标志(与违反隐私规则相关的污点)。

下面是结构匹配规则的一个小示例片段,您需要开始使用该规则:

代码语言:javascript
代码运行次数:0
运行
复制
            VariableAccess va: va.variable.name matches "(?i).*credential.*" and
                               not va in [AssignmentStatement: lhs.location is va]
                               and
                               ( va.variable.type.name == "java.lang.String" or
                                 va.variable.type.name == "java.lang.StringBuffer" or
                                 va.variable.type.name matches "byte.*" or
                                 va.variable.type.name matches "char.*")
票数 1
EN

Stack Overflow用户

发布于 2012-03-31 19:10:20

使用AWB自定义规则向导可以更轻松地完成此操作。从规则类型列表中,选择"Characterization“,然后选择"Characterization for private source”。

您的变量"credential“将成为秘密或私有数据的来源。只需按照向导操作,它就会用您指定的正则表达式创建一条规则。该表达式区分大小写,并且遵循Java正则表达式方言:http://docs.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9434458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档