起订:1
发货:2天内
– HPE Fortify SCA
分析的流程
运用三步走的方法来执行源代码安全风险评估:
u 确定源代码安全风险评估的审查目标
u 使用Fortify执行初步扫描并分析安全问题结果
u 审查应用程序的架构所特有的代码安全问题
在第yi步中,我们使用威胁建模(如果可用)的结果以及对用于构建该应用的架构和技术的理解,其目标就是寻求一系列的安全漏洞的风险表现形式。在初步检查过程中,我们将结合静态分析和轻量级的人工审查来确定代码中关键点-很可能包含了更多漏洞的地方,初始扫描使我们能够优先考虑风险gao的区域。
在审查主要代码过程中,我们的源代码安全分析人员对代码进行彻底审查来寻找常见安全问题,比如大家熟悉的缓冲区溢出、跨站点脚本,SQL注入等。终审查用于调查本应用程序架构所特有的问题,一般表现为威胁建模或安全特征中出现的威胁,如自定义身份验证或授权程序等。
Fortify软件
强化静态代码分析器
使软件更快地生产
语义本分析仪在程序级别检测功能和API的潜在危险用途。基本上是一个聪明的GREP。
配置此分析器在应用程序的部署配置文件中搜索错误,弱点和策略违规。
缓冲区此分析仪检测缓冲区溢出漏洞,涉及写入或读取比缓冲区容纳的更多数据。
分享这个答案
于十二月二十四日十二时十七分
感谢你非常有用的信息。你知道这些分析仪在内部工作吗?如果您提供一些细节,我将非常感谢。 - 新手十二月27'12 at 4:22
1
有一个很好的,但干燥的书的主题:/Secure-Programming-Static-Analysis-Brian/dp/... - LaJmOn Nov 8 '12 at 16:09
现在还有一个内容分析器,尽管这与配置分析器类似,除非在非配置文件中搜索问题(例如查找HTML,JSP for XPath匹配) - lavamunky 11月28日13日11:38
@LaJmOn有一个非常好的答案,但在完全不同的抽象层次,我可以用另一种方式回答这个问题:
您的源代码被转换为中间模型,该模型针对SCA的分析进行了优化。
某些类型的代码需要多个阶段的翻译。例如,需要先将C#文件编译成一个debug.DLL或.EXE文件,然后将该.NET二进制文件通过.NET SDK实用程序ildasm.exe反汇编成Microsoft Intermediate Language(MSIL)。而像其他文件(如Java文件或ASP文件)由相应的Fortify SCA翻译器一次翻译成该语言。
SCA将模型加载到内存中并加载分析器。每个分析器以协调的方式加载规则并将这些角色应用于程序模型中的功能。
匹配被写入FPR文件,漏洞匹配信息,安全建议,源代码,源交叉引用和代码导航信息,用户过滤规范,任何自定义规则和数字签名都压缩到包中。
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.a.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用户指南2章:翻译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的方法。 。 。有关此错误,请参阅以下博客文章。