在OPSWAT安全性已融入我们软件开发流程的每个阶段。我们的Secure Software 生命周期(Secure )框架概述了结构化的方法论、治理实践和安全原则,以确保我们的产品符合最高质量和合规标准。
OPSWAT的安全 SDLC 方法以敏捷Software 生命周期为基础,并与国际标准和监管要求保持一致,体现了对持续改进和抵御现代网络威胁的坚定承诺。
本博客详细介绍了OPSWAT的安全承诺,包括我们的应用程序安全治理、开发人员培训计划、政策结构以及该框架为OPSWAT 客户带来的价值。如需了解本博客的 PDF 版本,请下载我们的白皮书。
1.本文件的目的
本文件定义了Secure Software 生命周期框架、计划和流程,概述了安全要求、合规期望及治理机制。它既是OPSWAT产品团队的内部政策,也是对供应商的合规要求,同时还是面向对我们的安全开发实践感兴趣的客户的信息指南。
2. 什么是安全软件开发生命周期(Secure )?
SDLC(Software 生命周期)是一个由一系列计划活动组成的流程,用于开发软件产品。Secure 安全性融入Software 生命周期的每个阶段——包括需求收集、设计、开发、测试以及运行/维护。
3. 为什么要Secure ?
恶意行为者以系统牟利或破坏为目标,给组织带来成本、业务风险和声誉损失。
根据最近的一项调查,与分析和需求阶段相比,在生产阶段发现安全漏洞的修复成本要高出 30 倍。

实施Secure )可带来以下好处:
- 在开发过程中及早发现安全漏洞,从而降低业务风险。
- 在生命周期的早期阶段解决漏洞问题,从而降低成本。
- 在所有利益相关者中建立持续的安全意识。
4.OPSWAT Secure )框架
OPSWAT Secure 框架”定义了指导安全软件开发的结构化方法论和安全原则。
OPSWAT 敏捷Software 生命周期(Agile SDLC)。为了全面满足客户的要求,我们根据监管要求和国际标准采用了Secure 生命周期框架”(Secure Framework)。这一做法彰显了我们在不断演变的网络安全环境中对持续改进和韧性的承诺。
美国国家标准与技术研究院(NIST)Secure Software 框架(SSDF)
OPSWAT Secure 框架”基于NIST SP 800-218SSDF(Secure Software )构建,确保在软件开发过程的所有阶段,安全性都具有结构化、可衡量且能得到一致应用。
通过整合 SSDF 最佳实践,OPSWAT 保持了积极主动的安全态势,将安全嵌入软件开发的每个阶段--从规划和设计到实施、验证和持续监控。
我们按需向美国联邦政府客户提供单个产品的合规性证明。请参阅以下联系方式。
欧盟网络复原力法和 NIS2 指令
随着网络安全法规的不断演变OPSWAT 致力于使其Secure )框架”与全球监管要求保持一致,首先从《欧盟网络弹性法案》和《NIS2 指令》入手。通过主动适应新兴标准OPSWAT 其Secure ”框架在日益复杂的监管环境中保持全面、合规且具有韧性。
ISO 27001 信息安全管理
维护强有力的信息安全对于运营完整性和合规性都至关重要。OPSWAT Secure 框架”融入了 ISO 27001 信息安全管理体系(ISMS)的原则,确保安全控制措施、风险管理策略和合规措施能够无缝融入我们云产品的运营之中。
作为我们安全解决方案的提供者和消费者,OPSWAT 采用公司内部执行的安全政策,确保我们的认证产品在部署前符合企业级安全要求。
查看合规性与认证的更多详情。
ISO 9001 质量管理
为确保软件质量达到最高标准OPSWAT Secure 框架”已整合到 ISO 9001 质量管理体系(QMS)中。该质量管理体系针对治理、变更管理及跨职能流程建立了经过审计的质量控制措施,支持产品及支持服务的定义、设计、开发、生产和维护,其覆盖范围不仅限于研发,还延伸至销售、客户支持、信息技术和人力资源等领域。
这种方法强化了我们对结构化、基于风险的质量管理方法的承诺,确保应用安全始终是所有业务职能部门不可或缺的考虑因素。
查看合规性与认证的更多详情。
OWASPSoftware 保证成熟度模型 (SAMM)
OWASPSoftware 保障成熟度模型 (SAMM)是一个综合框架,旨在帮助企业在现有的 SDLC 中评估、制定和实施有效的软件安全策略。
作为一个开源框架,SAMM 受益于全球的贡献,确保了应用安全的协作性和持续发展性。其结构化方法使企业能够以有效、可衡量的方式分析和改进其开发生命周期。SAMM 支持整个开发生命周期。SAMM 与技术和流程无关。SAMM 具有进化性和风险驱动性。通过利用 SAMM,团队可以深入了解安全漏洞,并在整个开发生命周期内系统地增强安全态势。
OWASP 应用程序安全验证标准 (ASVS)
OWASP 应用程序安全验证标准 (ASVS)是一个全球公认的框架,旨在为网络应用程序的安全建立一个结构化、可衡量和可操作的方法。它为开发人员和安全团队提供了一套全面的安全要求和验证指南,以确保应用程序符合行业最佳实践。
作为一个开放源码框架,ASVS 得益于全球安全社区的广泛贡献,确保其与新出现的威胁和不断发展的安全标准保持同步。

