据英国旅游业培训网站“旅游教师”(Tourism Teacher)介绍,尽管南非、巴西、印尼和非洲的一些国家也有类似的贫民窟旅游项目,但印度已成为贫民窟旅游的首选目的地。电影《贫民窟的百万富翁》将印度贫民窟推向全球,该项目吸引了大量关注,每年约有1.5万名游客参观印度的拉维贫民窟(Dharavi)。
2022年新春大礼包 | 2021年新春大礼包 | 2019学术大礼包丨2018学术大礼包丨2017不可以错过的重磅报告 丨加入学术plus
编者按:2024年,美国《网络安全与信息系统信息分析中心(CSIAC)杂志》发表封面文章《面向软件供应链安全的纵深防御层次化方法》(A Defense-in-Depth and Layered Approach to Software Supply Chain Security)。该文章重点探讨了有效整合软件供应链框架、美国国家标准与技术研究院(NIST)的“网络安全框架”(Cybersecurity Framework,CSF)和人工智能,构建真正全面的“纵深防御”软件供应链安全方法。文章认为,在新兴人工智能和机器学习的国防网络安全应用中,保护软件供应链安全可能是最有前途的应用之一。
【AI专题】基于人工智能的软件供应链安全深层防御方法
作者:查迪·萨利比(CHADI SALIBY)
编译:学术plus高级观察员 大林
内容主要整理自外文网站相关资料
仅供学习参考,欢迎交流指正!
文章观点不代表本机构立场
*****
2022年6月成立的美国国防部(DoD)首席数字化与人工智能办公室(Chief Digital and Artificial Intelligence Office,CDAO)在探索将人工智能和机器学习工具应用于数字工程和网络供应链分析时提出:为确保关键的军事和国土安全软件供应链安全,应广泛使用本地、分布式、网络和终端数据对基于人工智能的供应链分析工具进行训练,提升发现供应链安全威胁和漏洞的能力。
一、软件供应链攻击的影响日益深远
软件供应链是指由第三方软件模块、库和组件构建的集合,以及开发和组装软件发行版本所涉及的过程,它构成了“所有关于软件信息的网络”,包括:硬件、操作系统和云服务、软件源代码(如注册表、GitHub存储库、代码库或其他开源项目)、以及代码编写者。如今,软件企业往往精心设计产品,依靠广泛的软件社区合作实现更高效、更人性化和可互操作的基线产品。软件开发者利用来自外部的可互连的代码库和模块进行开发,实现加密、身份验证和访问网络等不同功能。
这种开发模式在提升软件开发效率的同时,也易引入许多有害的漏洞和弱点,而用户对如何理解和确保此类软件的安全性知之甚少。更为重要的是,软件开发者需要通过对软件开发过程的依赖性分析,发现哪些被渗透的代码导致所构建软件产品基线中的大量的关联的漏洞(参见图1)。软件供应链的安全性分析对确保最终软件产品免受后门(无论是隐藏的还是无意中引入的)或其他漏洞等恶意因素影响至关重要。遭破坏的软件供应链将产生广泛影响,其可能同时涉及诸多用户。
图1 企业对其软件供应链的可见性、理解和把控随开发社区层级与广泛度的增加而降低
(来源:NIST )
2020年,美国多个联邦政府系统使用的“太阳风(SolarWinds)”网络监控管理平台遭受软件供应链攻击,被美国政府问责局(GAO)称为“有史以来针对联邦政府和私营部门进行的最广泛和最复杂的黑客活动之一”。威胁行为者通过将恶意后门代码注入常规软件更新包来破坏SolarWinds的“Orion”信息技术管理套件(如图2),从而监控受影响的系统,获取信息并改变“指挥和控制”活动。更糟糕的是,SolarWinds平台在被入侵后近12个月时间里并未发现遭入侵。
图2 GAO描述了2020年威胁行为者如何利用SolarWinds的Orion软件(来源:美国GAO)
软件供应链是美国公私部门广泛使用的应用程序和系统不可或缺的一部分,保护其免受黑客攻击或敌对入侵是国家安全关键目标之一。美国2023年7月发布的《国家网络安全战略实施计划》详细提出几项联邦举措,旨在通过构建更加“透明、安全、有弹性和值得信赖”的数字生态系统来减轻公私部门的软件供应链风险。从某种程度上说,这些举措旨在通过确保联邦实体和承包商遵循“网络安全供应链风险管理”(Supply Chain Risk Management,C-SCRM)的最佳实践,增加对国际软件供应商的信任。美国国防部同样重视保护军用软件供应链。负责维护的助理国防部长办公室最近将软件供应链漏洞发现列为促进采购安全的关键活动之一,并描述了美国国防工业基地中现有的源代码缺陷。国防部首席信息官办公室也在致力于确定企业范围的网络供应链风险管理战略,以指导整个国防部的软件供应链保护行动。
二、人工智能为应对软件供应链安全提供新思路
美国政府内供应链复杂多样,其依赖于庞大而多样化的软件组件供应商和供应商网络,这为保护政府使用的软件组件带来了一系列挑战:
软件供应链对联邦实体而言常常缺乏完全的可见性,包括组件来源、完整性和安全性。由于缺乏可见性,识别和防范潜在风险和漏洞变得更具挑战性。
依赖第三方供应商会在所提供软件组件的安全实践和完整性方面带来风险。
软件供应链的关键弱点之一是持续依赖过时的系统和软件,其中大部分尚未迁移或更新到新的更安全的系统。这些系统通常存在已知漏洞或缺乏必要的安全更新,使其成为对攻击者具有吸引力的目标。
遵守严格的安全标准并提供安全的软件给供应商带来了挑战。NIST CSF、C-SCRM和风险管理框架(RMF)提出的控制和合规性要求,增加了软件供应链安全性的复杂程度。确保供应链安全性、完整性、合规性是具有挑战性并需要大量手动流程。
组织资源限制和网络安全专业知识素养缺乏等挑战将增加有效管理和保护软件供应链的难度,并阻碍强大安全措施的实施。
应对上述挑战需要整合技术解决方案、强大的安全实践、相关方协作以及遵守行业标准。软件供应链的软件组件提供商应探索采用层次化的纵深防御方法、基于行为的人工智能检测,并结合先进软件框架、区块链和治理合规框架实现安全目标。
保护软件供应链需采用有针对性的预防潜在攻击的策略,可通过建立基线和持续实施强有力的行为监控实践加以实现。后者涉及使用人工智能模型预测、推断、关联和确定软件供应链中可能的弱点、渗透途径和攻击向量。在NIST网络安全框架(CSF)中,“识别”功能下的“供应链风险管理”类别(ID.SC)中的五个子类别的行动列出了C-SCRM所需的关键最小化或基线行动,这对某些联邦机构而言是强制性要求(见表1)。将人工智能纳入C-SCRM最佳实践可扩展现有框架的使用,这些框架声称提供“最后一英里”安全性,以检测遭渗透软件供应链中业已存在的漏洞。
表1 NIST网络安全框架“识别”功能下的组织供应链风险管理指南(来源:NIST)
类别
子类别
信息参考
供应链风险管理(ID.SC):建立组织的优先级、约束、风险容忍度和假设,并用于支持与管理供应链风险相关的风险决策。该组织已经建立并实施了识别、评估和管理供应链风险的流程。
ID.SC-1:网络供应链风险管理流程由组织利益相关方识别、建立、评估、管理和同意。
CIS CSC 4
COBIT 5 APO10.01, APO10.04, APO12.04,APO12.05, APO13.02, BAI01.03, BAI02.03, BAI04.02
ISA 62443-2-1:2009 4.3.4.2 ISO/IEC 27001:2013 A.15.1.1, A.15.1.2, A.15.1.3, A.15.2.1, A.15.2.2
NIST SP 800-53 Rev. 4 SA-9, SA-12, PM-9
ID.SC-2:使用网络供应链风险评估流程识别信息系统、组件和服务的供应商和第三方合作伙伴,确定其优先级并对其进行评估。
COBIT 5 APO10.01, APO10.02, APO10.04, APO10.05,APO12.01, APO12.02, APO12.03, APO12.04,APO12.05, APO12.06, APO13.02, BAI02.03
ISA 62443-2-1:2009 4.2.3.1, 4.2.3.2, 4.2.3.3, 4.2.3.4,4.2.3.6, 4.2.3.8, 4.2.3.9, 4.2.3.10, 4.2.3.12, 4.2.3.13,4.2.3.14
ISO/IEC 27001:2013 A.15.2.1, A.15.2.2
NIST SP 800-53 Rev. 4 RA-2, RA-3, SA-12, SA-14,SA-15, PM-9
ID.SC-3:与供应商和第三方合作伙伴签订的合同,实施旨在实现组织网络安全计划和网络供应链风险管理计划目标的适当措施。
COBIT 5 APO10.01, APO10.02, APO10.03,APO10.04, APO10.05
ISA 62443-2-1:2009 4.3.2.6.4, 4.3.2.6.7
ISO/IEC 27001:2013 A.15.1.1, A.15.1.2, A.15.1.3
NIST SP 800-53 Rev. 4 SA-9, SA-11, SA-12, PM-9
ID.SC-4:使用审核、测试结果或其他形式的评估对供应商和第三方合作伙伴进行例行评估,以确认其是否履行了合同义务。
COBIT 5 APO10.01, APO10.03, APO10.04,APO10.05, MEA01.01, MEA01.02, MEA01.03,MEA01.04, MEA01.05
ISA 62443-2-1:2009 4.3.2.6.7
ISA 62443-3-3:2013 SR 6.1
ISO/IEC 27001:2013 A.15.2.1, A.15.2.2
NIST SP 800-53 Rev. 4 AU-2, AU-6, AU-12, AU-16,PS-7, SA-9, SA-12
ID.SC-5:与供应商和第三方提供商共同制定响应恢复计划和测试。
CIS CSC 19, 20
COBIT 5 DSS04.04
ISA 62443-2-1:2009 4.3.2.5.7, 4.3.4.5.11
ISA 62443-3-3:2013 SR 2.8, SR 3.3, SR.6.1, SR 7.3,SR 7.4
ISO/IEC 27001:2013 A.17.1.3
NIST SP 800-53 Rev. 4 CP-2, CP-4, IR-3, IR-4, IR-6,IR-8, IR-9
三、基于人工智能实现软件供应链安全纵深防御
建立验证整个软件供应链中组件的完整性和真实性的机制是任何依赖来自多个第三方提供商的软件企业的目标。现有的软件供应链安全方法存在差距,需要制定全面的纵深防御策略,该策略涉及层次化软件框架以实现以下目标:
改进软件工件的元数据编目(例如,在工件上实现TUF框架和/或in-toto框架)(译注:TUF是一个开源程序更新框架;in-toto是一个开源的供应链安全管理框架,详情见后)
在基于行为的检测中使用人工智能(即使用人工智能模型来识别软件供应链中的异常点和入侵点)
实施私有或公共区块链,作为不可篡改的电子数据结构,以实现软件供应链组件的链上和链下比较;
与NIST CSF供应链管理部分建议的最佳实践(ID.SC)保持一致。
在软件供应链的每一层中协同化应用上述策略,可实现软件供应链的重大改进,全面提升软件供应链的安全性。这些集成措施提供了更好的保护,防止混合和匹配攻击、恶意镜像和密钥泄露漏洞(例如,单个密钥或密钥阈值)。对分层软件供应链安全性的支持涉及实施访问、验证控制和代码更改管理的最佳实践,以保持存储库代码提交的完整性(参见图3)。
图3 安全软件提交过程(来源:美国国家安全局、网络安全与基础设施安全局和国家情报总监办公室)
方法一:人工智能模型
人工智能模型提供了可应用于提高软件供应链安全性的多方面可能。人工智能算法可分析大量数据、检测模式并识别异常情况,从而实现更快、更准确的安全评估。
对于软件供应链,人工智能构成了建议的纵深防御策略的一个层面,提供针对供应链中的软件组件、存储库、软件提供商、国防工业基地系统集成商和其他软件供应链提供商的风险评估。例如,人工智能可以持续评估供应商声誉及其安全记录,提供丰富的信息来源,支撑用户在选择和管理软件供应商时作出明智的决策,并在供应商的信任度低于可接受阈值时向安全运营商发出警报。
人工智能的核心作用是通过集成到当前的工作流程和工具中,实现自动化,同时编排软件供应链中的各种安全流程,包括:主动执行漏洞扫描、威胁检测和事件响应,缩短响应时间并提高工作流程效率。人工智能技术被用于建立行为基线并分析偏差,以帮助识别潜在的安全威胁,包括恶意代码注入、未经授权的访问和异常行为模式(微软公司在这方面进行了积极研究,参阅图4)。人工智能支持软件供应链安全中的预测分析。通过分析历史数据,人工智能模型可以预测潜在的安全风险和漏洞,帮助组织在漏洞出现前主动解决它们。
图4 Gonzalez等2021年文章提出的“异常”工具中的提交检测器组件、数据流和输出概述
预测分析有助于风险评估,识别供应链中的薄弱环节并实施预防措施。人工智能驱动的工具已被用于在整个软件供应链生态系统中收集、分析和共享威胁情报。这些工具通常由以下组件组成:一是通过证明材料进行企业订单管理验证;二是审计跟踪来源(即工件创建、沿袭和修改);三是人员-产品集成软件物料清单(Software Bill of Materials,SBOM)的审计跟踪集成(例如,ActiveState、GitLab和Tenable等产品可以支持此类功能)。向相关方分享可操作的情报,通过协作提高流程效率,并实现更全面的供应链安全方法。人工智能的一个必备能力是识别软件组件/模块/库中的潜在漏洞,以确保符合安全标准,同时推荐安全编码实践。开发安全运营(DevSecOps)渠道可以有效地将人工智能集成到构建过程/开发生命周期中,使组织能够最大限度地减少不良行为者注入供应链漏洞。
人工智能驱动的系统可以实时持续监控软件供应链,检测可疑活动和未经授权的访问。人工智能非常适用于软件供应链的定期自动化安全审计和评估,以识别安全控制中的潜在漏洞、风险和差距(即与RMF、C-SCRM和CSF保持一致)。这使组织能够主动解决潜在的漏洞问题,同时及时获得警报,以促进对安全事件的更快速响应并降低潜在破坏。此外,将人工智能与安全文档工作流集成使用的能力可促进自动完成和更新所需的合规性文档。还可以在安全编排自动化和修复(Security Orchestration Automation and Remediation,SOAR)工具的工作流中设计人工智能,自动执行各种安全流程,减少手动工作并提高效率。漏洞扫描、威胁情报分析和事件响应等任务可以主动集成到SOAR和/或DevSecOps管道中,从而将安全人员从手动密集型工作流程中解放出来,专注于更复杂的问题。
在NIST CSF中“识别”部分的软件供应链管理要求(ID.SC)是C-SCRM建议和RMF中针对软件供应链安全性的最佳实践,为识别、评估和降低供应链漏洞带来的风险提供了指南,适用于以组织内部和各相关方之间的协作、沟通和以文档为中心的治理工作流和过程。
方法二:自动化框架
in-toto框架为保护整个软件供应链提供了开发、构建、测试和打包的流程和规范。它为全供应链中执行的每个操作(包括代码编写、编译、测试和部署)提供完整性和可验证性的证明。该框架通过披露所涉及的步骤和参与者顺序来确保透明度。in-toto框架使用户能够验证每个步骤的预期执行,验证所涉及的参与者,并确保材料(如源代码)在步骤之间保持不被篡改。
TUF框架使开发者能够保护更新的系统免受存储库入侵和针对数字签名的攻击,这些攻击主要集中在签名密钥上。它提供了一种可靠的方法来提供有关软件的信任信息,包括有关工件的元信息。其主要目标是验证存储库中存储的数据源。此外,它还验证工件的更新情况并维护了存储库的一致性,这是确保软件供应链整体完整性和安全性的关键步骤。TUF旨在防止恶意行为,即攻击者操纵软件工件,可能产生编译结果偏差。
方法三:区块链应用
软件供应链依赖于来自各种来源的SBOM数据。对此类元数据的操纵已被证明是软件供应链攻击的一个组成部分。为解决该软件供应链安全漏洞,研究人员建议集成一个私有区块链,以屏蔽黑客改变SBOM条目的能力。区块链的去中心化和不可篡改性通过跟踪软件组件、验证其完整性、增强供应链透明度,为软件供应链安全提供了透明且防篡改的分类账。它提供了一个不可变的去中心化账本,增强了供应链中的信任和问责制。Let’sTrace作为一个案例,结合区块链技术、联邦学习以及TUF和in-toto框架增强软件供应链源代码管理。DeepChain是一个基于智能和区块链技术的软件供应链安全框架,集成了机器学习技术,利用基于区块链网络的共识机制来分析软件工件,检测异常,并识别潜在的安全风险或漏洞,以确保软件供应链活动的不可篡改性和透明性。DeepChain增强的数据隐私和供应链内的安全通信通过增强的可追溯性、改进的安全审计和供应链参与者之间的高效协作,与治理最佳实践保持一致。
四、结论
将人工智能集成到软件供应链安全管理实践中,可切实增强国家安全关键的软件供应链系统的威胁检测、响应能力,提升运营效率和风险评估、网络威胁应对的整体韧性。有效的人工智能系统可以使领导者领先对手发现风险,保护关键系统和敏感信息,显著增强国家网络安全整体态势。通过在软件供应链安全纵深防御的层次化架构中应用人工智能,可提高攻击检测和响应、关键系统保护以及软件供应链完整性维护能力,为增强整体网络安全提供有力支撑。
(全文完)配资炒股服务中心