问题标签 [fortify-source]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
fortify - 通过排除 HPE Security Fortify 安全编码规则,FortiFY 在运行 java 项目时达到 63%。扩展的 JavaScript
我们在 Linux 平台上为 Java 项目使用 FortiFY 4.21 版本。
昨天我们扫描了一个项目,包含1019个文件,花了将近3个小时才完成。我给了“-Xmx16G”,因为这台机器有一个 24 GB 的 RAM,除了 FortiFy 之外,没有其他应用程序在这台机器上运行。
今天在同一个项目上,我再次运行,但从 Configure RulesPack 中排除“ HPE Security Fortify Secure Coding Rules. Extended JavaScript”。
这样,扫描在一小时内达到 63%,但即使在 6 小时后仍保持不变。所以我怎么知道问题出在哪里。我们如何查看它在哪个阶段停止或如何查看日志等。
请帮忙。
java - Fortify 修复经常被滥用的身份验证
当我使用 fortify 进行扫描时,我在下面的代码中遇到了诸如“经常被滥用:身份验证”之类的漏洞。为此,我们是否有任何解决方法来避免此问题。我看过相关的帖子,但无法获得解决方案。使用 ESAPI 我为主机名和 ipadress 提供了正则表达式,但它不起作用。
addr.getHostAddress()
java.net.InetAddress.getByName(nameServiceHost);
java.net.InetAddress.getLocalHost().getCanonicalHostName()
localhost.getHostName()
请建议我解决这个问题。
c - 修改源代码后不明白如何从 AWB 扫描
我的项目是相当小的 C 项目。从命令行运行sourceanalyzer将在大约 3 分钟内完成翻译和扫描。
文档说如果 .fpr 是从命令行生成的并且我需要从 AWB 重新扫描,则更新项目翻译按钮是灰色的(它是)。但是如果我修改源代码,文档说我必须先更新翻译才能重新扫描代码,这意味着我必须再次从命令行运行sourceanalyzer(因为该选项在 AWB 中是灰色的。)但是,使用sourceanalyzer会重写 .fpr,这意味着我会丢失在 AWB 中创建的所有审核和自定义过滤器。
问题 1:我能否从命令行运行sourceanalyzer进行翻译和扫描,而不会丢失我在 AWB 中创建的审计工作和自定义过滤器?
下一个合乎逻辑的步骤似乎是从 AWB 创建 .fpr。但是,如果我尝试使用 AWB 使用Advanced Scan...启动一个新项目,则需要一个多小时才能完成生成中间文件 - JtsWrapper.java步骤。完成后,结果显示 0 个问题。
问题2:如何使用AWB在不使用Java的C项目上启动新项目?当我选择Start New Project -> Advanced Scan时,它会询问 Java 版本。这是否意味着它认为我的项目是 Java 项目?
这就是我使用sourceanalyzer的方式:
asp.net - HP Fortify:ASP.NET 不良做法:存储在会话中的不可序列化对象
HttpContextHelper.cs 中的方法 set_UserActiveEnvironments() 将不可序列化的对象存储为第 47 行的 HttpSessionState 属性,这会损害应用程序的可靠性
默认情况下,ASP.NET 服务器将 HttpSessionState 对象、其属性和它们引用的任何对象存储在内存中。此模型将活动会话状态限制为单个机器的系统内存可以容纳的状态。为了在这些限制之外扩展容量,服务器经常被配置为持久会话状态信息,这既扩展了容量又允许跨多台机器进行复制以提高整体性能。为了保持其会话状态,服务器必须序列化 HttpSessionState 对象,这要求存储在其中的所有对象都是可序列化的。
为什么它显示为一个漏洞,我该如何修复它?
c++ - 不强化的波纹
我想在不强化源代码的情况下编译rippled(具体来说,我想避免使用 *_chk 函数)。
据我所知,gcc/g++ 使用FORTIFY_SOURCE和-fstack-protector进行强化,为了禁用它,应该使用-U_FORTIFY_SOURCE 或 -D_FORTIFY_SOURCE=0和-fno-stack-protector。
但是,由于某种原因,这不适用于我的涟漪。我已经修改了 SConstruct 文件,以便添加上述定义和开关,并且我在构建过程中看到它们实际上被传递给编译器和链接器。但是,当我运行时readelf -sW rippled | egrep chk
,我会获得几行,例如:
所以我猜测问题不在于开关和定义。但在那种情况下,我可能会错过什么?为什么这些符号仍然包含在 ELF 中?
PS:我知道对“_chk”功能的括号调用是-U_FORTIFY_SOURCE和-fno-stack-protector的替代方法,但我只是放弃了该选项,因为我不想修改rippled的代码(并且,但是,据我所知,这只会影响功能的一个子集)。
fortify - 由于依赖项无效,无法加载 Fortify com.fortify.dev.ant.SCAListener
有没有人见过这个问题?我尝试在详细的情况下运行强化,但我得到的是:编译器执行失败(退出代码:1)
我正在尝试使用 ant 脚本运行强化源。
编辑:
当我这样做时我没有问题:
java - 当我尝试在 HP Fortify SCA 扫描向导中扫描 Java 应用程序时,我看到一个错误未解决的类
SCA 向导注意到以下 jar 包包含与源相同的包:C:\Users\12345\Desktop\Work\xyz\xyz\xyz\Lib\sslorb\ebtibo.jar
建议将这些 jar 的源添加到 Scan 中,这样可以获得更完整的结果集
如何摆脱这个错误?任何建议都会很明显
gradle - 使用 Gradle 的 HP Fortify 扫描
我在 build.gradle 中使用以下配置来运行 HP Fortify 扫描:
但是在执行时我得到以下信息:
我无法在互联网上找到 sourceanalyzer:3.90 插件。请告知如何解决此问题。
gcc - GCC 强化功能文档
我正在尝试查找有关在 GCC for libc 中实现强化功能所需的信息。
据我了解, __builtin__*_chk 变体用于编译时检查,但如果 GCC 无法确定缓冲区大小,他将用 __*_chk 版本(如果存在)替换调用。
上述说法正确吗?如果是这样,当 FORTIFY_SOURCE=1|2 时,我在哪里可以找到有关 GCC 在 libc 中将函数与其运行时 __*_chk 版本绑定在一起所需的文档?
谢谢
fortify - 加强重新扫描问题
强化现实世界场景问题:
我一直遇到的真正问题不是对强化问题的实际补救,而是可靠地抑制任何被确定为误报的发现。我可以在报告中压制它们——我对此很有信心,但这仍然不能阻止在随后的代码扫描中发现相同的问题。反过来,每次我们运行扫描时,我都会花费大量时间来抑制它们。
因此,我可能会在一年中多次部署对相同代码文件的更改。所以每次我都需要花费大量时间来消除代码上的误报。
我的流量:-
扫描 --> 识别 fasle 阳性 --> 在报告中抑制 --> 部署 --> 再次进行更改 --> 扫描 --> 识别 fasle 阳性 --> 在报告中抑制 --> 部署。这个过程重复..
有什么办法可以克服这些重复出现的问题,这样对我有很大帮助。