查看原文
其他

美国“加强软件供应链安全实践的指南” (SSDF V1.1草案)解读来了

董国伟 虎符智库 2022-09-24

本文 7513字   阅读约需 22分

2021年5月12日,美国总统拜登签署了“关于改善国家网络安全(EO 14028)”的行政命令,其中第4节“加强软件供应链安全”的(e)条款要求:初步指南发布90天内(不迟于2022年2月6日),NIST应发布加强软件供应链安全实践的指南,并明确了指南需包含的10余项具体内容(表3一二列)。


对此,NIST修订了其2020年4月发布的《安全软件开发框架(SSDF) V1.0》,形成V1.1草案,并于2021年9月30日至11月5日完成公开征求意见。


一、 SSDF基本原则


“安全左移”的理念已得到广泛共识,软件供应链安全保障也常基于软件生命周期模型,但明确详细处理软件安全的SDLC模型却很少,大多是将安全实践添加其中。


SSDF描述了一组基于已有标准、指南和安全软件开发实践的基础可靠的高层级最佳实践,可帮助使用者实现安全软件开发的目标。实践直接或间接(如保护开发环境)涉及软件本身,即框架考虑了软件供应链安全应包括的软件自身及相关生产要素的安全。


SSDF的重点在于实现安全软件开发实践的结果,而没有明确实现它们的工具、技术和机制。SSDF并不要求所有组织具有相同的安全目标和优先级,框架中的建议恰恰反映了软件生产者可能的独特安全预期和软件使用者可能的独特安全需求。每个实践实现的程度和形式根据生产者预期的变化而变化。


 二、SSDF实践分类


SSDF是关于安全软件开发的一组实践,呈现为一张描述实践的表格,可根据需要方便的进行扩充、调整或删减。SSDF V1.1草案共包含4类19项实践(表1一二列):


  • 组织准备(PO):此类实践用来确保已准备好组织层面执行安全软件开发的人员、过程和技术(某些情况下针对单独的项目),共5项,根据行政令要求,新增了实践“软件开发安全环境(PO.5)”;

  • 保护软件(PS):此类实践用来保护软件的所有组件不受篡改和未授权访问,共3项;

  • 生产安全性良好的软件(PW):此类实践用于尽量减少软件发布版本中的安全漏洞,共8项。新草案将原实践“验证第三方软件是否符合安全要求(PW.3)”合并到了PW.4中;

  • 漏洞响应(RV):此类实践用来识别软件版本中的剩余漏洞,适当响应以解决它们,并防止未来发生类似漏洞,共3项。


    表1  SSDF V1.1草案中所有实践和任务

 分析草案所有实践可知,19项实践覆盖了软件供应链安全应包含的软件自身及其生产要素的安全内容,整体框架较为全面:

(1) 框架中实践涉及软件开发生命周期的需求、设计、集成第三方软件、编码、构建、测试源代码和可执行码、漏洞修复响应和分析等各个阶段的安全要求。

(2) 框架中实践考虑到了人员、工具链、开发环境、授权访问、完整性、安全配置等软件生产要素方面的安全和防护手段。


 三、SSDF实践细节


SSDF对每项实践的详细描述包括4个方面:

  • 实践:实践的简介、唯一标识符和解释等;

  • 任务:完成实践所需的一个或多个动作。V1.1草案中共43个(表1第三列,其中粗体的为新增任务,斜体的为从V1.0的其他实践中调整来的任务);

  • 实现示例:可用于实现相应实践的工具、过程或其他方法的示例;

  • 参考:对美机构已有标准指南中相关信息的引用。


表1中新增和调整的任务主要涉及开发环境安全、记录维护安全需求和风险设计决策、与第三方沟通需求、维护组件和依赖项的来源数据、使用标准化安全特性和服务、验证第三方组件等。这些进一步加强了对第三方元素、开发环境的安全管理和对安全实践的复用


表2以PW.4为例,给出了实践的完整描述示例,可看出SSDF的编制参考了较为丰富的文献。


表2 实践详细描述示例


四、与行政令要求的对应关系


SSDF V1.1草案中实践任务与行政令4(e)要求的指南应包含的具体内容之间的详细对应关系如表3所示。可以看出:

(1) 软件供应链安全保障中,使用自动化工具检查已知和未知漏洞并修复依然是核心工作。它涉及框架中18项任务,包括定义检查标准、设计、集成、编码、构建、代码审查和漏洞分析、基线配置、漏洞信息收集、修复等各环节、各要素中与漏洞相关的工作。其中PW.4.4、PW.5.1、PW.7.1、PW.7.2和PW.8.2是检查漏洞的主要任务,多由有经验的安全人员在SAST、SCA、IAST等类型工具的辅助下完成。


(2) 实践“复用安全软件(PW.4)”的任务包括获取或维护安全可靠的内部和第三方组件、验证第三方组件符合组织要求、验证第三方组件的完整性和来源等。这些任务多用于供应链来源、控制和完整性方面的安全要求(3、4、6、10)的应对方案中。其中第三方组件的验证可以使用SCA工具进行。


(3) 新增“开发的安全环境(PO.5)”的两项任务可用于行政令多项要求(1(1)-(6)、2、3、5、6)的应对方案中。这说明在供应链安全中,软件开发环境已成为重点考虑的因素之一。


表3 SSDF任务与行政令要求的对应关系


关于作者



董国伟,奇安信集团代码安全事业部专家,博士,从事网络安全、软件安全、代码审计和漏洞分析相关工作10余年。




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存