没有第三方风险管理,安全软件开发生命周期无法实现其目的

格伦达·苏亚雷斯·卡布雷拉
作者: 格伦达·苏亚雷斯·卡布雷拉,CISA, CISSP, CISM, IT质量、风险与合规(QRC)总监 & 皮彻的保安
发表日期: 2023年12月8日

传统上, 软件供应商已经实现了软件开发生命周期(SDLC)管理过程,以确保软件开发实践的结构化和一致的方法, 确保SDLC过程的所有阶段(计划), 设计, 构建, 释放, 维护, 支持和退役)将以受控的方式执行. 而这些程序的实施,达到了高质量的功能性产品, 它们不一定能解决安全问题.

“保护产品”的步骤通常是SDLC过程的附加内容, 在很多组织中, 安全性被视为“最好有”的检查或产品验证过程中的最后一步. 尽管如此,这种对安全的不重视不会长久. 安全性通过设计实践和产品内置的安全特性正在成为, 更频繁地, 软件产品的大型澳门赌场官方下载客户的不可协商的需求. 这是由于第三方软件漏洞的激增以及在过去几年中经历的物化供应链攻击的高影响(例如.g.、SolarWinds、Log4j、3CX、MOVEit).

结果是, 澳门赌场官方下载客户, 尤其是那些购买力和议价能力强的人, 不只是对新事物感兴趣吗, 革命性的软件产品,但也在安全, 安全使用的产品. 软件制造商和供应商, 这意味着安全不再是一种选择,而是“必须拥有”,当你有疑问的时候, 我们应该问自己一个非常简单的问题:如果我们的客户把他们最重要的资产(数据)委托给我们,, 难道我们不应该提供同等级别的安全保障吗, 我们提供给他们的软件产品的可靠性和透明度?

开发具有设计安全性的优秀软件

但是实现安全软件开发生命周期(SSDLC)过程并不是那么简单. The first step is to ask our organization if we are ready to have such process in place; to not just develop great software but do it with security-by-设计 principles in mind. 领导层对安全的承诺在这里变得至关重要. 当有来自高层的参与时, 安全不再是“有就好”的概念,而是一种管理声明, 公司原则, 共享的团队价值, 有形的目标, 细化和规划期间的优先级, 跨SDLC的一组强制性步骤和检查, 管理报告中的KPI/KRI, 等等......。. 当这种情况发生时, 安全不再是单独的“待办事项”,“但它已经融入了我们团队的DNA,我们开始按照我们所做的承诺交付产品, 从证明到证明我们的健壮性, 可靠性, 可持续性和透明度.

2022年2月, NIST发布了安全软件开发框架(SSDF)版本1.1,描述了在SDLC过程的所有阶段中嵌入安全性的建议. 在这个框架中,NIST提出了四组实践:

  1. 组织准备(PO):组织应该确保他们的人员, 过程和技术准备在组织级别执行安全的软件开发.
  2. 保护软件(PS):组织应保护其软件的所有组件免受篡改和未经授权的访问.
  3. 生产安全良好的软件(PW):组织应该生产安全良好的软件,在其发布版本中尽量减少安全漏洞.
  4. 响应漏洞(RV):组织应该识别其软件发布中的剩余漏洞,并做出适当的响应.

所有四组实践都提供了高级原则和潜在的概念示例,以满足安全软件产品应该是什么样子的标准. 在每一个实践中, NIST还涉及我们应该如何管理第三方软件组件引入的安全风险(大约占整个框架的20%)。.

第三方组件的使用, 无论是销售软件还是开源软件(OSS), 随着软件开发澳门赌场官方下载看到面向组件的开发节省了时间并提高了定制软件的质量,它将继续增长. 研究表明,76%的代码库都是如此 通常是OSS代码,这意味着OSS在我们的软件组合中的权重是相当显著的. 但是开源软件和第三方组件, 在一般情况下, 继续被忽视, 或者我们只是继续假设,如果它们被广泛分发和使用, 它们必须安全使用. 因此,当涉及到第三方组件风险时,存在一种错误的安全感. ISACA 2022供应链安全研究报告 调查显示,受访公司:

  • 近五分之一的第三方评估不包括网络安全和隐私评估.
  • 39%的澳门赌场官方下载没有与供应商制定针对网络安全事件的事件响应计划.
  • 49%的受访者表示,他们没有对供应链进行漏洞扫描和渗透测试.
  • 61%的受访者表示,他们的风险评估不包括针对使用人工智能(AI)设备的供应链风险评估。.

