Fortify软件
强化静态代码分析器
使软件更快地生产
“将FINDBUGS XML转换为HP FORTIFY SCA FPR | MAIN | CA特权身份管理员安全研究白皮书?
强化针对JSSE API的SCA自定义规则滥用
允许所有的行动
应用程序不检查服务器发送的数字证书是否发送到客户端正在连接的URL。
Java安全套接字扩展(JSSE)提供两组API来建立安全通信,一个HttpsURLConnection API和一个低级SSLSocket API。
HttpsURLConnection API默认执行主机名验证,再次可以通过覆盖相应的HostnameVerifier类中的verify()方法来禁用(在GitHub上搜索以下代码时,大约有12,800个结果)。
HostnameVerifier allHostsValid = new HostnameVerifier(){
public boolean verify(String hostname,SSLSession session){
返回真
}
};
SSLSocket API不开箱即可执行主机名验证。以下代码是Java 8片段,贵州fortify价格,仅当端点标识算法与空字符串或NULL值不同时才执行主机名验证。
private void checkTrusted(X509Certificate [] chain,String authType,SSLEngine engine,boolean isClient)
throws CertificateException {
...
String identityAlg = engine.getSSLParameters()。
getEndpointIdentificationAlgorithm();
if(identityAlg!= null && identityAlg.length()!= 0){
checkIdentity(session,chain [0],identityAlg,isClient,
getRequestedServerNames(发动机));
}
...
}
当SSL / TLS客户端使用原始的SSLSocketFactory而不是HttpsURLConnection包装器时,识别算法设置为NULL,源代码审计工具fortify价格,因此主机名验证被默认跳过。因此,如果攻击者在客户端连接到“”时在网络上具有MITM位置,则应用程序还将接受为“”颁发的有效的服务器证书。
这种记录的行为被掩埋在JSSE参考指南中:
“当使用原始SSLSocket和SSLEngine类时,您应该始终在发送任何数据之前检查对等体的凭据。 SSLSocket和SSLEngine类不会自动验证URL中的主机名与对等体凭
fortifysca优点
工具支持自动检测版本更新,工具和扫描规则可以方便进行更新,可以以线上、线下多种方式进行升级更新。更新频率不少于4次/年。
·
测试gao效、速度在可接受的范围内。如测试速度不低于1万行代码/分钟。可以随着CPU核数和内存的增加大幅提高测试速度。
·
提供灵活的扫描分析方式,如支持用IDE插件直接扫描程序的目录,支持在命令行下扫描等。
fortifySCA发现静态代码(静态分析)和运行中的应用(动态分析)中存在的安全漏洞的根源
?发现**过570种的漏洞类型,源代码审计工具fortify价格,支持21种开发语言和**过680000个API
?通过协作更快地修复的安全问题
?控制已部署软件中已经存在的漏洞,使其不产生危害
?管控软件安全流程
?通过利用业界领xian的致力于持续研究应用安全的团队来预防风险
确保与和行业的合规标准以及内部策略一致,例如支付卡行业数据安全标准(PCI
DSS),联邦信息安全管理法案(FISMA),萨班斯法案(SOX),Health Insurance Portability and Accountability Act
(HIPAA), North American Electric Reliability Corporation (NERC) 标准等。