HP Fortify
Static
Code Analyzer
(SCA)
静态分析–
发现和修复源代码的安全隐患
用户场景:
用户拥有开发团队,拥有源代码
优势:
跨语言
跨操作平台
跨IDE环境
扫描速度快
详细的中文报告
发现安全漏洞的准确性和全mian性
拥有业界最庞大最权wei的代码漏洞规则库
拥有最da的市场份额和最gao的用hu口碑
支持的语音:
ASP.Net
VB.Net
C#.Net
ASP
VBscript
VB6
Java(Android)
JSP
Javascript
HTML
Fortify软件
强化静态代码分析器
使软件更快地生产
如何解决Fortify报告的扫描问题
1124,1127由于[严重]低内存,扫描进度缓慢
这个错误不会影响结果的准确性,但是要加快扫描速度,请参阅:如何增加Fortify的内存进行翻译
1137功能。 。 。对于详尽的数据流分析来说太复杂了,进一步分析将被跳过(访问)如何解决“功能...太复杂”错误
1138功能。 。 。对于详尽的数据流分析来说太复杂了,进一步分析将被跳过(时间)如何解决“功能...太复杂”的错误
1212无法在<code location>中解析函数<method>
这是Fortify 17.10的一个已知问题。有关详细信息,请参阅以下文章:
Fortify SCA版本17.10的Java方法中的函数解析错误
1214为类找到多个定义解决多个类定义。考虑将代码扫描到多个FPR文件(如果适用)。
1215找不到Web应用程序的部署描述符(web.xml)如何解决Fortify无法找到web.xml或WEB-INF目录的警告
1219无法在给定的搜索路径和Microsoft .NET framework库中找到类[...]如何解决“无法找到类...”
1225无法找到Microsoft .NET反汇编程序工具(ildasm)如何解决“无法找到Microsoft .NET反汇编程序工具(ildasm)...”
1237以下对java类的引用无法解析[...]修改提供给Fortify的类路径以包含包含列出的类的jar文件。
1343功能。 。 。对于控制流分析来说太复杂了,将被跳过。 (时间)如何解决“功能...太复杂”错误
1425选项“-source-base-dir”(或属性“com.fortify.sca.SourcebaseDir”)应在处理cfml文件时设置将-source-base-dir设置为推荐
1501类路径条目。 。 。不存在根据需要修改提供给Fortify的类路径,以提供正确的类路径
6001没有文件被排除,因为-exclude选项指ding的文件模式[...]与任何文件不匹配此错误不会影响结果的准确性,但这可能意味着某些扫描的文件被意图排除。
10002无法解析T-SQL [...]如何在Windows上扫描PL / SQL
12003假设Java源级别为1.8,因为没有指ding。指ding在GUI中或使用-source或-jdk命令行选项使用的Java版本。
12004,12005 的PHP前端无法解析以下内容如何解决“PHP前端无法解析以下包含...”
12004,12006 ASP / VBscript前端无法解析以下内容/您可能需要定义一些虚拟根。如何解决“ASP / VBscript前端无法解决以下内容...”
12004,12010 Actionscript前端无法解析以下导入如何解决“Actionscript前端无法解析以下导入...”
12004红宝石前端无法解决以下要求如何解决“红宝石前端无法解决以下要求...”
12007您可能需要向SCA的-python-path参数添加一些参数请尝试根据Fortify的建议配置-python-path参数。请参阅Fortify文档中的SCA用户指南第12章:翻译Python代码
12014在.Net翻译器执行期间发生翻译错误这是Fortify 16.20扫描C#6 / VB 14代码的一个知识问题。请参阅以下博客文章以获取有关如何处理的信息:Fortify 16.20“C#6 / VB 14”中的“转换器执行失败”错误
12019以下对java函数的引用无法解析有关此错误,请参阅以下博客文章
12020未找到以下类,但提供了哪个jar文件可能包含该类的建议。修改提供给Fortify的类路径以包含包含列出的类的jar文件。
12022课程[。 。 。]在类路径中找不到,但是它在HPE Fortify提供的jar中找到。 。 。如果未设置,请显式设置Java版本,并修改提供给Fortify的类路径以包含指示的jar文件。如果Fortify拉入了正确的jar文件版本,那么这可以被认为不是一个问题,但是必须包含一个自述文件,解释它们是正确的版本。
13556找不到实现该类型的lambda的方法。 。 。有关此错误,fortify,请参阅以下博客文章。
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。客户端验证每个证书的签名,到期(以及其他检查范围,例如撤销,基本约束,策略约束等),从下一级到根CA的服务器证书开始。如果算法到达链中的最后一个证书,没有违规,则验证成功。
主机名验证:建立信任链后,客户端必须验证X.509证书的主题是否与所请求的服务器的完全限定的DNS名称相匹配。 RFC2818规定使用SubjectAltNames和Common Name进行向后兼容。
当安全地使用SSL / TLS API并且可能导致应用程序通过受攻击的SSL / TLS通道传输敏感信息时,可能会发生以下错误使用情况。
证明所有证书
应用程序实现一个自定义的TrustManager,使其逻辑将信任每个呈现的服务器证书,而不执行信任链验证。
TrustManager [] trustAllCerts = new TrustManager [] {
新的X509TrustManager(){
...
public void checkServerTrusted(X509Certificate [] certs,fortify sca,
String authType)fortify
}
这种情况通常来自于自签证书被广泛使用的开发环境。根据我们的经验,我们通常会发现开发人员完全禁用证书验证,而不是将证书加载到密钥库中。这导致这种危险的编码模式意外地进入生产版本。
当这种情况发生时,fortify经销商,它类似于从烟雾探测器中取出电池:检测器(验证)将仍然存在,fortify 扫描,提供错误的安全感,因为它不会检测烟雾(不可信方)。实际上,当客户端连接到服务器时,验证例程将乐意接受任何服务器证书。
在GitHub上搜索上述弱势代码可以返回13,823个结果。另外在StackOverflow上,一些问题询问如何忽略证书错误,获取类似于上述易受攻击的代码的回复。这是关于最投piao答案建议禁用任何信任管理。
fortify-华克斯-fortify 扫描由苏州华克斯信息科技有限公司提供。行路致远,砥砺前行。苏州华克斯信息科技有限公司(www.sinocax.com)致力成为与您共赢、共生、共同前行的战略伙伴,与您一起飞跃,共同成功!