然而, 因为最近的软件供应链攻击, 公司正试图更清楚地了解他们的供应链依赖关系,并了解这些给他们的环境带来的风险. 在下一节中, 我想对NIST框架进行扩展,并阐明软件制造商的实践, 作为SSDLC流程的一部分,供应商和客户可以申请有效地管理第三方组件风险:

  1. 在引入第三方组件之前进行目的、可行性和可维护性研究: 就像寻找工具供应商或专业服务一样, 不应低估第三方软件组件采购过程的重要性. 因为这个原因, 制定一些基本规则来选择和执行适当的组件是很重要的:
    • 定义目的:评估多个组件,以确定哪一个最能满足所需的功能. 记录至少三个首选组件的优缺点.
    • 确定可行性:评估开发您自己的功能的成本与. 利用第三方组件,包括短期的和长期的. 评估集成工作的可行性和成本,以及维护这些工作所需的资源.
    • 分析可维护性:经常被忽视, 由于时间紧迫,无法在短期内交付产品, 组件的可维护性应该是决定是否使用它的决定性因素. 要解决的简单问题包括:关于组件是否有足够的文档和支持? 是否有产品路线图? 组件是否定期更新? 我们能跟上所有的更新吗? 我们能够防止遗留组件吗?
  2. 第三方软件组件也应该进行第三方风险评估:
    业务影响评估(BIA)和第三方风险评估(TPRA)已被广泛采用为了解供应商风险的首选方法,并根据供应商是否符合我们的风险偏好姿态来拒绝或接受供应商. 工具和服务的供应商通常是这些练习的对象,而我们自己的软件产品的第三方组件通常是豁免的. 无论是电子邮件发送的应用程序,翻译的解决方案,还是 AI-driven聊天机器人, 在选择供应商时,应该根据安全性和隐私相关标准评估所有类似应用程序的组件. 这些标准可以包括我们的加密需求, 第三方补丁管理和漏洞披露程序, 产品安全事件响应能力, 审核SOC 2报告, ISO 27001适用性声明(soa), 以及数据保护政策审查, 在组织认为重要的其他关键因素中. 应使用导致风险或发现的TPRA来决定是否批准使用某个组件,并对其进行定期审查和跟踪.
  1. 利用软件组合分析(SCA)和SBOM加强安全性:
    就像我们对我们消费的食品的成分感兴趣一样, 对构成软件产品的成分感兴趣可以为我们提供有关安全性的有意义的信息, 它们的遵从性和可维护性. 利用自动化的解决方案,例如软件组合分析(SCA)来分析soms(软件物料清单),可以成为更好地控制我们的软件产品和主动管理供应链风险的良好开端. 取决于格式, 是否是SPDX, CycloneDX或SWID, soms可以为我们提供产品组件的数据来源, 例如制造商名称, 包版本, 授权信息, 漏洞, 包的关系, 服务, 依赖关系, 还有更多. 这样的来源信息可以帮助我们识别许可证冲突和遵从性问题, 安全漏洞, VEX(漏洞利用交换), 文件的完整性, 并潜在地识别“高风险”成分, e.g. 废弃软件(两年或两年以上未更新), 空包(没有源文件), 本机二进制代码(通常与包的类型无关的可执行代码), 可以用作攻击向量). 作为这种分析的结果, 我们可以决定哪些组件必须被批准(黑名单),哪些组件被批准(白名单)。.

    在我们的第三方风险管理程序中使用SBOM,并将其作为SSDLC过程的基础元素,推动了开发人员澳门赌场官方下载之间的透明度, 软件制造商, 供应商, 和客户. 这让我们在防范零日威胁和供应链攻击方面领先一步, 同时帮助我们交付质量更好的可持续软件.

其他重要考虑事项

在保护我们的产品免受供应链攻击的过程中, 如果没有产品负责人(POs)的正式任命,仅仅实施SSDLC政策和第三方风险管理程序是不够的。. 所有权是位于聚合产品级别还是基于组件级别, 组织中必须有人负责产品及其组件的安全端到端生命周期管理.

除了, 所有产品和基础组件的最新库存, 具有指定的风险分类(例如.g.(高、中、低风险),应予以维持. 盘点我们拥有的东西, 尤其是我们赞成或不赞成的东西, 对我们的产品风险前景的可见性是必要的吗, 其复杂性, 如果出了什么问题,对业务的影响.

最后,正如俗话所说,“信任,但要核实。.“如果我们不进行独立审查,以验证其按预期工作,并识别和控制风险,那么一个过程永远不会被标记为有效。. 至少, 高风险产品应该根据预期的安全开发生命周期实践进行审计,并且应该注意它们的第三方组成和依赖关系.

了解表面之下的东西

学会把安全作为设计的关键要素, 构建和实现我们的软件产品是一个需要意识和承诺的过程, 但是,了解第三方组件在实现所需的产品安全级别方面所起的影响是进一步的一步,并不是每个人都准备好了. 如果你真的关心你所提供的产品的质量, 然后检查并挑战表面之下的东西, 多个层次上的关系和依赖关系. 最终的产品总是所有组件的集合, 工作方式, 在其生命周期中涉及的检查和程序, 只有当我们全面了解所有这些方面的弱点和改进机会时,我们才能确保这一点.

额外的资源

ISACA年度报告

2024
复选标记

2023
复选标记

2022
复选标记

2021
复选标记

2020
复选标记