Fortify软件
强化静态代码分析器
使软件更快地生产
如何修正HP Fortify SCA报告中的弱点?
常见的静态程序码扫描工具(又称原始码检测,白箱扫描),例如HP Fortify SCA,fortify报告中文插件,被许多企业用来提高资讯安全的透明度以及外部的法规遵循。但是拿到报告之后怎么办呢?
对于许多来说,HP Fortify SCA的报告被视为麻烦制造者,因为它们虽然指出了弱点(不论是真的或是误报),但却没有提供任何修正这些弱点的方法。
有没有简单的方法能够修正静态程式码扫描工具找到的弱点呢?
Lucent Sky AVM和静态程序码扫描工具一样会指出弱点,同时提供即时修复 - 一段安全的程式码片段,能够直接插入程式码中来修正跨站脚本(XSS),源代码检测工具fortify报告中文插件,SQL注入和路径处理这些常见的弱点。
以.NET(C#和VB.NET)和Java应用程式来说,Lucent Sky AVM可以修正达90%所找到的弱点。
一起使用HP Fortify SCA和Lucent Sky AVM
HP Fortify SCA只会告诉你弱点在哪里,而Lucent Sky AVM会指出它们的位置以及修正方式(并且实际为你修正他们,你喜欢的话)HP Fortify SCA是被设计来供资安人士使用,因此设计理念是找出大量的结果,再依赖资讯安全来移除其中的误报.Lucent Sky AVM则是专注于找出会真正影响应用程式安全的弱点,并依照你或你的开发与资讯安全团队的设定来可靠的修正这些弱点。你可以深入了解Lucent Sky AMV的修正流程。





Fortify软件
强化静态代码分析器
使软件更快地生产
“将FINDBUGS XML转换为HP FORTIFY SCA FPR | MAIN | CA特权身份管理员安全研究白皮书?
强化针对JSSE API的SCA自定义规则滥用
我们的贡献:强制性的SCA规则
为了检测上述不安全的用法,我们在HP Fortify SCA的12个自定义规则中对以下检查进行了编码。这些规则确定了依赖于JSSE和Apache HTTPClient的代码中的问题,因为它们是厚客户端和Android应用程序的广泛使用的库。
超许可主机名验证器:当代码声明一个HostnameVerifier时,该规则被触发,并且它总是返回"true"。
<谓词>
<![CDATA [
函数f:f.name是“verify”和f.enclosingClass.supers
包含[Class:name ==“javax.net.ssl.HostnameVerifier”]和
f.parameters [0] .type.name是“java.lang.String”和
f.parameters [1] .type.name是“javax.net.ssl.SSLSession”和
f.returnType.name是“boolean”,f包含
[ReturnStatement r:r.expression.ctantValue matches“true”]
]]>
谓词>
过度允许的信任管理器:当代码声明一个TrustManager并且它不会抛出一个CertificateException时触发该规则。抛出异常是API管理意外状况的方式。
<谓词>
<![CDATA [
函数f:f.name是“checkServerTrusted”和
f.parameters [0] .type.name是“java.security.cert.X509Certificate”
和f.parameters [1] .type.name是“java.lang.String”和
f.returnType.name是“void”而不是f包含[ThrowStatement t:
t.expression.type.definition.supers包含[Class:name ==
“(javax.security.cert.CertificateException | java.security.cert.CertificateException)”]
]]>
谓词>
缺少主机名验证:当代码使用低级SSLSocket API并且未设置HostnameVerifier时,源代码扫描工具fortify报告中文插件,将触发该规则。
经常被误用:自定义HostnameVerifier:当代码使用HttpsURLConnection API并且它设置自定义主机名验证器时,该规则被触发。
经常被误用:自定义SSLSocketFactory:当代码使用HttpsURLConnection API并且它设置自定义SSLSocketFactory时,该规则被触发。
我们决定启动“经常被滥用”的规则,因为应用程序正在使用API,并且应该手动审查这些方法的重写。
规则包可在Github上获得。这些检查应始终在源代码分析期间执行,以确保代码不会引入不安全的SSL / TLS使用。
https://github.com/GDSSecurity/JSSE_Fortify_SCA_Rules
AuthorAndrea Scaduto |评论关闭|分享文章分享文章
标签TagCustom规则,CategoryApplication安全性中的TagSDL,CategoryCustom规则
Fortify SCA 简介
Fortify SCA 是一个静态的、白盒的软件源代码安全测试工具。 它通过内置的五大主要分析引擎:数据流、语义、结构、控制流、配 置流等对应用软件的源代码进行静态的分析,源代码审计工具fortify报告中文插件,分析的过程中与它特有 的软件安全漏洞规则集进行全mian地匹配、查找,从而将源代码中存在
的安全漏洞扫描出来,并给予整理报告。扫描的结果中不但包括详细 的安全漏洞的信息,还会有相关的安全知识的说明,以及修复意见的 提供。
1.Fortify
SCA 扫描引擎介绍:
Foritfy SCA
主要包含的五大分析引擎:
z 数据流引擎:跟踪,记录并分析程序中的数据传递过程所产生
的安全问题。
z 语义引擎:分析程序中不安全的函数,方法的使用的安全问题。
z 结构引擎:分析程序上下文环境,结构中的安全问题。
z 控制流引擎:分析程序特定时间,状态下执行操作指令的安全 问题。
z 配置引擎:分析项目配置文件中的敏感信息和配置缺失的安全
问题。
z 特有的 X-Tier?跟zong器:跨跃项目的上下层次,贯穿程序来综合 分析问题
源代码扫描工具fortify报告中文插件-华克斯由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司是江苏 苏州 ,行业软件的见证者,多年来,公司贯彻执行科学管理、创新发展、诚实守信的方针,满足客户需求。在华克斯领导携全体员工热情欢迎各界人士垂询洽谈,共创华克斯更加美好的未来。