存档 HP Fortify 扫描历史记录的过程

Process of archiving HP Fortify Scan History

我正在尝试获取有关如何创建 HP Fortify 软件安全中心数据库存档的说明。我的参数是保持当年和过去两年。早于此的任何内容都应放入存档中。有没有人有任何指示或可以向我提供有关如何完成此操作的步骤?谢谢!

这个要看你是只需要保存漏洞数据,还是需要把原来上传的FPR文件下载存档。

我。如果您需要 FPR 文件

我建议您联系 Fortify 专业服务。您需要进行 web 服务编程才能获得这些较旧的 FPR,但 web 服务调用并未全部记录在案,而且并不总是按记录工作。所以让它成为惠普的问题。

如果查看 fortifyclient 程序,您将看到以下可用命令: fortifyclient downloadFPR - 下载项目的最新 FPR。 fortifyclient purgeProjectVersion - 清除在给定日期之前扫描的项目版本中的所有工件。

所以你可以看到这会让你完成 80% 的事情。如果您 downloadFPR 那么您将收到 "project file",其中包含所有最新的扫描信息,但也可能包含所有历史信息——但这当然与您的存档要求不同。

fortifyclient 可能有未记录的参数,但这不太可能。 Fortifyclient 只是 web 服务客户端实现的一个薄包装器。更有可能的是,有更具体的 Web 服务调用 select 来自数据库的特定 "artifact"。

当您从 Fortify SSC 下载 "project file" 时,部分文件是从 blob 中检索的,其他部分是根据数据库中保存的维度信息即时构建的。

当您下载一个 "artifact",即以前上传的未经修改的文件时,我认为整个文件都作为 blob 存储在某处。但是它需要一个或多个存储过程调用来生成可以保存的字节流。

我认为在高层次上,您或 Fortify Professional Services 会希望: 1. 对 ARTIFACT table 使用数据库查询来确定您需要下载哪些工件 ID 2. 运行 自定义网络服务调用以下载指定的工件。 3. 运行 用于删除已下载数据的清除命令。

二.如果您只需要扫描和漏洞数据

这要容易得多,并且完全在数据库中完成。 1. 检查 SCAN table 以查看扫描发生的各种日期。对于某些 SSC 日期值,您必须从 Java 纪元(自 1970-01-01 午夜以来的毫秒数)进行转换。 2. 通过 many:many SCAN_ISSUE table 将所需的 SCAN 行加入到 ISSUE table 中,以从每次扫描中获取 Fortify 报告的完整漏洞详细信息。请注意,每次扫描都会重新发现许多漏洞。 3. 如果您还需要人工审计员的笔记和决策记录,您需要进一步查看以加入 AUDITANALYSIS table 以获取 "Not an Issue" 标志等。如果您需要此信息,我建议你去FOrtify Professional Services,因为即使有历史信息也会很复杂。 4. 加入后,select 关闭以上行。 5. 从 SCAN table 中删除行,级联通过外键绑定在其他 table 中的任何行。确保不要从 ISSUE table 中删除任何内容;这也会删除您当前的漏洞信息。

我对 I 或 II 的工作量估计是 10-15 天。