美国“加强软件供应链安全实践的指南”

VSole2021-12-03 12:25:37

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任务与行政令要求的对应关系

软件软件安全
本作品采用《CC 协议》,转载必须注明作者和本文链接
随着 5G、云计算、人工智能、大数据、区块链等技术的日新月异,数字化转型进程逐步推进,软件已经成为日常生产生活必备要素之一,渗透到各个行业和领域。
软件供应链安全风险解析 随着互联网的迅猛发展,软件供应链安全事件近年来频繁发生。软件供应链安全具有威胁对象种类多、极端隐蔽、涉及纬度广、攻击成本低回报高、检测困难等特性。软件供应链中的任意环节遭受攻击,都会引起连锁反应,甚至威胁到国家网络安全。
由中国信通院指导、悬镜安全主办的中国首届DevSecOps敏捷安全大会(DSO 2021)现场,《软件供应链安全白皮书(2021)》正式发布。
安全要求》给出了软件供应链安全保护目标,规定了软件供应链组织管理和供应活动管理的安全要求;适用于指导软件供应链中的需方、供方开展组织管理和供应活动管理,可为第三方机构开展软件供应链安全测试和评估提供依据,也可为主管监管部门提供参考。
随着 5G、云计算、人工智能、大数据、区块链等技术的日新月异,数字化转型进程逐步推进,软件已经成为日常生产生活必备要素之一,渗透到各个行业和领域。容器、中间件、微服务等技术的演进推动软件行业快速发展,同时带来软件设计开发复杂度不断提升,软件供应链也愈发复杂,全链路安全防护难度不断加大。近年来,软件供应链安全事件频发,对于用户隐私、财产安全乃至国家安全造成重大威胁,自动化安全工具是进行软件供应链安全
随着容器、微服务等新技术日新月异,开源软件成为业界主流形态,软件行业快速发展。但同时,软件供应链也越来越趋于复杂化和多样化,软件供应链安全风险不断加剧,针对软件供应链薄弱环节的网络攻击随之增加,软件供应链成为影响软件安全的关键因素之一。近年来,全球针对软件供应链的安全事件频发,影响巨大,软件供应链安全已然成为一个全球性问题。全面、高效地保障软件供应链的安全对于我国软件行业发展、数字化进程推进具有重
随着软件技术的飞速发展和软件开发技术的不断进步,软件开发和集成过程中常会应用第三方软件产品或开源组件,其供应链中软件安全性和可靠性逐步成为软件产业面临的重要安全问题。近年来大量涌现的软件供应链安全事件则具有不同的特点,攻击软件供应链相较于攻击软件本身,难度和成本显著降低,影响范围一般显著扩大,并且由于攻击发生后被供应链上的多次传递所掩盖,难以被现有的计算机系统安全防范措施识别和处理。
针对软件供应链的网络攻击,常常利用系统固有安全漏洞,或者预置的软件后门开展攻击活动,并通过软件供应链形成的网链结构将攻击效果向下游传播给供应链中所有参与者。近年来,软件供应链网络攻击事件频发,影响越来越大。据 Accenture 公司调查,2016 年 60% 以上的网络攻击是供应链攻击。装备软件供应链安全事关国家安全、军队安全,一旦出现安全风险将会给国家和军队带来重大安全挑战,产生的后果不堪设想。
尤其是SolarWinds 事件,爆发之迅猛,波及面之大,社会影响之深,潜在威胁之严重,令世界为之震惊,堪称过去近十年来最重大的网络安全事件。据美国司法部披露,黑客已向其内部邮件系统渗透,受影响人数多达司法部员工邮件账户总数的三分之一,其第二阶段重大受害机构之一。
VSole
网络安全专家