审核发布 | 企业安全开发生命周期(SDL)实践
2023-12-19 12:2:24 Author: www.freebuf.com(查看原文) 阅读量:5 收藏

前言

在发布阶段,最终的安全和隐私风险评估是至关重要的。例如,应用程序在发布时不得包含具有“关键”或“重要”评级的已知漏洞。此外,上线前的安全审核通常会提前开始于测试阶段进行,到发布上线前的审核工作相对简单很多,比如仅看该项目是否包含安全提测工单、安全提测是否通过。这些步骤是为了确保发布的软件产品能够满足用户对安全性的需求和期望。

1702957261_658110cd425375594b9ab.png!small?1702957261940

安全目标

在产品开发和发布过程中,安全始终是一个重要的考虑因素。对于符合安全部门要求的产品,理论上可以放行发布上线;不符合的则应当考虑各种措施以降低风险。

  1. 业务与安全的平衡:在实际场景中,业务需求和安全通常是一对矛盾。即使在大型互联网公司,也可能面临业务优先的压力。然而,安全是一个不可妥协的底线。
  2. 兜底方案:在决定是否放行不达标产品前,应制定一系列第二或第三选择的安全方案进行兜底。这些方案应该旨在最大程度地降低安全风险,并明确相关的安全责任。
  3. 法律与规定:根据《网络产品安全漏洞管理规定》,网络产品(包括硬件和软件)的安全漏洞需要按照规定的程序进行发现、报告、修补和发布,以防范网络安全风险。
  4. 信息公开与评估:如果认为有必要提前发布关于网络产品安全漏洞的信息,应当与相关网络产品提供者共同评估协商,并向工业和信息化部、公安部报告。由这两个部门组织评估后进行发布。
  5. 持续改进与监管:除了以上的具体措施,公司还需要建立完善的安全管理体系,持续监控和改进产品的安全性能。同时,也需要有明确的监管部门或机制来确保各环节的安全执行。

总体而言,安全不仅是技术问题,更是一个需要多方参与、全面考虑的管理问题。只有在确保安全的前提下,产品才能真正实现其价值并服务于用户。

安全活动

在发布审核阶段,安全活动主要围绕最终安全评审和安全绿色通道进行。

  • 最终安全评审(FSR)

    是在发布之前仔细检查对软件应用程序执行的所有安全活动,以确保最终安全评审(FSR)是在发布之前仔细检查对软件应用程序执行的所有安全活动,以确保你的软件版本或应用程序准备就绪。这个过程通常由安全顾问在普通开发人员以及安全和隐私团队负责人的协助下执行。

1702957364_658111347caa653fb888a.png!small?1702957365509

最终安全评审的内容主要包括:

  • 针对需求阶段定义的质量检验关和bug检查,包括对威胁模型、工具输出和性能的评估;安全设计checklist自检报告,用于评估设计是否满足所有的安全要求;
  • 静态代码扫描报告,用于发现代码中可能存在的安全漏洞;web漏洞扫描报告,用于发现web应用中可能存在的安全漏洞;
  • 人工安全测试,这包括了前三项在安全测试阶段已经完成check的内容,并且这些结果会成为人工安全测试的充分条件。此外,还需要关注人工安全测试发现的高中危漏洞是否有遗留。

上线前的安全审核是一个关键的步骤,确保产品在正式对外发布前已满足安全标准。这个过程通常在测试阶段就开始了。在这个阶段,审核人员会检查项目是否包含了安全提测工单,以及安全提测是否已经通过。这些初步的审核工作旨在确保从开发阶段开始,安全性就已经被纳入了考虑。

除了这些,还有一些其他的审核和准备工作需要在发布前完成:

1. 域名转发和边界防火墙映射:这些通常是由非安全测试人员负责的,因为他们可能更擅长于网络配置和管理。这一步确保了产品在正式上线后,网络流量和访问都能得到适当的处理和保护。

2. 回归测试:在通过了所有的安全审核后,通常会进行回归测试,以确保在添加了新的安全措施后,原有的功能仍然正常工作。

3. 安装和升级测试:这通常是在全新的测试环境上进行的,以验证全新安装和版本升级是否顺利。

最终的安全评审实际上是一个综合性的过程,涉及到多个方面。它不仅仅是一个“最终”的安全审核,而是一个持续的、迭代的过程,从项目开始到结束都在不断地进行安全性的评估和改进。

  • 安全绿色通道(SGC)

1702957658_6581125a49f914abaeefa.png!small?1702957658771

