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时,将触发该规则。
经常被误用:自定义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软件
强化静态代码分析器
使软件更快地生产
“将FINDBUGS XML转换为HP FORTIFY SCA FPR | MAIN | CA特权身份管理员安全研究白皮书?
强化针对JSSE API的SCA自定义规则滥用
安全套接字层(SSL / TLS)是使用加密过程提供身份验证,机mi性和完整性的广泛使用的网络安全通信协议。为确保该方的身份,必须交换和验证X.509证书。一方当事人进行身份验证后,协议将提供加密连接。用于SSL加密的算法包括一个安全的散列函数,保证了数据的完整性。
当使用SSL / TLS时,必须执行以下两个步骤,以确保中间没有人篡改通道:
证书链信任验证:X.509证书指ding颁发证书的证书颁发机构(CA)的名称。服务器还向客户端发送中间CA的证书列表到根CA。客户端验证每个证书的签名,源代码检测工具fortify服务商,到期(以及其他检查范围,例如撤销,华中fortify,基本约束,策略约束等),从下一级到根CA的服务器证书开始。如果算法到达链中的后一个证书,没有违规,则验证成功。
主机名验证:建立信任链后,客户端必须验证X.509证书的主题是否与所请求的服务器的完全限定的DNS名称相匹配。 RFC2818规定使用SubjectAltNames和Common Name进行向后兼容。
当安全地使用SSL / TLS API并且可能导致应用程序通过受攻击的SSL / TLS通道传输敏感信息时,可能会发生以下错误使用情况。
证明所有证书
应用程序实现一个自定义的TrustManager,使其逻辑将信任每个呈现的服务器证书,而不执行信任链验证。
TrustManager [] trustAllCerts = new TrustManager [] {
新的X509TrustManager(){
...
public void checkServerTrusted(X509Certificate [] certs,
String authType)源代码检测工具fortify报告中文插件
}
这种情况通常来自于自签证书被广泛使用的开发环境。根据我们的经验,我们通常会发现开发人员完全禁用证书验证,而不是将证书加载到密钥库中。这导致这种危险的编码模式意外地进入生产版本。
当这种情况发生时,它类似于从烟雾探测器中取出电池:检测器(验证)将仍然存在,提供错误的安全感,因为它不会检测烟雾(不可信方)。实际上,当客户端连接到服务器时,验证例程将乐意接受任何服务器证书。
在GitHub上搜索上述弱势代码可以返回13,823个结果。另外在StackOverflow上,一些问题询问如何忽略证书错误,获取类似于上述易受攻击的代码的回复。这是关于投piao建议禁用任何信任管理。
Fortify SCA支持系统平台,源代码检测工具fortify价格表,能扫描的语言种类是的。
Fortify SCA能全mian地(五个层面)分析源代码中存在的问题。
Fortify SCA能够扫描出来350多种漏洞,拥有目前业界权wei的安全规则库,源代码检测工具fortify报告中文插件,与世界同步。
Fortify SCA的测试扫描速度快,约1分钟1万行。
Fortify SCA提供了强大的审计平台和详细的漏洞信息。
Fortify SCA提供了漏洞的详细中文说明和相应的修复建议。
Fortify SCA操作简单,使用方便,易用,界面设计人性化。
Fortify SCA获得多项国际大奖,目前市场占有率第yi。
Fortify SCA是唯yi一个被国内多家安全测评机构所认可并使用的代码安全测试产品。
Fortify SCA 在600多家客户,在国内也有30多家客户,丰富的实施经验,国内拥有的服务团队和售后支持团队。
源代码检测工具fortify价格表-苏州华克斯公司由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司是一家从事“Loadrunner,Fortify,源代码审计,源代码扫描”的公司。自成立以来,我们坚持以“诚信为本,稳健经营”的方针,勇于参与市场的良性竞争,使“Loadrunner,Fortify,Webinspect”品牌拥有良好口碑。我们坚持“服务至上,用户至上”的原则,使华克斯在行业软件中赢得了客户的信任,树立了良好的企业形象。 特别说明:本信息的图片和资料仅供参考,欢迎联系我们索取准确的资料,谢谢!