FortifySCA优点
Secure Coding Rulepacks ?(安全编码规则包)
Audit Workbench(审查工作台)
Custom Rule Editor & Custom
Rule Wizard(规则自定义编辑器和向导)
Developer Desktop (IDE 插件)
其主要特点:
1.集中管理
2.化分优先级
3.标记趋势
4.
协同工作平台
5.产生多种报表
FortifySCA可配置的保护模式
拦截恶意数据,回应恶意的挑战,执行自订的动作
为生产下的应用系统进行执行期的安全分析
接近零影响运作效能
提供广泛而充分的安全事件报告
实时监测各种攻击和各种跟安全有关的行为
Call Site? 监测50种 API及侦cha12类黑de行为
为安全事件进行时间性关联分析
满足监管机构规定的要求
PCI, HIPPA, OWASP Top Ten
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片段,仅当端点标识算法与空字符串或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,因此主机名验证被默认跳过。因此,如果攻击者在客户端连接到“domain.com”时在网络上具有MITM位置,则应用程序还将接受为“some-evil-domain.com”颁发的有效的服务器证书。跳起来^“软件安全错误”归档2012年11月27日,在Wayback机。
这种记录的行为被掩埋在JSSE参考指南中:
“当使用原始SSLSocket和SSLEngine类时,您应该始终在发送任何数据之前检查对等体的凭据。 SSLSocket和SSLEngine类不会自动验证URL中的主机名与对等体凭
版权所有©2024 天助网