在发布审核阶段,安全绿色通道是一个重要的环节。面对不同情况下的“业务优先”,安全部门需要预留特殊通道为不符合安全要求的产品做好准备。需要关注以下三点:

  1. 制定漏洞修复计划:指定漏洞整改责任人,并明确完成漏洞修复的时间点,交由项目管理人员跟进。这个计划应该包括所有已知的安全漏洞和修复方案,以及预计的修复时间。
  2. 明确已知安全风险:对业务方声明已知安全漏洞可能带来的风险与隐患,并要求其确认造成的损失或影响由业务方承担。这需要通过正式的文件或邮件进行,以确保业务方了解并接受这些风险。
  3. 报备上级领导审批:将上述两点进行详细描述,发送邮件上报业务方领导备案,请求“带病”上线。这一步是为了确保所有的责任和风险都得到了妥善的处理和分配。

总的来说,安全绿色通道是一个复杂的过程,需要多个部门的协调和合作。在这个过程中,安全部门的角色是确保产品的安全性,而业务部门则需要理解并接受这些安全要求,以便产品能够顺利地发布和运行。

以下是产品经理在处理已知安全漏洞时的一般流程。具体步骤如下:

1702957701_65811285dacd39c54c4f0.png!small?1702957702655

  1. 报备阶段:

- 产品经理根据安全测试结果,制定漏洞修复计划和时间。

- 在修复计划中明确每个漏洞的修复责任人、修复时间和修复方式。

- 声明由已知安全漏洞带来的风险由业务方自己承担。

- 发送邮件给业务方老大请求批准,并抄送安全部和项目管理报备。

  1. 审批阶段:

- 业务方老大收到邮件后,仔细审查修复计划和风险声明。

- 在明确风险后,决定是否批准上线。

- 如果不同意修复计划或无法承担风险,可以提出修改意见或拒绝上线。

  1. 放行阶段:

- 安全审核人员在收到业务方老大批准的邮件后,点击安全通过按钮。

- 进入后续发布环节,包括配置https、只允许经过waf后访问等基础安全防护措施。

  1. 上线阶段:

- 产品在基础防护范围内上线,确保已知安全漏洞得到修复。

- 可以继续进行监控和日志分析,及时发现和解决新的安全问题。

  • 监控软件表现

漏洞监控软件的主要作用是持续发现组织的IT基础架构和软件中存在的安全漏洞,划分漏洞的优先级并加以解决。一些知名的漏洞监控软件包括Qualys、Rapid7 InsightVM等。

安全漏洞的数量正在快速增长,严重和高危性漏洞的数量占比进一步提升。2017年至2023年漏洞总体呈逐年增长趋势,其中高危以上漏洞逐年增长比例超过10%。因此,使用漏洞监控软件对于保持信息系统的安全至关重要。

1702957790_658112deea886b77d495a.png!small?1702957791810

步骤

描述

1. 设置监控

选择合适的监控工具和阈值,以检测可能的安全威胁。

2. 实时监控

监控工具应能实时收集和分析数据,及时发现任何异常或可疑行为。

3. 报警机制

当监控系统检测到可能的威胁时,立即触发报警,通知相关人员进行检查和处理。

4. 问题定位和修复

发现安全问题后,迅速定位问题原因,并采取相应的修复措施。

5. 后续跟踪

修复问题后,继续监控系统,确保问题已彻底解决,且未引入新的问题。

6. 定期审计

除了实时监控外,还需定期进行安全审计,评估产品的安全状况,发现潜在风险和漏洞。

优化加强

在优化和加强安全审核环节,需要建立完善的安全策略管理流程。这个流程并不是具体的技术指导,而是保证技术为业务服务的管理方法。每一个新的服务或设备可能需要新的安全策略,因此,我们需要定期审计和优化安全策略。

需要实施内部审核来改进质量管理体系的绩效,推动企业不断发展和壮大。内部审核能帮助我们发现和解决问题,提高企业市场竞争力。

需要使用安全区域划分网络,遵循最小授权原则,出入方向的流量都要识别和控制。这些原则和方法可以帮助我们更有效地管理和控制安全风险。

需要注意一些可能绕过安全审核的点。例如,业务方可能有意识地或无意识地使用历史安全提测单蒙混过关,或者暂时悄悄地修改漏洞状态为已修复,强行达到安全标准。对于这些可能的风险,我们需要建立一定的机制进行check,确保业务方真正理解和遵守安全规定。

小结

上线前的安全审核通常会提前开始于测试阶段进行,到发布上线前的审核工作相对简单很多,比如仅看该项目是否包含安全提测工单、安全提测是否通过。此外,安全团队还可以通过参加立项或需求评审会议,宣贯安全评估流程,提出安全质量要求,引导输出安全需求。这样可以避免安全活动影响业务系统上线发布,减少并消除产品安全隐患,提升业务安全能力。


文章来源: https://www.freebuf.com/articles/security-management/387050.html
如有侵权请联系:admin#unsafe.sh