ASVS 可作为应用程序安全成熟度的基准,使企业能够量化安全态势并系统地改进其安全开发实践。ASVS 提供了详细的安全检查清单,涵盖了身份验证、授权、会话管理和访问控制等关键领域,为产品团队在整个软件开发生命周期中无缝集成安全性提供了清晰、可行的指导。通过采用 ASVS,企业可以增强安全保证,简化合规工作,并主动减少现代网络应用程序中的漏洞。
ASVS 作为一种衡量标准,为应用程序开发人员和所有者提供了评估其应用程序安全和信任级别的标准化手段。ASVS 还可为安全控制开发人员提供指导,概述满足应用程序安全要求所需的必要安全措施。ASVS 是在合同中定义安全验证要求的可靠依据。
5.应用程序安全管理和培训
OPSWAT Secure Secure Secure Secure Secure ”计划Secure 框架”转化为结构化的治理机制,确保安全要求得到记录、维护、评估和持续改进,同时确保所有相关方均接受充分的培训。该计划明确了开发、测试和生产环境中的角色、职责及安全措施,涵盖了开发流程的安全性,定义了Secure 环境”,并强制要求在Secure ”流程中贯彻执行安全策略。
角色与责任
高层管理人员 - 首席产品官 (CPO)
首席产品官(CPO)负责对所有产品团队的Secure 计划”以及其他研发(R&D)计划(如质量保证(QA)计划和用户体验(UX)计划)进行战略监督和落实,确保在软件开发过程中采取一致的方法,以实现安全、高质量且以用户为中心的软件开发。
作为所有产品和研发流程的主要风险负责人,首席产品官(CPO)要求研发运营部门负责Secure (Secure Secure )计划”,并确保产品负责人在产品团队中有效落实Secure 计划并实施Secure 流程。在此职责范围内,首席产品官(CPO)负责审批Secure ”计划的修改,以及对Secure ”流程的偏离。
首席产品官(CPO)还会监督Secure 计划”的实施效果,跟踪安全成熟度、漏洞、合规性及开发活动,以确保产品保持强大的安全态势。
此外,首席采购官(CPO)还负责研发安全预算的分配和审批,以确保为Secure 计划”配备充足的资源。
研发业务
研发运营团队由软件工程负责人和应用安全工程师组成,负责确保符合监管及安全要求。研发运营负责人同时是Secure 框架”和Secure 环境”集中化服务的风险负责人,负责监督其持续改进以及将其整合到OPSWAT开发流程中。
Secure 的负责人,研发运营部门负责根据公司安全政策及其他研发计划,维护并持续完善该计划。这包括与产品负责人就战略路线图进行协调,定义并跟踪安全关键绩效指标(KPI)以每年提升成熟度水平,并在必要时调整ASVS要求。
协作是该职位的核心,因为研发运营部门负责组织应用安全虚拟团队,支持产品团队执行Secure 计划”,核查并报告所有产品的安全状况,确保持续开展安全培训,并就应用安全最佳实践提供专业指导。
此外,研发运营部门Secure 环境的集中化服务,确保符合公司安全政策,担任源代码保管人,并监督持续集成/持续部署(CI/CD)工具的配置。这包括管理CI/CD管道中的证据收集工作,并实施严格的访问控制。
产品团队
产品团队由产品负责人、软件工程师、开发人员、质量保证工程师、站点可靠性工程师 (SRE) 以及其他不同角色的团队成员组成,具体取决于产品的具体需求。
产品负责人是其所负责产品的风险负责人,负责监督所有团队成员,并确保开发流程符合Secure ”流程。该团队负责执行和落实OPSWAT Secure (Secure )计划,确保安全措施贯穿整个开发过程。
团队可定制流程、工具和持续集成/持续交付(CI/CD)管道,定义发布标准和完整性措施,同时记录任何偏离Secure 流程”的情况。团队内部将指定一名安全负责人,负责参加应用程序安全虚拟团队(ASVT)的与安全相关的会议,并确保团队内部就安全事项进行有效沟通。
此外,该团队还负责报告产品安全状况的证据,保持透明度,并确保持续符合安全标准。
应用安全虚拟团队
应用安全虚拟团队是一个跨产品团队,由研发运营部的应用安全工程师和各产品团队的指定安全工程师组成,他们都致力于确保OPSWAT产品的安全性。
在例行会议中,安全负责人会收到有关安全关键绩效指标(KPI)变更以及在开发流程中推荐使用安全相关持续集成/持续交付(CI/CD)工具等议题的最新信息。这些会议还为各方提供了一个平台,以便分享经验、讨论安全相关问题,并启动Secure 流程。此外,他们还会积极参与根本原因分析(RCA),以提升安全态势并防止漏洞反复出现。
安全计划战略
战略重点
OPSWAT的应用程序安全战略计划与其业务优先事项和风险偏好保持一致,同时考虑到每个产品的成熟度及其面临的安全威胁。主要重点是保护高风险产品,特别是那些拥有庞大客户群、面向公众部署或集成到关键基础设施中的产品。
安全预算
研发运营部下的专项安全预算用于关键安全措施和工具,包括第三方审计、独立渗透测试和 CI/CD 管道内的自动安全测试。
自动化和独立验证
为了最大限度地降低产品安全风险,OPSWAT 根据风险评估优先采取预防性安全措施。这包括在 CI/CD 管道协调中集成自动安全扫描,以便在整个开发生命周期中及早发现和修复漏洞。
此外,内部评估、第三方审计和独立渗透测试消除了单点依赖,确保了结构化、多层次的验证流程,从而加强了安全性。这种方法加强了风险识别和缓解工作,确保由独立的安全专业人员全面解决和验证漏洞。
关键基础设施的安全优先次序
保护 在 CIP(关键基础设施保护)方面,安全仍然是最优先考虑的问题,特别是在安全与监管要求或质量属性相冲突的极少数情况下。决策遵循这些指导原则:
- 安全优先于与隐私、环境或可持续发展法规相关的监管冲突。
- 安全性和可靠性高于其他质量属性,如可用性、可维护性和兼容性(根据 ISO/IEC 25010)。
- 在系统可靠性比限制访问更重要的情况下,完整性和可用性优先于保密性(根据 ISO/IEC 27001)。
安全培训和认识
作为Secure 计划”的一部分,除公司常规的安全意识培训外,还要求所有参与安全开发的工作人员必须接受针对其具体岗位的安全培训。所有培训情况均通过公司的培训工具进行记录。公司会定期审查培训和安全意识项目,以纳入最新的安全趋势,并确保持续符合安全标准。
提高认识倡议
- 根据公司的安全倡议,对基础设施和人员进行安全测试。
- 对产品和基础设施进行内部漏洞扫描。
- 每日扫描内部和外部网络。
- 社会工程活动。
针对特定角色的培训
- 为产品团队开展培训活动,内容包括 OWASP Top 10、API 安全测试和云安全培训。
- 为产品团队开展有关下述政策的培训活动。
- 开发人员通过专门的学习平台参加持续的安全编码培训。
入职
- 新员工入职培训包括基于其角色的所有相关安全培训。
- 安全卫士在加入应用安全虚拟团队时要接受专门的入职培训。
衡量与持续改进
OPSWAT 通过结构化的绩效衡量、成熟度评估以及定期更新,持续改进其Secure 计划”,以确保安全措施的持续有效性。
为了保持强大的安全态势,OPSWAT 采用了系统的方法来跟踪和改进安全性能。这包括每季度进行一次产品安全成熟度评估,进行内部安全审查以核实是否符合最佳实践,以及定义年度关键绩效指标(KPI),并每季度对其进行衡量。
为了有效衡量应用程序的安全状况OPSWAT 采用结构化指标OPSWAT 团队OPSWAT 。根据 SAMM 框架,对每个团队的产品安全成熟度进行评估,从而提供可量化的安全进展指标。此外,产品还会接受 ASVS 合规性评估,以确保符合安全验证要求。Secure 流程”的合规性进行密切监控和评估,关键绩效指标(KPI)目标的达成情况以证据为依据,从而确保安全状况和安全改进既可衡量又可付诸行动。 所有产品团队都必须达到安全成熟度目标,这是其年度绩效评估的一部分。
作为持续改进工作的一部分,OPSWAT 定期推出新的产品安全计划,以提高成熟度并加强应用安全。这些措施包括更新安全政策以应对新出现的威胁,整合新的安全工具以加强检测和预防,以及扩大关键绩效指标目标以推动持续进展。
为了进一步加强安全治理OPSWAT 每年OPSWAT 对Secure ”框架OPSWAT 了对以往安全事件根本原因分析的见解、对漏洞趋势的评估,以及对现有流程和政策的优化。
这种持续改进的结构化方法可确保OPSWAT 保持积极主动和弹性的产品安全态势,有效地适应不断变化的网络安全挑战,同时满足监管和运营安全目标。
Secure 软件开发生命周期(Secure )流程
Secure Secure Secure 流程”通过定义团队必须遵循的安全控制措施,进一步推动Secure 计划”的落地实施,其中包括在每个开发阶段开展的具体活动,例如自动化安全检查和验证机制。该流程与其他关键研发计划(如质量保证计划和用户体验计划)保持一致,确保在软件开发过程中采取统一的方法,以实现安全、高质量且以客户为中心的软件开发。
以下各节详细介绍了Secure 开发生命周期(Secure )流程:
Secure 流程”是一个高层次的流程,各团队可在满足流程安全性至少保持在最低要求水平的前提下,以扩展和定制的方式实施该流程。任何偏离Secure )流程”的情况均须记录在案并获得批准。
Secure )计划”下的政策
Secure 计划”包含多项政策,产品团队必须正式批准并确认这些政策,以确保符合其要求。内部必须严格遵守这些政策,每个团队都有责任将其纳入开发流程,并负责审查、签署和实施这些政策。
以下是主要政策及其各自的目的。对于具有外部意义的政策,本文件将纳入更多细节。
| 政策 | 说明 |
|---|---|
| 应用程序安全验证政策 | 本政策详细规定了产品安全性的验证,详情请参见应用程序安全测试与验证部分。 |
| 发布完整性政策 | 该策略定义了代码签名要求,更多详情请参见 "发布完整性 "部分。 |
| SBOM 管理政策 | SBOM 管理策略旨在确保所使用的第三方组件注册表处于最新状态。这是处理第三方法律和安全风险的其他政策的基础。 |
| Supply Chain 安全政策 | 本政策规定了使用开放源码或第三方组件的条件,以及引入新的开放源码或第三方组件的流程,包括供应商评估,详情请参见 "供应商评估 "部分。 |
| 产品Vulnerability Management 政策 | 该政策定义了开源、第三方和内部漏洞的修复时限,并制定了处理所有产品安全补丁的程序。它确保在规定的时限内对漏洞进行评估、确定优先级并加以解决。 |
| 报废组件管理政策 | 报废 (EOL) 组件会带来安全风险,因此不允许在我们的产品中使用。本政策概述了如何管理元件达到报废年限时出现的意外情况。 |
| 产品隐私合规政策 | 该政策规定了产品的隐私合规性要求和适用的适当安全控制。 |
| 恶意软件样本处理政策 | 本政策规定了安全处理实时恶意软件样本的程序,以防止在我们的环境中发生恶意软件事件。 |
| 人工智能使用政策 | 人工智能使用政策限制在开发过程中使用人工智能(AI),以确保客户的安全。人工智能仅作为一种辅助工具,开发人员个人仍对开发过程负全部责任。人工智能工具只能在私人模式下使用,严格防止源代码或其他安全相关信息外泄。 |
| 产品漏洞披露政策 | 本政策界定了漏洞管理的职责分工,涵盖了从检测和修复(如《产品Vulnerability Management 》所述)到协调披露的整个生命周期,更多详情请Secure ”章节。 |
6.Secure 与风险评估
Secure (Secure ”流程的一部分,在整个开发生命周期中,安全要求都会得到跟踪、记录和维护。第三方供应商必须认可并符合 ASVS 标准,以确保所有软件组件在安全要求方面保持一致,并遵守《产品隐私合规政策》。
安全性已融入开发生命周期的每个阶段。安全负责人有责任牢记Secure 生命周期(Secure )流程”的预期要求,并在各自团队中贯彻这些要求。
Secure 需求集包括基于ASVS的功能性和非功能性安全需求。研发运营部门提供了参考模型以支持设计决策,并在必要时对ASVS需求进行记录在案的调整(例如,更严格的加密要求)。
威胁建模
威胁建模是一种结构化的流程,旨在在开发生命周期的最早阶段识别威胁和漏洞。它是Secure (Secure ”流程不可或缺的一部分,应定期进行——至少每年一次,或在引入新功能或架构变更时进行。产品团队通过定义安全目标、识别资产和依赖关系、分析潜在攻击场景以及缓解已识别的威胁来实施威胁建模。
增强型方法结合了数据流分析和成熟的威胁建模实践(如 STRIDE 模型),确保对所有产品进行全面评估。必要时,会启动安全审查,以验证是否符合安全要求,并积极应对潜在风险。设计决策会被仔细记录下来,并在整个产品生命周期内持续跟踪任何遗留风险。
风险评估与缓解
应用程序安全风险通过多种来源进行评估,包括威胁建模过程中发现的残余威胁、公认的安全漏洞(如 OWASP Top 10 和 SANS Top 25 中的漏洞),以及基于 ASVS 指南的安全控制缺失。其他风险因素包括整个构建、部署和发布流程中的秘密管理薄弱环节,以及开源和第三方组件中的漏洞。
在风险评估之后,将制定减轻风险计划,以降低已确定风险的严重性,同时考虑到影响和可能性。这些计划以及相应的风险和缓解步骤都会被完整地记录下来。
残余风险在整个产品生命周期内都会被跟踪,并接受定期审查,而且必须得到风险所有者的正式确认。这些风险还被纳入内部发布报告,以保持可见性和责任性。
必要时,会启动安全审查,以确保符合安全要求,并主动应对潜在风险,加强产品的整体安全态势。
Secure 最佳实践
Secure 原则是一系列理想的产品特性、行为、设计和实现实践的集合。
产品团队必须应用与安全功能相关的原则,例如“最小权限原则”、“安全故障原则”、“建立Secure ”以及“最小公共机制”。
产品团队必须应用与安全软件架构相关的原则,如深度防御、开放设计原则、充分利用现有组件。
产品团队应在设计中应用与用户体验相关的原则,如心理可接受性和机制经济性,以与用户体验计划保持一致。
产品团队必须遵循这些原则和所有其他必要的最先进原则,以防止架构和安全或非安全功能出现安全漏洞。
为了支持产品团队落实Secure 原则”,研发运营部门根据这些原则制定了多项指南,并针对关键安全功能提供了安全参考模型。
产品团队需要根据质量保证计划制定安全测试计划,为功能性和非功能性安全要求定义安全测试案例,包括误用和滥用案例测试、测试数据,包括攻击模式(如基于 DOM 的跨站点脚本、跨站点脚本注入)和测试工具。
7.Secure 、构建和部署
作为Secure 流程的一部分,包括实施、构建和部署,旨在基于Secure 和风险评估来防范漏洞和缺陷。该需求集包含对基于ASVS的功能性和非功能性安全要求,以及依托Secure 环境的安全开发和测试方法论的预期。
在实施过程中,应应用Secure 最佳实践、Secure 审查以及安全漏洞的早期检测。各团队必须遵守《Supply Chain 政策》(包括供应商入驻和开源软件相关内容)、《人工智能使用政策》以及《恶意软件样本处理政策》。在构建和部署过程中,必须Secure 和部署方式,使用集中式的 CI/CD 管道,并落实职责分离原则。
Secure 最佳实践
在实施过程中,产品团队必须遵循与语言无关的安全编码最佳实践。他们必须验证输入数据、对发送到其他系统的数据进行消毒、消除编译器警告、设置安全错误信息、在适用情况下应用输出编码、在不暴露敏感数据的情况下实施安全日志记录,并遵循正确的错误处理和异常管理准则。团队还必须确保加密技术(如果使用)依赖于经批准的算法和安全的随机数生成,并通过安全地处理内存、防止竞赛条件和通过适当的同步避免死锁来安全地管理系统资源。
此外,还建议产品团队遵循由 SAST 工具执行的特定语言安全编码指南,如下所示:
对于Java,团队应确保比较操作中使用的密钥不可变,使用 SecureRandom 而不是 Random,并通过验证或限制输入类来避免不安全的反序列化。
在C++ 中,建议检测和处理内存分配错误,通过边界检查和使用智能指针(如 std::unique_ptr())来防止缓冲区溢出,并避免使用不安全的函数(如 strcpy() 和 sprintf())。
对于Python,开发人员应避免使用 eval() 或 exec() 等函数,以降低代码注入风险,并在处理不受信任的数据时,优先使用 json 模块等安全序列化格式,而不是 pickle。
Secure 审查
作为《应用程序安全验证政策》所要求的安 全审查的一部分,安全代码审查至关重要,其实施需根据开发技术而定,并依据OWASP速查表系列应用Secure 审查检查表。
早期发现安全漏洞
根据应用程序安全验证政策的要求,及早发现安全漏洞是开发流程的关键组成部分。为了最大限度地减少潜在的安全问题,必须采用 "无法构建 "的方法,确保不安全的代码不会通过管道。此外,还强制执行 "合并失败 "方法,要求团队在整合变更之前修复任何检测到的问题。解决检测到的缺陷对于达到发布标准至关重要。
Secure 与部署
作为Secure 流程的一部分,必须使用集中化、协调一致的持续集成/持续交付(CI/CD)管道,以确保构建安全并防范供应链攻击。审计、构建和部署日志将按照公司安全政策的规定进行生成、保存和审查。
每个产品团队都有责任在适用情况下遵循安全的构建和编译器配置。他们必须使用安全编译器选项、禁用调试代码、加固解释型语言的运行时、固定依赖版本、确保可重复构建,并加固容器映像。所使用的配置必须记录在案并定期审查。
根据职责分离原则,开发人员和其他拥有代码或构建权限的团队成员不能访问生产环境。对于云产品,只有产品的现场可靠性工程师才能部署到生产环境中。
利用现有组件
对于特定的安全功能(例如符合 FIPS 140-3 标准的加密技术),产品团队坚持采用行业最佳实践。为了与开放式设计原则保持一致,我们为这些安全功能使用了广为接受的开源组件。
为确保第三方组件保持最新状态,我们遵守我们的 "报废组件管理政策"。
内部开发的组件,无论是供内部使用还是作为其他产品的子组件,都必须遵循Secure )流程”,并满足相同的安全要求。
我们的云产品利用内部开发的通用组件来实现特定的安全功能。
8.应用程序安全测试与验证
根据我们的《应用程序安全验证政策》,我们会对发现的问题进行正式记录和跟踪,并部署自动化工具进行持续验证。Secure ”流程的一部分,在软件开发生命周期的每个阶段都会执行并跟踪安全检查,以满足合规要求。这些措施旨在高效地发现潜在的安全漏洞。出现的安 全问题将由相关团队进行调查,并在规定时限内予以解决。这些时限是既定安全关键绩效指标(KPI)的一部分。
安全评论
- 架构和设计审查:高级工程师和应用安全虚拟团队成员对设计变更中的安全方面进行评估,包括加密、验证、授权、审计、系统加固、系统和网络架构。
- 代码审查: 在同行和高级工程师定期审查代码的基础上,应用程序安全虚拟团队的成员还会审查更改,以防止常见缺陷,如注入、错误处理和不安全配置。
及早发现安全问题
- 秘密扫描,避免秘密外泄,确保秘密处理的良好设计和安全实施。
- 用于检测漏洞(如 SQL 注入、缓冲区溢出)的SAST(静态应用程序安全测试)工具。
- SCA(Software 构成分析)用于检测开源漏洞。
- DAST(动态应用程序安全测试)用于发现运行时(如内存缺陷)和环境问题
在 CI/CD 管道中必须使用 "安全问题的早期检测 "部分中定义的工具。所有发现的漏洞都必须按照产品Vulnerability Management 进行修复。
安全测试
自动和手动安全测试方法的使用与执行安全测试计划的质量保证计划相一致。
- DAST 工具 用于检测运行时的漏洞、测试默认配置,以及测试应用加固建议后的系统恢复能力。这些测试同时针对软件和底层基础设施。
- 为避免安全要求和功能出现倒退,我们使用自动测试工具不断验证安全功能和控制措施的完整性。
- 人工测试 适用于自动化工具不足的地方,如验证信息泄漏控制、识别业务逻辑缺陷和上下文漏洞。
- 对开发生命周期中的工件进行自动恶意软件扫描,也是预防安全问题步骤的一部分。
渗透测试
渗透测试由内部渗透测试团队和独立的外部供应商定期按需进行。安全主管会对发现的漏洞进行分流,以确定是否需要更改代码或配置。对于需要更改代码的漏洞,会创建产品积压,并尽快解决。
个别产品的渗透测试报告可按需提供给我们的客户。联系我们
9.Secure
Secure 的一部分,发布流程会根据应用程序安全测试和验证的结果,强制执行发布标准,以确保既符合Secure 流程”的要求,又能保障产品的整体安全性。产品版本管理在保持各版本间的安全改进、防止安全相关的回归问题以及维持已实现的安全状态方面发挥着至关重要的作用,这是每次发布的基本要求。
发布流程包括生成内部发布报告,记录残余风险和任何悬而未决的安全问题。这些报告必须由产品负责人正式批准。此外,作为产品正式发布的一部分,外部发布说明会传达与安全相关的更改和修复。
对于云产品,部署遵循 "部署失败 "自动化方法,确保只发布安全的构建。应用安全测试和验证被集成到部署管道中,采用操作拉动策略而不是推送策略,在生产部署前加强安全验证。
根据 SBOM 管理政策,每个版本都包含一个Software Bill of Materials (SBOM) ,以保持组件来源的可追溯性,支持透明度和供应链安全。所有必要的发布文件都被安全存档,以确保长期可访问性。
发布完整性
根据 "发布完整性政策",为维护产品发布的完整性和安全性,我们采用了结构化版本系统(如语义版本系统),以确保变更的清晰可追溯性,并为包括文档在内的所有发布成果规定了明确的保留期限。为进一步提高安全性,软件产品均以公司名义进行数字签名,并公布 SHA 指纹,以便用户验证真实性并检测任何篡改企图。
每个版本都附有版本化文档 ,提供有关完整性验证方法、安全安装程序、配置最佳实践和系统加固措施的详细指导。这些资源可帮助用户有效实施安全控制,减少潜在的攻击面。此外,还包括最终用户许可协议(EULA),以确定合规义务并保持法律透明度。
个别产品的 SBOM 可按需提供给我们的客户。请联系我们。

10.Secure 与维护
作为运营与维护环节中Secure 流程”的一部分,所有产品和服务必须遵守公司安全政策,包括遵循《安全事件响应计划》,并在适用情况下遵循《业务连续性计划》(BCP)。
云生产环境的运行由网站可靠性工程 (SRE) 团队负责。根据职责分离原则,能够访问生产环境的 SRE 团队成员不能访问开发环境,包括源代码和构建管道。
根据 "报废组件管理政策",SRE 团队不断用安全补丁更新基础设施,并根据供应商提供或产品团队交付的长期支持 (LTS) 版本进行升级。
我们遵守产品漏洞披露政策,该政策规定了管理安全漏洞的角色和责任。
SRE 团队对影响产品的安全事件进行分流,必要时让安全拥护者参与其中。
该政策以产品Vulnerability Management 政策为基础,通过纳入以下内容扩展了研发补救流程:
- 外部漏洞和事件报告,确保及时处理报告的问题。
- 内部事件报告,必要时根据严重程度触发。
- 在发生任何重大或经常性的安全事件后,都必须进行 RCA,以确定经常性的问题并防止未来出现漏洞。
- Secure 更新,在必要时实施以加强安全措施。
- 一旦修复完成,就会协调披露漏洞,确保透明度。
报告外部发现的漏洞。联系我们
11.Secure 环境
开发、测试和生产环境被安全地分开,以防止未经授权的访问。每个环境都遵循严格的加固基线和端点安全协议。开发环境必须符合公司的安全政策。
Endpoint 保护
作为端点保护的一部分,对OPSWAT 拥有的所有设备进行监控,以发现漏洞、安装的软件、安装的补丁以及是否符合公司安全政策。如果出现违规情况,将采取限制措施,限制对公司资源的访问。
被列为高风险类别的资源只能通过受控访问路径(VPN)访问。公司网络之外的设备必须使用安全通道访问研发资源。
管道安全
CI/CD 管道安全遵循严格的安全指令,以减轻不断变化的威胁。威胁的源头可能是过时的基础架构元素(如操作系统、分析工具等)、因权限控制薄弱而导致的未经授权的访问以及隔离不佳的环境。保持 CI/CD 基础架构的及时更新、彻底审查和严格控制是我们安全 SDLC 的基石。
从地区上看,所有集中式服务都使用美国服务器,包括代码存储、CI/CD 管道、分析和测试工具以及安全工件签名。所有集中式工具的配置均由研发运营部控制。
我们采用强大的身份验证机制(多因素身份验证 - MFA)和授权控制(基于角色的访问控制 - RBAC)。我们实行最低权限和定期访问审查。
我们的管道集成了多种分析和测试自动化工具,包括静态应用安全测试 (SAST)、Software 构成分析 (SCA)、动态应用安全测试 (DAST)、秘密扫描和恶意软件扫描。
在我们的安全代码签名解决方案中,我们使用Hardware 模块(HSM)来保护密钥材料,防止未经授权的访问,并生成签名。签名解决方案是 CI/CD 基础设施的一部分,但网络分隔已经到位。只有研发运营部门有权短时间访问 HSM。每个签名操作都会被记录下来,并可在审计跟踪中进行审查。
用于构建、编译或测试软件的工具集必须具备溯源信息,并来自经过验证的来源。CI/CD 管道中使用的工具数量有限;仅安装必要的工具。管道中的编译和构建步骤仅允许使用 LTS 软件。在集中式服务的运行过程中,已明确规定定期维护和密钥轮换周期。内部开发的工具须遵循Secure ”流程。
所有集中式服务的环境加固都是持续性的,并定期审查这些安全要求。加固指南会传达给产品团队,以确保他们做好准备,并可相应调整其开发流程。一旦发生安全事故,将进行 RCA 以采取预防措施并更新这些要求。
代码保护
保护源代码是软件开发的关键部分,以确保公司内部源代码的保密性和完整性。
源代码的存储遵循最小权限原则,只允许经授权的人员和工具访问。源代码受版本控制。版本控制管理系统确保代码更改的可追溯性和责任性。源代码存储采用符合 FIPS 140-3 标准的加密技术,并以适当的密钥长度进行保护。
供应商评估
作为我们供应商入职流程的一部分,供应商必须接受制裁检查。作为我们与供应商签订的合同的一部分,他们也有义务在整个合同期内保持合规性,包括在适用情况下根据 EAR(出口管理条例)保持足够的出口许可证。供应商评估流程可能包括评估清单、安全和隐私审查以及第三方审计和认证审查。对关键供应商至少每年进行一次审查和评估。任何不符合我们期望的情况都会被跟踪,并在这种情况下进行风险评估。
12.关闭
Secure 软件开发生命周期(Secure )的内部应用
所有内部团队都必须遵守本政策。本文件从属于公司政策,也就是说,如果出现任何矛盾,则以公司政策为准,必须遵照执行。
Secure )违规的上报流程:任何违反本政策的行为均由内部处理,首先由研发运营部门负责,必要时上报至首席产品官(CPO)。
针对供应商Secure )要求
为ISO 27001、SOC2、NIST SSDF适用范围内的产品提供组件或服务的供应商,应遵守《Secure 框架》(Secure Framework)中概述的以下要求。合规情况将接受定期安全审计、第三方评估,并受已签署合同中各方的义务约束。
所有供应商都必须按照 "发布完整性 "部分的规定,提供出处和完整性信息以及证明文件。
产品组件和库供应商必须建立符合Secure 环境”一节所述实践的开发环境。他们必须按照“应用程序安全测试与验证”一节所述,对其组件和库进行安全测试。
管道组件供应商还必须建立符合Secure ”一节中所述我们实践要求的开发环境。此外,其开发流程必须符合OPSWAT Secure 流程。
服务供应商应使用位于美国境内的环境,其安全水平应OPSWAT的服务相当。其Secure )必须同时包含OPSWAT要求的Secure 计划”和Secure 流程”。
Secure )为客户带来的好处
OPSWAT Secure 框架”完全符合监管要求和行业最佳实践,确保了安全、可靠且透明的开发流程。
作为关键基础设施保护领域的领导者OPSWAT 在Secure )和应用程序安全方面达到最高成熟度水平,从而为客户提供以下优势:
- 更安全的软件产品,将最大限度地减少利用和漏洞
- 降低与安全漏洞和声誉损失相关的风险
- 帮助客户遵守企业安全政策
