产品安全审计 vs. 漏洞赏金
定义方法
产品安全审计
产品安全审计是指限时项目,由一名或多名工程师专门针对特定应用程序进行测试。测试由应用安全公司的员工执行,通常事先确定范围并按固定时/日费率计费。
测试可以是白盒(访问源代码和文档)或黑盒(无源代码访问),通常有明确的范围界定和初步讨论。测试常在预定的日期和时间内进行,客户可在此期间响应问题。
由于客户对专业公司的信任,通常会允许直接访问其基础设施和代码,这使得测试人员能够发现外部难以发现的漏洞。测试完成后,供应商通常会提供书面报告,并可能进行后续验证。
漏洞赏金计划
漏洞赏金计划通常是持续性的开放测试,由公众执行测试。公司可限制参与范围,设定奖励金额,大多数程序都是纯黑盒测试。
测试时间没有限制,参与者自行决定测试时间。报告通常是个别漏洞报告,格式不一致。
混合方法
还存在混合方法,结合了漏洞赏金计划和重点产品安全审计的各个方面。
方法对比
人员差异
专业安全审计公司会投入最佳人员,进行技术能力筛选和背景调查。而漏洞赏金计划参与门槛极低,据统计,只有约1%的参与者"表现良好"。
流程差异
产品安全审计遵循专有方法论,有内部同行评审和质量保证流程。通常签署相互保密协议。
漏洞赏金计划中,每个测试者制定自己的规则,可能产生重复测试。大多数程序不需要具有约束力的保密协议。
结果差异
专业审计提供格式专业的报告,经过多轮质量控制,包含清晰的结果和重现步骤。通过个性化关系理解客户需求。
漏洞赏金计划结果不可预测,往往充斥着无意义的报告。报告格式不一致,难以导入缺陷跟踪软件。
价值差异
专业审计产生可交付给第三方的成果,满足合规要求,证明尽职调查。
漏洞赏金计划不提供测试覆盖保证,不产生可接受的可交付成果,通常不满足合规要求。
总结对比表
| 方面 | 产品安全审计 | 漏洞赏金计划 |
|---|---|---|
| 人员资质 | 经过严格筛选的专业人员 | 参与门槛低,技能参差不齐 |
| 测试流程 | 系统化方法论,质量保证 | 个体化测试,无统一标准 |
| 报告质量 | 专业格式,多轮评审 | 格式不一,质量不稳定 |
| 合规价值 | 满足第三方和合规要求 | 通常不满足合规要求 |
| 成本结构 | 固定成本,无论结果 | 按结果支付奖励 |
结论
组织选择哪种方法取决于预算、合规要求、合作伙伴要求、时间敏感性和保密要求等多种因素。对大多数组织而言,平衡的方法是正确的选择。
理想情况下,组织应至少每季度和在重大变更后执行定期的产品安全审计。如果预算不允许该频率,典型的妥协是最低每年一次。
漏洞赏金计划应用于填补严格安全审计之间的空白,而不是取代定期的专业测试。